A ordem das entradas na tabela de roteamento é importante?

19

A ordem de roteamento é 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

é o mesmo 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

?

onde a diferença é que

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

é de ordem superior a

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

então, se eu enviar para 123.x.x.151 , onde será:

- 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

?

    
por static 22.07.2013 / 17:28

2 respostas

23

A ordem na tabela não importa; rotas com um prefixo maior sempre têm prioridade. Se você parar de se agarrar a máscaras de rede e considerar os comprimentos de prefixo (que ip route mostra), você terá 123.x.x.128/27 e 123.x.x.151/32 e a última - mais específica - rota terá prioridade sobre a primeira (mais genérica).

    
por 22.07.2013 / 17:39
5

O pedido só importa se você tiver rotas duplicadas. Não faça isso.

Por exemplo, se duas interfaces tiverem o mesmo destino, máscara de rede e gateway de 0.0.0.0, o primeiro pegará todo o tráfego dessa rede.

Além disso, descobri que alguns sistemas reordenarão aleatoriamente na inicialização, o que vem primeiro. Se apenas um funcionar, ou apenas um tiver um conjunto de roteadores, isso pode resultar na perda de acesso a essa rede na reinicialização.

    
por 04.01.2016 / 16:44