路由顺序是否重要:
> route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
123.x.x.151 0.0.0.0 255.255.255.255 UH 0 0 0 vmbr0
123.x.x.154 0.0.0.0 255.255.255.255 UH 0 0 0 vmbr0
123.x.x.128 0.0.0.0 255.255.255.224 U 0 0 0 vmbr0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 vmbr1
0.0.0.0 123.x.x.129 0.0.0.0 UG 0 0 0 vmbr0
它是否与以下内容相同:
> route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
123.x.x.128 0.0.0.0 255.255.255.224 U 0 0 0 vmbr0
123.x.x.151 0.0.0.0 255.255.255.255 UH 0 0 0 vmbr0
123.x.x.154 0.0.0.0 255.255.255.255 UH 0 0 0 vmbr0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 vmbr1
0.0.0.0 123.x.x.129 0.0.0.0 UG 0 0 0 vmbr0
?
不同之处在于
123.x.x.128 123.x.x.129 255.255.255.224 U 0 0 0 vmbr0
高于
123.x.x.151 0.0.0.0 255.255.255.255 UH 0 0 0 vmbr0
那么如果我发送到123.x.x.151
它会去哪里:
- the routed way over `123.x.x.129`, because it matches the `123.x.x.128` rule, or
- the direct way using the arp table, because it matches the `123.x.x.151` rule
?
答案1
表中的顺序无关紧要;前缀较长的路由始终优先。如果您不再拘泥于网络掩码,而是考虑前缀长度(显示ip route
),则您将得到123.x.x.128/27
和123.x.x.151/32
,并且后者(更具体)的路由将优先于前者(更通用的路由)。
答案2
仅当您有重复路线时顺序才重要。不要这样做。
例如,如果两个接口具有相同的目的地、网络掩码和网关 0.0.0.0,则第一个接口将抓取该网络的所有流量。
此外,我发现有些系统会在启动时随机重新排序哪个先出现。如果只有一个能用,或者只有一个设置了路由器网关,这可能会导致在重启时无法访问该网络。