【发布时间】:2015-03-09 14:59:57
【问题描述】:
我在理解 iptables 时遇到了一些麻烦。我知道它起到了过滤器的作用,但有些东西没有点击,因为它没有按照我认为的方式工作。首先让我说我正在创建一个白名单,因此所有策略(INPUT、FORWARD、OUTPUT)都默认为 DROP。
我有以下与 SMTP 相关的规则:
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p tcp --dport 25 -j ACCEPT
-A OUTPUT -p tcp --dport 25 -j ACCEPT //needed for receiving?
-A OUTPUT -p tcp --sport 25 -j ACCEPT //needed for sending?
*这 3 行也逐字存在于端口 587 和 465
如果我删除第一个 OUTPUT 行,那么我的服务器将不会收到电子邮件,如果我删除最后一行,它将不会发送电子邮件。我不明白为什么。不应该:
-A INPUT -p tcp --dport 25 -j ACCEPT
-A OUTPUT -p tcp --sport 25 -j ACCEPT
足以让一切通过吗? AFAIK 所有 SMTP 通信都应该超过 25、587 或 465。我目前的理解是 SMTP 数据包应该始终符合这两个规则之一。所有输入数据包都应该到端口 25,所有输出数据包都从 25 发送?我错过了什么?
【问题讨论】: