Tengo un par de interfaces en mi tabla de enrutamiento y la primera dejó de funcionar. Quiero moverlo temporalmente hacia abajo para que uno debajo sea el predeterminado. ¿Tengo que eliminarlo y agregarlo nuevamente o hay un comando ip/route/ifconfig que puede simplemente mover las entradas hacia arriba o hacia abajo?
Respuesta1
Una tabla de enrutamiento no se utiliza en orden de arriba hacia abajo. En cambio, las rutas más específicas (con prefijos de mayor longitud) siempre tienen prioridad sobre las menos específicas; por ejemplo, una ruta /24 gana a una ruta /16, que a su vez gana a la ruta /0 'predeterminada'.
Si tiene dos rutas para exactamente el mismo destino (por ejemplo, ambas son para 192.168.1.0/24), se comparan según su parámetro 'métrico', que es básicamente el costo de la ruta, por lo que el valor métrico más bajo (el costo más bajo ) gana.
Entonces, si tiene varias rutas "predeterminadas", puede priorizar una eliminándola y volviéndola a agregar con una métrica más baja, por ejemplo:
$ ip route
default via 192.168.7.1 dev eth0 proto dhcp metric 100
default via 192.168.1.1 dev wlan0 proto dhcp metric 600
$ ip route del default dev wlan0
$ ip route add default via 192.168.1.1 dev wlan0 metric 50
(En realidad, no es necesario eliminar la ruta de métricas altas no deseada, especialmente si el cambio va a ser muy temporal; basta con agregar la nueva).
Tenga en cuenta que probablemente no pueda utilizar ip route change
o ip route replace
en esta situación, porque tratan la métrica especificada como unaclave de búsqueday el dispositivo como parámetro a actualizar, aunque probablemente quieras hacer exactamente lo contrario.