【问题标题】:iptables debugging no longer working with Debian 10 (and iptables-legacy; after upgrading from Debian 9) [closed]iptables 调试不再适用于 Debian 10(和 iptables-legacy;从 Debian 9 升级后)[关闭]
【发布时间】:2020-08-21 20:08:09
【问题描述】:

我曾经能够在 Debian 9 主机上使用链中的特定规则进行 iptables 调试 PREROUTINGOUTPUT(都在表 raw 中)和目标 TRACE 以及如 here 所述。触发此类规则时,消息会显示在 /var/log/kern.log 中。

主机在其boot config 文件中有以下相关条目。在没有CONFIG_IP_NF_TARGET_LOGCONFIG_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 相同)显然不再有效,因为我在/var/log/kern.log 中看不到任何结果消息。

可能是什么原因以及如何进一步诊断?可能是 TRACE 功能需要 Debian 10 的不同引导配置(不同模块),或者 iptables-legacy 现在会以某种方式阻碍?

【问题讨论】:

  • 致“接近者”:对不起,我把这个发给 SO 是个错误。而是用于 unix.stackexchange。不好。

标签: kubernetes debian iptables


【解决方案1】:

现在看来,这种 iptables 调试实际上在 Debian 10 下仍然可以工作,就像以前在 Debian 9 下对我一样。

显然我犯了一个错误,在重新创建目标 Kubernetes services 等之前安装了 iptables 调试规则。这样,iptable 规则和 Kubernetes 资源在集群 IP、节点端口、pod IP 方面不同步,等等,因此规则永远不会因为services 等的流量而触发。

【讨论】:

    猜你喜欢
    • 2016-08-30
    • 1970-01-01
    • 2021-11-08
    • 1970-01-01
    • 1970-01-01
    • 2015-08-29
    • 1970-01-01
    • 2020-09-15
    • 1970-01-01
    相关资源
    最近更新 更多