“iprule”命令中优先级的含义

5 networking linux ip

ip Rule add/del 命令中的 prio 选项有何意义?规则的较高优先级是否会使其优先于表中的其他规则?

我在网上看到了这段代码,没有任何评论。我很好奇它的作用:

ip rule del prio 32766 from "" dev "" fwmark 0 table main

ip rule del prio 32767 from "" dev "" fwmark 0 table default

ip rule add prio 4294967293UL from "" dev "" fwmark 0 table 1

ip rule add prio 4294967294UL from "" dev "" fwmark 0 table main

ip rule add prio 4294967295UL from "" dev "" fwmark 0 table default
Run Code Online (Sandbox Code Playgroud)

mgo*_*ven 5

优先级决定检查规则的顺序(从最低编号到最高编号)。使用与数据包匹配的第一条规则。

不过最大优先级是 32767,所以那些大的优先级数字没有意义。

  • “使用与数据包匹配的第一条规则。” 这并不完全正确。事实上,规则是按照优先级指定的顺序进行检查的,但是满足其条件的规则实际上可能不会提供结果,并且会检查更多的规则。最典型的例子是当规则指定“查找”(或“表”)时,但该路由表中没有与目的地匹配的路由。 (5认同)