我的设置:
- 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让它发挥作用?