iptables INPUT防止传出邮件和ping

我对INPUT标准政策设置为DROP

但是,由于这种设置,我无法连接到外部邮件主机。 我需要什么规则才能连接到这个外部主机。

请注意, ping也不起作用,虽然这只是为了testing的目的(它不需要工作,但可能有助于find根本问题)。\

编辑

 [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 

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

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

如果没有这个规则,TCP ACK数据包,ICMP echo-r​​eply等会被丢弃,因为你没有规则允许它们。