如何解决iptables调试不再与Debian 10一起使用和iptables-legacy;从Debian 9升级后
我曾经能够使用链PREROUTING
和OUTPUT
(均在表raw
中)和目标TRACE
中的特定规则在Debian 9主机上进行iptables调试并如here所述。触发此类规则后,/var/log/kern.log
中会显示消息。
主机在其boot config文件中具有以下相关条目。显然,在没有CONFIG_IP_NF_TARGET_LOG
或CONFIG_IP6_NF_TARGET_LOG
的情况下,一切正常。 (我对IPv4流量感兴趣。)
CONFIG_NETFILTER_XT_TARGET_TRACE=m
CONFIG_IP_NF_RAW=m
CONFIG_IP6_NF_RAW=m
# CONFIG_IP_NF_TARGET_LOG missing
# CONFIG_IP6_NF_TARGET_LOG missing
CONFIG_NETFILTER_XT_TARGET_LOG=m
到目前为止,我已经将同一主机升级到Debian 10(Buster)。它使用iptables-legacy
(不是默认的iptables-nft
),因为这是在Kubernetes集群的上下文中。
我正在观察的是,相同的规则(例如iptables -t raw -A PREROUTING -d $service_ip -p tcp -j TRACE
;也与$pod_ip
相同)显然不再起作用,因为我在{{ 1}}。
为什么以及如何进一步诊断可能是什么原因?可能是/var/log/kern.log
功能与Debian 10需要不同的启动配置(不同的模块)的情况,还是TRACE
现在以某种方式受到阻碍?
解决方法
现在看来,这种iptables调试实际上在Debian 10下仍然可以正常工作,就像以前在Debian 9下为我所做的那样。
显然,我在重新创建目标Kubernetes service
等之前安装iptables调试规则时犯了一个错误。这样一来,iptable规则和Kubernetes资源就集群IP,节点端口,pod而言是不同步的IP等,因此这些规则从不向那些service
等发送流量。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。