GNU/Linux >> Tutoriales Linux >  >> Linux

Modificación de la entrada de ruta existente en Linux

(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:

[...] La métrica/prioridad no se puede cambiar porque no tenemos campos separados para que coincidan los campos y los nuevos valores, por lo que si especifica una métrica, la entrada simplemente no se encontrará y la solicitud falla con ENOENT porque NLM_F_CREATE no se especifica Esta es una limitación del protocolo actual y podría ser una buena idea cambiar esto, sin embargo, no es trivial [...]

Esto parece aplicarse tanto a ip route change y ip route replace - el primero da como resultado un error para mí, mientras que el segundo crea una ruta adicional como se anuncia (su página de manual indica que replace reemplazará o crear una ruta). Esto es coherente con la respuesta del núcleo con ENOENT y ip route replace siguiendo con una solicitud de creación de ruta.

Entonces, la solución es eliminar la ruta existente y agregar una nueva, por ejemplo,

ip route del 40.2.2.0/24 via 30.1.2.2
ip route add 40.2.2.0/24 via 30.1.2.2 metric 1234

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:

sudo route add -net default gw 10.10.0.1 netmask 0.0.0.0 dev wlan0 metric 1

Página de manual de Debian para el comando de ruta


ifmetric le permitirá cambiar la métrica de su ruta sobre la marcha, dada la interfaz por la que pasan las rutas que desea cambiar.

Uso

ifmetric <iface> [<metric>]

Por ejemplo, use ifmetric tun0 12 para cambiar la métrica a 12 para todas las rutas que pasan por tun0 .


Linux
  1. Cómo agregar una nueva ruta estática en RHEL7 Linux

  2. Cómo agregar un disco nuevo a un servidor Linux existente

  3. Cómo establecer una dirección IP estática y modificar la tabla de enrutamiento en Linux

  4. CentOS/RHEL:Cómo agregar una ruta nula en Linux

  5. Cómo agregar una entrada en la base de datos de la página del manual de Linux

Comando Agregar ruta de Linux con ejemplos

Crear directorio de inicio para usuarios existentes en Linux

Comando de ruta en Linux

Cómo agregar una ruta en Linux

7 ejemplos de comandos de ruta de Linux (cómo agregar una ruta en Linux)

Ejemplos de comandos de ruta en Linux