Ist die Reihenfolge der Einträge in der Routing-Tabelle wichtig?

22

Ist die Routing-Reihenfolge wichtig:

> 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

ist es dasselbe wie:

> 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

?

wo der Unterschied ist, das

123.x.x.128     123.x.x.129         255.255.255.224 U     0      0        0 vmbr0

ist eine höhere Ordnung als

123.x.x.151     0.0.0.0         255.255.255.255 UH    0      0        0 vmbr0

Also, wenn ich sende, 123.x.x.151wohin geht es:

- 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

?

statisch
quelle

Antworten:

27

Die Reihenfolge in der Tabelle spielt keine Rolle. Routen mit einem längeren Präfix haben immer Vorrang. Wenn Sie aufhören, sich an Netzmasken zu klammern, und stattdessen die Präfixlängen (die angezeigt werden) berücksichtigen ip route, haben 123.x.x.128/27und 123.x.x.151/32, und die letztere - spezifischere - Route Vorrang vor der ersteren (allgemeineren).

Grawity
quelle
2
Was passiert, wenn es gleich große Masken gibt? ZB 10.0.0.0/24 und 192.168.0.0/24.
ManuelSchneid3r
3
@ ManuelSchneid3r: Nichts passiert. Routen werden nur berücksichtigt, wenn sie tatsächlich mit dem Ziel übereinstimmen und eine IP-Adresse offensichtlich nicht mit 10.und 192.zur gleichen Zeit beginnen kann, sodass sie nur mit einer dieser Masken übereinstimmt.
Grawity
1
Was ist, wenn Sie zwei Schnittstellen auf demselben IP-Raum haben?
MikeSchem
@MikeSchem: Dann wird der Parameter 'metric' beider Routen verwendet. (Das Betriebssystem weigert sich normalerweise, zwei Routen mit identischem Präfix, identischem Präfix und identischer Metrik hinzuzufügen , oder führt sie möglicherweise zu einer ECMP-Route mit Lastenausgleich zusammen.)
grawity
5

Die Reihenfolge ist nur wichtig, wenn Sie doppelte Routen haben. Tu das nicht.

Wenn beispielsweise zwei Schnittstellen dasselbe Ziel, dieselbe Netzmaske und dasselbe Gateway von 0.0.0.0 haben, übernimmt die erste den gesamten Datenverkehr für dieses Netzwerk.

Außerdem habe ich festgestellt, dass einige Systeme beim Booten nach dem Zufallsprinzip neu anordnen, welches zuerst kommt. Wenn nur eines funktioniert oder nur eines über ein Router-Gateway verfügt, kann dies dazu führen, dass beim Neustart der Zugriff auf dieses Netzwerk verloren geht.

kmarsh
quelle
Wenn Sie doppelte Routen haben, sollten Sie eine höhere administrative Distanz (AD) für die weniger bevorzugte Route hinzufügen. Die verwendete Route ist immer die mit dem niedrigeren AD. Wenn dieser Pfad abfällt, wird er automatisch durch den Pfad mit dem höheren AD in der Routing-Tabelle ersetzt.
kojow7