iptables --sport与--dport。输入与输出

JM

我在理解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端口

如果我删除了第一行输出,那么我的服务器将不会收到电子邮件;如果我删除了最后一行,它将不会发送电子邮件。我不明白是为什么。不应该:

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

足以让一切都通过?AFAIK所有SMTP通信都应该超过25、587或465。我目前的理解是,SMTP数据包应始终与这两个规则之一匹配。所有输入数据包都应到达端口25,所有输出数据包都应从25发送?我想念什么?

振子

对于SMTP,您不需要任何--sport规则。源和目标不取决于方向-它们在数据包的源和目标端口上匹配。每个连接都有一个随机的源端口,因此没有匹配项。

如果我删除了第一行输出,那么我的服务器将不会收到电子邮件;如果我删除了最后一行,它将不会发送电子邮件。

错了 仅INPUT行对于接收电子邮件很重要。同样,只有输出--dport 25可以发送电子邮件。因此,这些规则应该足够了:

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

问题可能是您将OUTPUT设置为默认设置为DROP,但只允许在INPUT上建立连接。通常,人们将OUTPUT缺省设置为ACCEPT。如果要继续将白名单用于OUTPUT,则必须添加:

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

另外,请阅读SMTP端口。您列出的其中一些仅用于电子邮件提交和不建议使用的加密,而对于服务器到服务器的通信则不需要。这可能会改变您计划规则的方式。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

iptables --sport与--dport。输入与输出

来自分类Dev

dport在iptables命令上不起作用

来自分类Dev

iptables输出,选项未知

来自分类Dev

如何使用iptables调节输出流量

来自分类Dev

iptables输出DNAT不起作用

来自分类Dev

Redis-加载数据集是Memory Sport:

来自分类Dev

Sport跟踪WIN-LOSS记录的公式

来自分类Dev

我错误输入了iptables -F,如何撤消?

来自分类Dev

Xamarin Sport应用程序-IsDirty是做什么的?

来自分类Dev

ORA-00904:“ DISCIPLINE”。“ SPORT_NO”:无效的标识符

来自分类Dev

Xamarin Sport应用程序-IsDirty是做什么的?

来自分类Dev

SETEX 中的无效过期时间,sPort:Redis 中的 12702

来自分类Dev

了解iptables

来自分类Dev

iptables的GUI?

来自分类Dev

了解iptables

来自分类Dev

iptables帮助

来自分类Dev

iptables限制

来自分类Dev

IPtables错误

来自分类Dev

还原iptables

来自分类Dev

持久iptables

来自分类Dev

iptables 脚本

来自分类Dev

linux + iptables + / etc / sysconfig / iptables

来自分类Dev

从“ iptables -nvL”命令输出中选择性地删除不必要的列空白吗?

来自分类Dev

iptables:单个端口规则之前的冗余输出ctstate ESTABLISHED,RELATED规则

来自分类Dev

如何将iptables -S输出转换为广度优先列表

来自分类Dev

我正在尝试在用户表中比较sport_id,但是sport_id存储在数组中,我该如何与php进行比较

来自分类Dev

iptables愚蠢的错误(iptables -A INPUT -j ACCEPT)

来自分类Dev

如何从tcpdump输出获取from..to偏移量以与iptables字符串匹配模块一起使用

来自分类Dev

IPv4 iptables阻止了事情,但是输出策略是ACCEPT,我的INPUT DROP链有什么问题?