L'ordine delle voci nella tabella di routing è importante?


22

L'ordine di routing è importante:

> 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

è lo stesso di:

> 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

?

dove sta la differenza, quello

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

è un ordine superiore a

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

quindi se mando a 123.x.x.151dove andrà:

- 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

?

Risposte:


27

L'ordine nella tabella non ha importanza; le rotte con un prefisso più lungo hanno sempre la priorità. Se smetti di aggrapparti alle maschere di rete e consideri invece le lunghezze del prefisso (che ip routemostra), hai 123.x.x.128/27e 123.x.x.151/32, e quest'ultima - più specifica - rotta avrà la priorità sulla prima (più generica).


2
Cosa succede se ci sono maschere di dimensioni eqal? Ad esempio 10.0.0.0/24 e 192.168.0.0/24.
ManuelSchneid3r,

3
@ ManuelSchneid3r: non succede nulla. I percorsi sono considerati solo se corrispondono effettivamente alla destinazione e ovviamente un indirizzo IP non può iniziare con 10.e 192.allo stesso tempo, quindi corrisponderà solo a una di quelle maschere in primo luogo.
gravità

1
cosa succede se si hanno due interfacce sullo stesso spazio IP?
MikeSchem,

@MikeSchem: Quindi viene utilizzato il parametro 'metric' di entrambe le route. (Il sistema operativo di solito rifiuta di aggiungere due percorsi con prefisso identico, prefisso identico e metrica identica, o eventualmente unirli in un percorso ECMP con bilanciamento del carico.)
gravità

5

L'ordine è importante solo se hai percorsi duplicati. Non farlo.

Ad esempio, se due interfacce hanno la stessa destinazione, maschera di rete e gateway di 0.0.0.0, la prima prenderà tutto il traffico per quella rete.

Inoltre, ho scoperto che alcuni sistemi si riordinano casualmente all'avvio, quello che viene prima. Se solo uno funziona o solo uno ha un gateway router impostato, ciò può comportare la perdita dell'accesso a tale rete al riavvio.


Se si dispone di percorsi duplicati, è necessario aggiungere una distanza amministrativa (AD) più elevata per il percorso meno preferito. Il percorso utilizzato sarà sempre quello con l'AD inferiore. Se quel percorso scende, allora quello con l'AD superiore lo sostituirà automaticamente nella tabella di routing.
kojow7,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.