为什么 iptables 没有阻止任何端口?

为什么 iptables 没有阻止任何端口?

我已经运行了 iptables 并且应用了最新的规则(即我重新启动了服务并且它显示一切“正常”)。

我只使用 system-config-firewall 编辑/定义任何规则,因此我不应该犯手动错误。如果可以避免,我不想手动编辑它。

我以为我已经配置好了,这样我的 Apache 端口80443就打开了,但 Tomcat 监听的端口(即 )没有打开80808443然而,事实并非如此... 我可以在任何机器上毫无问题地浏览它们。

最终我确实希望 Tomcat 端口可访问,但我不明白为什么它们已经可以访问。我原以为我需要明确打开它们。

此外,在我添加规则明确打开它们之前,我的所有邮件端口也都是可以访问的(110,,,,... )同样,我确实希望它们保持打开状态143,但我不明白为什么它们总是打开的?587993995

这是我的 iptables 输出。为什么一切似乎都是开放的?可能是因为没有 OUTPUT 规则?此外,为什么似乎有重复的规则?system-config-firewall 不控制此类重复吗?我该如何清理它?我想只能通过手动编辑...

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1     2834  692K ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
2        5   511 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0
3       14   990 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
4      114  6717 ACCEPT     all  --  eth0   *       0.0.0.0/0            0.0.0.0/0
5        0     0 ACCEPT     all  --  eth1   *       0.0.0.0/0            0.0.0.0/0
6        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
7        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:80
8        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:443
9        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:25
10       0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:993
11       0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:995
12       0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
13       0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:80
14       0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:443
15       0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:993
16       0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:995
17       0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:110
18       0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:143
19       0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:587
20       0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:465
21       0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1        0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
2        0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0
3        0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
4        0     0 ACCEPT     all  --  eth0   *       0.0.0.0/0            0.0.0.0/0
5        0     0 ACCEPT     all  --  eth1   *       0.0.0.0/0            0.0.0.0/0
6        0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT 3208 packets, 1537K bytes)
num   pkts bytes target     prot opt in     out     source               destination

答案1

参见 INPUT 链中的第 3、4 和 5 行 - 这些规则允许来自接口 eth0、eth1 和 lo 的任何端口的任何数据包通过。IPTables 使用 first-match-rule,因此当数据包获得允许/拒绝它的第一个规则时,它将被应用。您应该只设置针对确切端口的规则并拒绝任何其他流量。

相关内容