我的 iptables 和环回接口遇到了一个奇怪的问题。
ifconfig 说:
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
对于 ipv6 和 ipv4 规则,我使用这个:
-A INPUT -i lo -j ACCEPT
对于 ipv6 来说,它工作正常:
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all ::/0 ::/0 state RELATED,ESTABLISHED
ACCEPT all ::1 ::1
但对于 ipv4,它打开所有端口:
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
所需的解决方案存档于:
-A INPUT -s 127.0.0.1 --dst 127.0.0.1 -i lo -j ACCEPT
但是为什么将规则绑定到接口 lo 对 ipv4 不起作用,但对 ipv6 却完美无缺呢?