自定义 iptables 链的规则是按照什么顺序进行评估的?

自定义 iptables 链的规则是按照什么顺序进行评估的?

我对 还很陌生iptables。下图显示了根据我目前的理解对链进行评估的顺序。如果这种印象是错误的,请告诉我。

我的问题是,当我这样添加自定义链时,它在下图中的什么位置?

sudo iptables -N MYCHAIN

我知道该命令会在过滤表中创建一个新链,但我不确定这意味着什么。 的规则是在MYCHAIN其他链的规则之前还是之后进行评估?

http://i.imgur.com/aIRS91L.png

答案1

创建 CHAIN 后,您需要添加规则以将流量传递给它。例如

iptables -A INPUT -j MYCHAIN

现在,到达 INPUT 末尾的所有流量都将转到 MYCHAIN。然后,如果流量在 MYCHAIN 中不满足任何条件(或满足但带有 -j RETURN 操作),则继续从它到达 MYCHAIN 的点流动。因此,您的链可以位于图表上的任何位置。

答案2

当内置链中的规则跳转到用户定义链时,将遍历该链。当用户定义链结束时,您将跳回到遵循让您跳转到自定义规则的规则的规则。如果数据包与具有终止目标(例如接受)的用户定义链中的规则匹配,则处理结束。

不确定我的措辞是否足够清楚,但就是这样。

相关内容