我正在https://linux.die.net/man/8/iptables阅读iptables的手册页,我有一个关于用户定义链的使用的问题:
在目标部分,它说
如果到达内建链的结束或匹配具有目标返回的内建链中的规则,则由链策略指定的目标确定数据包的命运。
在选项部分的下面,它还说
只有内置(非用户定义的)链才能有策略,而内建链和用户定义链都不能成为策略目标。
所以我的问题是,当一个包进入一个用户定义的链,在没有匹配任何规则的情况下到达终点,会发生什么?换句话说,用户定义链的默认操作是什么?
我问这个问题的原因是,我想知道是否有必要在每个用户定义的链的末尾添加一个catch-all规则。有点像
iptables -A MY-CHAIN -j RETURN或者这是默认行为吗?还是别的什么?
发布于 2019-11-14 02:52:00
如果用户定义的链中没有任何规则匹配,则默认行为实际上是RETURN:处理将在父链中的下一个规则继续进行。
当数据包匹配目标为用户定义链的规则时,数据包开始遍历该用户定义链中的规则。如果该链没有决定数据包的命运,那么一旦完成了对该链的遍历,就会恢复当前链中的下一个规则的遍历。
(来自Linux2.4包过滤操作)
https://unix.stackexchange.com/questions/552075
复制相似问题