如何解决NF_INET_LOCAL_IN挂钩不适用于Linux 4.19中的网桥docker
拓扑是
physical x86 server -> linux bridge -> docker(on same x86 server)
流量如下
client -> server -> bridge -> docker
我们有一个内核模块(通过_nf_register_hook
注册),该模块具有nf个钩子,如下所示:
.hook = my_hook,#if LINUX_VERSION_CODE < KERNEL_VERSION(4,9,0)
.owner = THIS_MODULE,#endif
.pf = PF_INET,.hooknum = NF_INET_LOCAL_IN,.priority = NF_IP_PRI_FIRST,
我们发现了一个奇怪的情况(模块已在服务器上加载):
- 对于Linux 3.10,
my_hook
函数可以很好地处理到docker的流量, - 对于Linux 4.19
my_hook
不会触发到docker的流量。
顺便说一句,我们启用
net.bridge.bridge-nf-call-iptables = 1
仅用于记录目的。
看起来与名称空间相关,但是_nf_register_hook
循环所有名称空间。
有人可以给我一些建议吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。