¿Cuál es el comando para modificar la métrica de una entrada de ruta existente en Linux? Puedo cambiar la puerta de enlace de una entrada existente usando el comando "ip route change" como se muestra a continuación, pero no puedo cambiar las métricas. ¿Hay algún otro comando para eso?
route –n
40.2.2.0 30.1.3.2 255.255.255.0 eth2
ip route change 40.2.2.0/24 via 30.1.2.2
route -n
40.2.2.0 30.1.2.2 255.255.255.0 eth1
Respuestas:
Como se señaló en un comentario a la pregunta, citando un mensaje en la lista de correo de linux-net: "La métrica / prioridad no se puede cambiar [...] Esta es una limitación del protocolo actual [...]".
La única forma es eliminar la ruta y agregar una nueva.
Esto se hace usando el
route
comando, ejemplo:Página de manual de Debian para el comando de ruta
fuente
The metric/priority cannot be changed [...] This is a limitation of the current protocol[...]
. La única forma es eliminar la ruta y agregar una nueva.(Combinando varios comentarios en una respuesta)
Actualmente, no es posible modificar la métrica de una ruta. Como dice un mensaje de 2005 en LKML :
Esto parece aplicarse tanto a
ip route change
comoip route replace
: el primero resulta en un error para mí, mientras que el segundo crea una ruta adicional como se anuncia (su página de manual indica quereplace
reemplazará o creará una ruta). Esto es consistente con la respuesta del núcleo con ENOENT y elip route replace
seguimiento con una solicitud de creación de ruta.Entonces, la solución es eliminar la ruta existente y agregar una nueva. p.ej
fuente
ifmetric
le permitirá cambiar su métrica de ruta sobre la marcha, dada la interfaz por la que están pasando las rutas que desea cambiar.Uso
Por ejemplo, use
ifmetric tun0 12
para cambiar la métrica a 12 para todas las rutas que pasantun0
.fuente