En esta entrada vemos cómo añadir una ruta estática en Ubuntu usando ip route y netplan.
El comando ip route sirve para añadir una ruta temporal. Para dejar la ruta configurada de forma persistente en Ubuntu 18.04, 20.04, 22.04 y 24.04, usaremos netplan.
Ruta temporal con ip route
Para añadir una ruta temporal hacia una red concreta por una interfaz:
sudo ip route add 192.168.12.0/24 dev ens18
Con este comando indicamos que el tráfico hacia la red 192.168.12.0/24 debe salir por la interfaz ens18.
Si la red remota está detrás de un gateway concreto:
sudo ip route add 192.168.12.0/24 via 192.168.1.1
También podemos indicar gateway e interfaz:
sudo ip route add 192.168.12.0/24 via 192.168.1.1 dev ens18
Para revisar la tabla de rutas:
ip route show
Para comprobar qué ruta usaría el sistema hacia una IP concreta:
ip route get 192.168.12.10
Ruta persistente con netplan
Netplan guarda la configuración de red en ficheros YAML dentro de /etc/netplan/. Primero revisamos qué fichero existe:
ls -l /etc/netplan/
Ejemplo con DHCP en la interfaz ens18 y una ruta estática hacia 192.168.12.0/24 usando el gateway 192.168.1.1:
network:
version: 2
renderer: networkd
ethernets:
ens18:
dhcp4: true
routes:
- to: 192.168.12.0/24
via: 192.168.1.1
Si necesitamos definir una métrica:
network:
version: 2
renderer: networkd
ethernets:
ens18:
dhcp4: true
routes:
- to: 192.168.12.0/24
via: 192.168.1.1
metric: 100
Después validamos la configuración:
sudo netplan generate
Si no hay errores, probamos el cambio con rollback automático:
sudo netplan try
Si todo funciona, aplicamos definitivamente:
sudo netplan apply
Cambiar la ruta por defecto
Para cambiar la ruta por defecto con netplan, usamos to: default:
network:
version: 2
renderer: networkd
ethernets:
ens18:
addresses:
- 192.168.1.20/24
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses:
- 1.1.1.1
- 8.8.8.8
En servidores remotos, conviene usar siempre netplan try antes de netplan apply. Un gateway incorrecto puede dejar la máquina sin acceso SSH.
Resumen rápido
ip route add: añade rutas temporales, útil para pruebas.netplan: configuración persistente habitual en Ubuntu 18.04, 20.04, 22.04 y 24.04.netplan generate: valida/genera la configuración.netplan try: prueba el cambio con rollback.netplan apply: aplica el cambio definitivamente.
