mangle dscp 规则应用于 iptables 的顺序是什么?

mangle dscp 规则应用于 iptables 的顺序是什么?

我使用 iptables mangle 来标记具有不同 DSCP 值的流量。我想确认重叠规则的应用顺序。我假设逻辑通常与 iptables 相同:将应用链中的第一个匹配规则。但事实上似乎恰恰相反。例如,具有以下规则:

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
DSCP       icmp --  anywhere             anywhere            DSCP set 0x14 
DSCP       all  --  anywhere             anywhere            DSCP set 0x0f 

我假设 ICMP 数据包会标记为 0x14,但实际上它们标记为 0x0f。我可以相信情况总是如此吗?将应用链中的最后一个匹配规则而不是最后一个?我在任何地方都找不到关于此的文档。

答案1

如果我没记错的话,mangle 表中的 DSCP 目标不会停止规则的处理(与 ACCEPT/REJECT/DROP 目标不同)。因此,在您的情况下,ICMP 数据包的 DSCP 值设置为 0x14,然后在下一条规则中用 0x0f 覆盖(因为它也匹配)。

我建议按照从最具体到最具体的顺序对规则进行排序,以便最后应用最具体的规则。

相关内容