为什么 iptables 中所有目的地的 ACCEPT all 都不允许端口 8445?

为什么 iptables 中所有目的地的 ACCEPT all 都不允许端口 8445?

我有一个测试服务器,它有以下 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--verboselo

相关内容