iptables规则设置

我正在阅读iptables的示例,并且我有一个预先编写的文件,用于满足大部分需求的服务器。 它用来接受端口80上的stream量(对于apache)的格式是:

-A INPUT -p tcp --dport 80 -j ACCEPT 

我读过的另一个网页使用以下格式来接受SMTPstream量

 -A INPUT -p tcp -s 0/0 --sport 1024:65535 -d server.ip.address.here --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT 

这似乎更复杂? 有必要,还是我可以简单地做:

 -A INPUT -p tcp --dport 25 -j ACCEPT 

这个规则更具体,因此在理论上允许更less的连接:

 -A INPUT -p tcp -s 0/0 --sport 1024:65535 -d server.ip.address.here --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT 

通过这个规则,连接需要由一个客户端(端口> = 1024),在一个特定的IP(因此是一个单一的接口)上发起,客户端只能发起一个新的连接或使用一个已经build立的连接。

但是这个更简单的规则,因为不那么具体,允许从任何端口到端口25上的任何接口的任何types的连接。

 -A INPUT -p tcp --dport 25 -j ACCEPT 

请记住,如果您不使用特定的DROP规则或iptables的策略( -P )来强化防火墙以删除所有未明确允许的数据包,则任何接受规则都将毫无用处。