# rm-rf.es

Enrutar en Linux (route add/del)

Ayer expliqué cómo visualizar las tablas de rutas en Linux, pero no vimos cómo agregar nuevas rutas, modificarlas o borrarlas. Vamos a ver en una entrada rápida unos ejemplos básicos del comando route que nos enseñarán a modificar la tabla de rutas. Partimos de esta base:

$ route -n
Tabla de rutas IP del núcleo
Destino         Pasarela        Genmask         Indic Métric Ref    Uso Interfaz
192.168.1.0     0.0.0.0         255.255.255.0   U     1      0        0 eth0
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth0

Vamos a añadir una nueva ruta cuyo destino tenga la red 169.255.0.0/16. Todo tráfico contra esa red será redirigido a la interfaz eth0 y usará la puerta de enlace (gateway) 192.168.1.1:

$ sudo route add -net 169.255.0.0/16 gw 192.168.1.1 dev eth0
$ route -n
Tabla de rutas IP del núcleo
Destino         Pasarela        Genmask         Indic Métric Ref    Uso Interfaz
192.168.1.0     0.0.0.0         255.255.255.0   U     1      0        0 eth0
169.255.0.0     192.168.1.1     255.255.0.0     UG    0      0        0 eth0
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth0

Para eliminar esta ruta en lugar de route add usamos route del:

$ sudo route del -net 169.255.0.0/16 eth0

También podríamos enrutar tráfico de una LAN sin necesidad de pasar por una gateway:

$ sudo route add -net 169.255.0.0/16 dev eth0

O establecer la gateway (puerta de enlace) por defecto. Será utilizada en caso de no haber otra regla efectiva por delante:

$ sudo route add default gw 192.168.2.1

Como siempre, para más información:

$ man route

Recordad que estos cambios no son persistentes a reinicios, tendréis que añadir los comandos a /etc/rc.local.

Salir de la versión móvil