我正在阅读 iptables 的手册页https://linux.die.net/man/8/iptables,我有一个关于用户定义链的使用的问题:
在里面目标部分,它说
如果到达内置链的末尾或内置链中具有目标 RETURN 的规则匹配,则链策略指定的目标将决定数据包的命运。
并在下面选项部分,它还说
只有内置(非用户定义)链才能有策略,内置链和用户定义链都不能成为策略目标。
所以我的问题是,当数据包进入用户定义的链并到达末尾但没有匹配时会发生什么任何的规则?换句话说,什么是默认动作用户定义的链?
我问的原因是我想知道是否有必要在每个用户定义链的末尾添加一个包罗万象的规则。就像是
iptables -A MY-CHAIN -j RETURN
或者这是默认行为?或者是其他东西?
答案1
如果用户定义的链中没有任何规则匹配,则默认行为有效RETURN
:处理将在父链中的下一个规则处继续。
当数据包匹配目标为用户定义链的规则时,数据包开始遍历该用户定义链中的规则。如果该链不能决定数据包的命运,那么一旦该链上的遍历完成,遍历就会在当前链中的下一个规则上恢复。