iptables INPUT 阻止传出邮件和 ping

iptables INPUT 阻止传出邮件和 ping

我的标准策略INPUT设置为DROP

但是,由于此设置,我无法连接到外部邮件主机。我需要什么规则才能启用到此外部主机的连接?

请注意,这ping也不起作用,尽管这只是为了测试目的(它不需要工作,但可能有助于找到根本问题)。

编辑

[root@webshop ~]# iptables -L -v -n
Chain INPUT (policy DROP 150 packets, 18963 bytes)
 pkts bytes target     prot opt in     out     source               destination
 378K  178M ACCEPT     all  --  *      *       xxxxxxxxxxxxx        0.0.0.0/0
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:56988 state NEW recent: UPDATE seconds: 60 hit_count: 4 name: DEFAULT side: source
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:56988
  628 42832 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           multiport dports 8080,8181
 7682  765K ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           multiport dports 8080,8181

Chain OUTPUT (policy ACCEPT 933 packets, 616K bytes)
 pkts bytes target     prot opt in     out     source               destination

答案1

通信是双向的,您向另一台主机发送查询(通过 OUTPUT),另一台主机响应(通过 INPUT)。您当前的规则会导致所有响应被丢弃。尝试添加以下规则以接受这些响应:

-A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

如果没有此规则,TCP ACK 数据包、ICMP 回显应答等将会被丢弃,因为没有规则允许它们。

相关内容