Iptable 规则顺序示例

Iptable 规则顺序示例

我对 IPtables 有疑问。

让我们从我书中的这个例子开始:

您将为接受 EMSTP(端口 465)和 IMAP(端口 993)连接(具有暴露于 Internet 的网络接口 eth1 和暴露于公司网络的另一个网络接口 eth2)的邮件服务器设置什么规则?

我尝试这样回应:

Iptable -A FORWARD  -p  EMSTP, IMAP -s all -i eth1 -m multiport 465,993  state –state  NEW, ESTABILISHED  -j ACCEPT
Iptable -A FORWARD  -p  EMSTP, IMAP -s all -i eth2 -m multiport 465,993  state –state  NEW, ESTABILISHED  -j ACCEPT
  • 我考虑了FORWARD,因为没有指定流量是INPUT还是OUTPUT...所以我使用了通用的输入/输出(FORWARD如果我可以在这种模式下使用)
  • 协议已指定(所以我认为没有问题)
  • 我使用了两个规则,因为我使用了不同的接口,但我认为可以在相同的规则中完成所有操作,只需在同一规则中添加另一个 -i 即可。
  • 对于网络,我认为一个是(互联网),另一个是本地网络(我真的不知道“公司”是什么意思)

我的问题是我的回答是否良好以及是否强制使用这种类型的格式。

我交换规则的顺序有什么变化?

在这种情况下,广告示例:

 Iptable -A FORWARD -j ACCEPT   -i eth1 -p EMSTP, IMAP -s all  -m multiport 465,993  state –state  NEW, ESTABILISHED  

只需交换跳转和界面(-j 和 -i)

有人可以帮忙理解吗?

答案1

首先,一些提醒:

  • -p参数是针对 TCP、UDP、ICMP 等特定协议,而不是 IMAP 等更高级别的协议。

  • OUTPUT 和 INPUT 链用于从机器发出和传入机器的数据包。如果您想过滤转发的数据包(当您的计算机充当网关时),您必须使用FORWARD链。要区分 IN 和 OUT,请使用输入或输出接口以及源和目标 IP

  • ESTABILISHED--> 错字!!! :)

现在,让我们看看您的问题:

您将为接受 EMSTP(端口 465)和 IMAP(端口 993)连接(具有暴露于 Internet 的网络接口 eth1 和暴露于公司网络的另一个网络接口 eth2)的邮件服务器设置什么规则?

这个问题太广泛了,因为它说:

  • 该机器是邮件服务器。
  • 它有两个接口
  • 它必须接受邮件相关协议的连接。

但并不是说两个网络(互联网/企业)都必须接受连接。无论如何,我们假设情况确实如此。

iptables与判别式一起使用:-i用于匹配传入该接口的数据包。由于您希望每个接口都接受流量,因此只需删除-i.前面提到,-p就是指定传输协议。邮件以 TCP 方式工作,因此请使用 ̀ -p tcp`。

因此,您的第一个响应将起作用(减去拼写错误和一些语法错误,这个想法是可以的)。您的最后一个不会导致它允许来自互联网(eth1)的数据包通过您的服务器并进入您的公司网络。

相关内容