Comando route en Linux: Guía Completa

Artículos Guías Manuales Sistemas Linux Windows Binario 0

El comando route en Linux es una herramienta fundamental para la administración de la tabla de enrutamiento del kernel. Permite a los administradores de red configurar, modificar y eliminar rutas de red estáticas en el sistema operativo, lo cual es esencial para la gestión del tráfico de red y la conectividad entre diferentes redes.

¿Qué es una Tabla de Enrutamiento?

La tabla de enrutamiento es una base de datos que mantiene el sistema operativo para determinar hacia dónde enviar los paquetes de red. Cada entrada en la tabla de enrutamiento contiene una dirección de destino, una máscara de red, una puerta de enlace y una interfaz de red.

Sintaxis del Comando route

La sintaxis básica del comando route es la siguiente:

route [opciones] [comando] [dirección]

Donde:

  • opciones: Son parámetros opcionales que modifican el comportamiento del comando.
  • comando: Es la acción que se desea realizar (e.g., add, del).
  • dirección: Es la dirección IP o red específica para la cual se quiere realizar la acción.

Comandos Comunes

  1. Mostrar la Tabla de Enrutamiento:

    route

    o

    route -n

    La opción -n muestra las direcciones IP en formato numérico, lo cual puede ser útil para evitar demoras en la resolución de nombres.
  2. Agregar una Ruta:

    route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1

    En este ejemplo, se agrega una ruta a la red 192.168.1.0/24 a través de la puerta de enlace 192.168.1.1.
  3. Eliminar una Ruta:

    route del -net 192.168.1.0 netmask 255.255.255.0

    Este comando elimina la ruta específica a la red 192.168.1.0/24.
  4. Agregar una Ruta por Defecto:

    route add default gw 192.168.1.1

    Aquí se establece una ruta por defecto a través de la puerta de enlace 192.168.1.1. Esto significa que todo el tráfico que no tenga una ruta específica en la tabla se enviará a esta puerta de enlace.
  5. Eliminar la Ruta por Defecto:

    route del default

    Este comando elimina la ruta por defecto configurada en el sistema.

Opciones Útiles

  • -n: Muestra las direcciones y nombres de red en formato numérico, lo cual puede acelerar el proceso de visualización al evitar la resolución DNS.
  • -e o -ee: Muestra información adicional sobre las rutas.
  • -A [familia]: Especifica la familia de protocolos, como inet (para IPv4) o inet6 (para IPv6).

Ejemplos Prácticos

  1. Visualizar la Tabla de Enrutamiento:

    route -n

    Salida típica:

    Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
  2. Agregar una Ruta a una Red Específica:

    route add -net 10.10.10.0 netmask 255.255.255.0 gw 192.168.1.1
  3. Eliminar una Ruta Específica:

    route del -net 10.10.10.0 netmask 255.255.255.0

Consideraciones de Seguridad y Buenas Prácticas

  • Privilegios de Superusuario: La mayoría de las operaciones con route requieren privilegios de superusuario. Use sudo para ejecutar los comandos necesarios.
  • Persistencia de Rutas: Los cambios realizados con route no son persistentes tras un reinicio. Para hacer persistentes los cambios, es necesario agregar las rutas en los scripts de configuración de red específicos de su distribución Linux.

Comando Alternativo: ip route

El comando route es una herramienta antigua y ha sido reemplazada en muchas distribuciones modernas por ip route, que forma parte del paquete iproute2. El comando ip route ofrece más funcionalidades y una sintaxis más coherente.

Ejemplo equivalente de agregar una ruta con ip:

ip route add 192.168.1.0/24 via 192.168.1.1

Conclusión

El comando route sigue siendo una herramienta útil y esencial para la gestión de rutas en sistemas Linux. Con una comprensión clara de su sintaxis y opciones, los administradores de red pueden gestionar eficazmente la conectividad y el enrutamiento de sus sistemas. Para nuevas implementaciones, considere usar ip route para aprovechar sus capacidades avanzadas.