Comandos Esenciales para la Gestión de Redes en Linux: ip, route y traceroute

La administración de redes en sistemas operativos tipo Unix, como Linux, se basa en un conjunto de herramientas de línea de comandos robustas y versátiles. Entre las más fundamentales para visualizar y manipular las tablas de enrutamiento, así como para diagnosticar la conectividad de la red, se encuentran route, traceroute y la moderna suite ip. Este artículo explora su funcionalidad y proporciona ejemplos prácticos para su uso.

Gestión de Tablas de Enrutamiento con el Comando route

El comando route ha sido tradicionalmente utilizado para mostrar y modificar la tabla de enrutamiento IP del kernel. Aunque funcional, la suite ip es la herramienta recomendada actualmente para estas tareas.

Ejemplos de uso común de route:

# Visualizar la tabla de enrutamiento actual
route
route -n # Muestra la tabla sin resolver nombres de host, acelerando la salida

# Añadir una ruta para una red específica
route add -net 192.168.10.0 netmask 255.255.255.0 dev eth0
route add -net 172.16.0.0 netmask 255.255.0.0 gw 10.0.0.1

# Añadir una ruta para un host específico
route add -host 192.168.10.50 gw 192.168.10.1

# Bloquear o rechazar el tráfico a una red
route add -net 10.0.0.0 netmask 255.255.255.0 reject

# Eliminar una ruta existente
route del -net 192.168.10.0 netmask 255.255.255.0
route del -net 10.0.0.0 netmask 255.255.255.0 reject
route del -host 192.168.10.50 gw 192.168.10.1

# Establecer la puerta de enlace predeterminada (default gateway)
route add default gw 192.168.10.1
route del default gw 192.168.10.1

Consideraciones importantes:

  • Las rutas añadidas con el comando route directamente en la línea de comandos son temporales y se perderán tras un reinicio del sistema o del servicio de red. Para una persistencia, deben configurarse en los archivos de configuración de red del sistema (ej., /etc/network/interfaces en Debian/Ubuntu o /etc/sysconfig/network-scripts/ en RedHat/CentOS).
  • Como se mencionó, se recomienda usar el comando ip route, parte de la suite iproute2, ya que ofrece una funcionalidad más completa y unificada.

Ejemplo de salida de route -n y sus campos:

Tabla de enrutamiento IP del kernel
Destino         Puerta de enlace   Máscara de red  Indicadores Métrica Ref.  Uso Interfaz
0.0.0.0         192.168.1.1     0.0.0.0         UG    100    0        0 eth0
10.0.0.0        0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.1.0     0.0.0.0         255.255.255.0   U     100    0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0

  • Destino: Red o dirección IP del host de destino.
  • Puerta de enlace: La dirección IP del router o gateway al que deben enviarse los paquetes para alcanzar el destino. Un asterisco (*) indica que no hay puerta de enlace necesaria (destino local).
  • Máscara de red: Máscara de subred asociada al destino.
  • Indicadores (Flags):
    • U (Up): La ruta está activa.
    • H (Host): El destino es un host específico.
    • G (Gateway): La ruta utiliza una puerta de enlace.
    • R (Reinstate): La ruta ha sido reinstaurada por el enrutamiento dinámico.
    • D (Dynamically): La ruta ha sido instalada dinámicamente.
    • M (Modified): La ruta ha sido modificada por un demonio de enrutamiento.
    • !: La ruta está rechazada.
  • Métrica: Costo de la ruta, utilizado para elegir la mejor ruta cuando hay múltiples opciones.
  • Ref.: Número de referencias a esta entrada de la tabla de enrutamiento.
  • Uso: Número de veces que esta ruta ha sido utilizada.
  • Interfaz: La interfaz de red de salida por la que se envían los paquetes.

Diagnóstico de Ruta de Paquetes con traceroute

El comando traceroute (o tracert en Windows) es una herramienta de diagnóstico de red que permite rastrear la ruta que toman los paquetes de datos desde un origen hasta un destino específico, mostrando cada salto intermedio (router) en el camino.

Sintaxis y ejemplos de uso:

# Uso básico para rastrear la ruta a un dominio
traceroute google.com

# Establecer el número máximo de saltos (TTL)
traceroute -m 20 example.com

# Evitar la resolución de nombres de host (mostrar solo IPs)
traceroute -n google.com

# Omitir la tabla de enrutamiento normal y enviar directamente a hosts conectados
traceroute -r 192.168.1.1

# Definir el número de paquetes de prueba por salto
traceroute -q 5 example.com

# Ajustar el tiempo de espera para las respuestas (en segundos)
traceroute -w 4 google.com

# Especificar el puerto de destino a usar (ej. para TCP)
traceroute -p 443 example.com

Ejemplo de salida de traceroute:

traceroute to example.com (93.184.216.34), 30 hops max, 60 byte packets
 1  _gateway (192.168.1.1)  0.543 ms  0.721 ms  0.901 ms
 2  10.0.0.1 (10.0.0.1)  1.234 ms  1.189 ms  1.305 ms
 3  router-x.isp.net (203.0.113.1)  5.678 ms  6.123 ms  5.987 ms
 4  router-y.isp.net (198.51.100.1)  8.901 ms  9.112 ms  9.056 ms
 5  * * *
 6  cdn.example.com (93.184.216.34)  12.345 ms  12.567 ms  12.432 ms

  • Cada línea numerada representa un "salto" o un router en la ruta.
  • Se envían tres paquetes de prueba por cada salto, mostrando el tiempo de respuesta en milisegundos (ms) para cada uno.
  • Los asteriscos (* * *) indican que no se recibió una respuesta del router en ese salto, lo que puede deberse a un firewall, sobrecarga de red o problemas de enrutamiento.
  • El parámetro -n es útil para evitar resoluciones DNS lentas y ver solo las direcciones IP.

El Poder Unificado del Comando ip

El comando ip, parte de la suite iproute2, es la herramienta moderna y preferida en Linux para gestionar todos los aspectos de la red: enrutamiento, dispositivos, políticas de enrutamiento y túneles. Ofrece una interfaz unificada y más potente que los comandos tradicionales como ifconfig y route.

Ejemplos de uso de la suite ip:

# Mostrar direcciones IP de todas las interfaces
ip addr show
ip a

# Mostrar el estado de las interfaces de red (enlaces)
ip link show
ip l

# Mostrar la tabla de enrutamiento IP
ip route show
ip r

# Añadir una ruta estática
# Sintaxis: ip route add DESTINO via GATEWAY dev INTERFAZ
ip route add 192.168.20.0/24 via 192.168.1.1 dev eth0

# Modificar una ruta existente (o añadirla si no existe)
# Sintaxis: ip route replace DESTINO dev INTERFAZ [via GATEWAY]
ip route replace 172.30.0.0/16 dev ens33

# Eliminar una ruta específica
ip route del 192.168.20.0/24 via 192.168.1.1

# Borrar la caché de rutas (útil para solucionar problemas)
ip route flush cache

# Obtener información de enrutamiento para un destino específico
ip route get 8.8.8.8 # Muestra la ruta de salida para alcanzar 8.8.8.8

# Mostrar hosts vecinos (entradas ARP/NDP)
ip neighbour show
ip n

# Levantar una interfaz de red
ip link set eth0 up

# Bajar una interfaz de red
ip link set eth0 down

Etiquetas: linux redes administración de sistemas comandos de red Tabla de Enrutamiento

Publicado el 8-17 19:23