L'ordre des entrées dans la table de routage est-il important?

22

L'ordre d'acheminement est-il important:

> 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

est-ce la même chose que:

> 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

?

où est la différence,

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

est d'ordre supérieur à

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

donc si j'envoie 123.x.x.151où ça ira:

- 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

?

statique
la source

Réponses:

27

L'ordre dans le tableau n'a pas d'importance; les itinéraires avec un préfixe plus long sont toujours prioritaires. Si vous arrêtez de vous accrocher aux masques de réseau et considérez les longueurs de préfixe à la place (ce qui ip routeapparaît), vous avez 123.x.x.128/27et 123.x.x.151/32, et le dernier - plus spécifique - route aura la priorité sur le premier (plus générique).

grawity
la source
2
Que se passe-t-il s'il existe des masques de taille eqal? Par exemple 10.0.0.0/24 et 192.168.0.0/24.
ManuelSchneid3r
3
@ ManuelSchneid3r: Rien ne se passe. Les routes ne sont prises en compte que si elles correspondent réellement à la destination, et une adresse IP ne peut évidemment pas commencer par 10.et 192.en même temps, donc elle ne correspondra qu'à l'un de ces masques en premier lieu.
grawity
1
que faire si vous avez deux interfaces sur le même espace IP?
MikeSchem
@MikeSchem: Ensuite, le paramètre «métrique» des deux routes est utilisé. (Le système d'exploitation refusera généralement d'ajouter deux routes avec un préfixe identique, un préfixe identique et une métrique identique, ou éventuellement de les fusionner en une route à charge équilibrée ECMP.)
grawity
5

L'ordre n'a d'importance que si vous avez des itinéraires en double. Ne fais pas ça.

Par exemple, si deux interfaces ont la même destination, masque de réseau et passerelle de 0.0.0.0, la première récupérera tout le trafic pour ce réseau.

De plus, j'ai trouvé que certains systèmes se réorganiseraient au démarrage, lequel vient en premier. Si un seul fonctionne, ou si un seul a un ensemble de passerelles de routeur, cela peut entraîner la perte d'accès à ce réseau au redémarrage.

kmarsh
la source
Si vous avez des itinéraires en double, vous devez ajouter une distance administrative (AD) plus élevée pour l'itinéraire le moins préféré. La route utilisée sera toujours celle avec la DA la plus basse. Si ce chemin descend, alors celui avec l'AD le plus élevé le remplacera automatiquement dans la table de routage.
kojow7