我有一个测试服务器,它有以下 IPtables 配置:
[root@rhel64 /]# iptables --list
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
当我尝试访问监听端口 8445 的应用程序时,它被拒绝了。一旦我添加了一条规则以专门允许到 8445 的 TCP 流量,我就可以访问它了。我的问题是,如果我有“接受所有 - 任何地方”的规则,为什么上述配置默认不允许端口 8445?
答案1
由于iptables
-L
/命令存在长期的设计缺陷。除非您使用/选项--list
,否则不会显示完整的防火墙规则。一旦您这样做,您将看到该规则接受所有流量 - 在接口上!-v
--verbose
lo