路由表中的条目顺序重要吗?


22

路由顺序重要吗?

> 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

Answers:


27

表格中的顺序无关紧要;前缀较长的路由始终优先。如果您不再坚持使用网络掩码,而是考虑使用前缀长度(如图ip route所示),则您有123.x.x.128/27123.x.x.151/32,后者(更具体地来说)的路由将比前者(更通用的)优先。


2
如果有等式的蒙版会怎样?例如10.0.0.0/24和192.168.0.0/24。
ManuelSchneid3r

3
@ ManuelSchneid3r:什么也没发生。如果他们真的路由只考虑符合目的地,IP地址显然无法下手10.,并192.在同一时间,所以将只匹配在首位的面具之一。
grawity '16

1
如果您在同一IP空间上有两个接口怎么办?
MikeSchem

@MikeSchem:然后使用两条路由的“ metric”参数。(操作系统通常会拒绝添加两条具有相同前缀,相同prefixlen 相同度量的路由,或者可能将它们合并为ECMP负载平衡路由。)
grawity

5

仅当您有重复的路线时,订单才重要。不要那样做

例如,如果两个接口的目的地,网络掩码和网关的0.0.0.0相同,则第一个将捕获该网络的所有流量。

而且,我发现某些系统会在引导时随机重新排序,以先出现的顺序为准。如果只有一个起作用,或者只有一个设置了路由器网关,则可能导致重新启动时失去对该网络的访问。


如果确实有重复的路线,则应为不太喜欢的路线添加较高的管理距离(AD)。使用的路由将始终是具有较低AD的路由。如果该路径断开,则具有较高AD的路径将自动在路由表中替换它。
kojow7
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.