Linux 中网络命名空间中的 iptables 保存行为

Linux 中网络命名空间中的 iptables 保存行为

我的设置:

  • Linux 4.16.13-2-ARCH
  • iproute2 4.16.0-1
  • iptables 1.6.2-2

问题: iptables-save 的输出在网络命名空间内为空。如果之前调用了 iptables -L,则 iptables-save 会提供正确的输出。

NOK 案例可以通过以下方式重现:(输出为空)

ip netns add 123 && ip netns exec 123 iptables-save && ip netns del 123

OK案例通过以下方式重现:

ip netns add 123 && ip netns exec 123 iptables -L &>/dev/null && ip netns exec 123 iptables-save && ip netns del 123

并提供默认的 iptables 配置:

# Generated by iptables-save v1.6.2 on Tue Jun 12 10:41:10 2018
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
# Completed on Tue Jun 12 10:41:10 2018

为什么我需要打电话iptables-L让它发挥作用?

相关内容