¿Importa el orden de las entradas en la tabla de enrutamiento?

22

¿Importa el orden de enrutamiento?

> 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

¿Es lo mismo 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

?

donde la diferencia es que

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

es de orden superior a

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

así que si envío a 123.x.x.151dónde irá:

- 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

?

estático
fuente

Respuestas:

27

El orden en la tabla no importa; Las rutas con un prefijo más largo siempre tienen prioridad. Si deja de aferrarse a las máscaras de red y considera las longitudes de prefijo en su lugar (que se ip routemuestra), tiene 123.x.x.128/27y 123.x.x.151/32, y la última ruta, más específica, tendrá prioridad sobre la primera (una más genérica).

Gravedad
fuente
2
¿Qué sucede si hay máscaras de igual tamaño? Por ejemplo, 10.0.0.0/24 y 192.168.0.0/24.
ManuelSchneid3r
3
@ ManuelSchneid3r: No pasa nada. Las rutas solo se consideran si realmente coinciden con el destino, y una dirección IP obviamente no puede comenzar 10.y 192.al mismo tiempo, por lo que solo coincidirá con una de esas máscaras en primer lugar.
Grawity
1
¿Qué pasa si tiene dos interfaces en el mismo espacio IP?
MikeSchem
@MikeSchem: Luego se usa el parámetro 'métrico' de ambas rutas. (El sistema operativo normalmente negarse a añadir dos rutas con prefijo idénticos, prefixlen idénticos, y idéntica métrica, o posiblemente fundirlas en una ruta de carga equilibrada ECMP.)
grawity
5

El pedido solo importa si tiene rutas duplicadas. No hagas eso.

Por ejemplo, si dos interfaces tienen el mismo destino, máscara de red y puerta de enlace de 0.0.0.0, la primera capturará todo el tráfico de esa red.

Además, he descubierto que algunos sistemas se reordenarán aleatoriamente en el arranque, cuál es el primero. Si solo uno funciona o solo uno tiene una puerta de enlace de enrutador configurada, esto puede provocar la pérdida de acceso a esa red al reiniciar.

kmarsh
fuente
Si tiene rutas duplicadas, entonces debe agregar una Distancia administrativa (AD) más alta para la ruta menos preferida. La ruta utilizada siempre será la que tenga el AD más bajo. Si ese camino se cae, el que tenga el AD más alto lo reemplazará automáticamente en la tabla de enrutamiento.
kojow7