En la entrada de hoy hablamos de las rutas estáticas en GNU Linux. Tras unos días hablando de programas ya era hora de volver a mi tema favorito, que es la administración de sistemas.

Pero vayamos por partes, como diría Jack

¿Qué son las rutas estáticas?

El enrutamiento estático se produce cuando un enrutador utiliza una entrada configurada manualmente, en vez de una entrada dinámica.

En la mayoría de los casos dichas rutas han sido añadidas, por un administrador de red o sistemas, en una tabla de enrutamiento. A diferencia del enrutamiento dinámico, las rutas estáticas son fijas y no cambian si la red cambia o se reconfigura.

Aún así, tanto el enrutamiento estático y el dinámico no se excluyen entre sí.

Dichos enrutamientos se utilizan para mejorar la eficiencia del enrutamiento y también para tener una copia de seguridad, en el caso de que las rutas dinámicas no se intercambien.

También se pueden utilizar, por ejemplo, para obtener una puerta de enlace a un recurso.

Dicho enrutamiento tiene diferentes usos:

El enrutamiento estático se puede usar para definir un punto de salida de un enrutador cuando no hay otras rutas disponibles o necesarias. Esto se llama una ruta por defecto.

El enrutamiento estático se puede utilizar para redes pequeñas que requieren solo una o dos rutas. Esto suele ser más eficiente, ya que un enlace no se desperdicia al intercambiar información de enrutamiento dinámico.

El enrutamiento estático se usa a menudo como un complemento del enrutamiento dinámico para proporcionar una copia de seguridad a prueba de fallas en caso de que no haya una ruta dinámica disponible.

El enrutamiento estático se usa a menudo para ayudar a transferir información de enrutamiento de un protocolo de enrutamiento a otro (redistribución de enrutamiento).

Añadir rutas estáticas en GNU Linux

Para añadir y quitar utilizamos la herramienta “route”, lo primero sería “route add” y lo segundo, poara dar de baja la ruta estática, “route del”, veamos unos ejemplos:

1 2 3 4 # Para añadir una nueva ruta route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.1 # Para eliminar una ruta route del -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.1 # Para añadir una nueva ruta route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.1 # Para eliminar una ruta route del -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.1

De esta manera las rutas estáticas no son persistentes, si deseamos que sean persistentes, debemos añadirlas de manera manual, en los ficheros correspondientes de configuración de la interfaz de red.

Para añadirlo debemos utilizar los hooks “post-up” y “pre-down” para así realizar “route del”

Un ejemplo en el caso de Debian, Ubuntu y LinuxMint, debemos editar el fichero /etc/network/interfaces.

Veamos el caso de mi portátil con Ubuntu 18.04:

1 2 3 4 5 6 7 auto eth0 iface eth0 inet static address 192.168.0.20 netmask 255.255.255.0 gateway 192.168.0.1 post-up route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.175 pre-down route del -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.175 auto eth0 iface eth0 inet static address 192.168.0.20 netmask 255.255.255.0 gateway 192.168.0.1 post-up route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.175 pre-down route del -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.175

En el caso de RHEL, Centos o Scientific Linux, debemos editar el fichero /etc/sysconfig/network-scripts/ifcfg-eth0, la interfaz es de ejemplo.

Una vez hecho los cambios, debemos reiniciar la interfaz de red:

1 2 3 4 5 #Utilizando ifconfig ifconfig eth0 restart #O bien utilizando IF ifdown eth0 ifup eth0 #Utilizando ifconfig ifconfig eth0 restart #O bien utilizando IF ifdown eth0 ifup eth0

Si las rutas se han creado de manera satisfactoria lo podemos comprobar con la herramienta “netstat”, como sigue:

1 netstat -rn netstat -rn

Con el resultado en mi caso:

1 2 3 4 5 6 davidochobits@toshibaturbo:~$ netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 enp14s0 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 enp14s0 192.168.1.0 192.168.0.175 255.255.255.0 UG 0 0 0 enp14s014s0 davidochobits@toshibaturbo:~$ netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 enp14s0 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 enp14s0 192.168.1.0 192.168.0.175 255.255.255.0 UG 0 0 0 enp14s014s0

Espero que el artículo os haya parecido interesante.

Fuentes consultadas:

Wikipedia – Static routing