我正在阅读 iptables 的示例,并且我有一个预先编写的文件,用于满足我大部分需求的服务器。它用于接受端口 80(用于 apache)上的流量的格式是:
-A INPUT -p tcp --dport 80 -j ACCEPT
我读过的另一个网页使用以下格式接受 SMTP 流量
-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
答案1
该规则更为具体,因此理论上允许更少的连接:
-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(因此是单个接口)上发起,并且客户端只能发起新连接或使用已建立的连接。
但是这个更简单的规则,由于不太具体,允许任何类型的连接,从任何端口,到端口 25 上的任何接口。
-A INPUT -p tcp --dport 25 -j ACCEPT
请记住,如果您不通过使用特定的 DROP 规则或 iptables 的策略(-P
)来丢弃所有未明确允许的数据包来加强防火墙,则任何 ACCEPT 规则都将毫无用处。