Capítulo 7.2 - Enrutamiento y Tablas de Enrutamiento
Objetivos de Aprendizaje
Al final de este capítulo, usted será capaz de:
- Comprender el enrutamiento en Linux
- Ver y modificar las tablas de enrutamiento
- Configurar la ruta predeterminada
- Comprender las rutas estáticas
- Solucionar problemas de enrutamiento
¿Qué es el Enrutamiento?
El enrutamiento determina cómo los paquetes de red se envían desde una fuente hasta un destino.
Función:
- Decidir a dónde enviar los paquetes
- Basado en las tablas de enrutamiento
- Ruta predeterminada para destinos desconocidos
Tablas de Enrutamiento
Ver las Rutas
# Ver todas las rutas
ip route show
ip route
route -n # Con net-tools
# Ver ruta específica
ip route get 8.8.8.8
Estructura de una Ruta
destination via gateway dev interface
Ejemplo:
default via 192.168.1.1 dev eth0
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100
Ruta Predeterminada
Ver la Ruta Predeterminada
# Con ip
ip route show default
ip route | grep default
# Con route
route -n | grep "^0.0.0.0"
Añadir una Ruta Predeterminada
# Con ip
sudo ip route add default via 192.168.1.1 dev eth0
# Con route
sudo route add default gw 192.168.1.1 eth0
Eliminar la Ruta Predeterminada
# Con ip
sudo ip route del default
# Con route
sudo route del default
Rutas Estáticas
Añadir una Ruta
# Ruta hacia red específica
sudo ip route add 10.0.0.0/24 via 192.168.1.1 dev eth0
# Ruta hacia host específico
sudo ip route add 10.0.0.50 via 192.168.1.1 dev eth0
# Ruta vía interfaz local
sudo ip route add 172.16.0.0/16 dev eth1
Eliminar una Ruta
# Eliminar ruta
sudo ip route del 10.0.0.0/24
# O especificar completamente
sudo ip route del 10.0.0.0/24 via 192.168.1.1 dev eth0
Ejemplos
# Ruta hacia red privada vía VPN
sudo ip route add 192.168.100.0/24 via 10.8.0.1 dev tun0
# Ruta hacia servidor específico
sudo ip route add 203.0.113.50 via 192.168.1.1 dev eth0
Tablas de Enrutamiento Múltiples
Ver las Tablas
# Lista de tablas
ip route show table all
# Tabla específica
ip route show table main
ip route show table local
Tablas Especiales
- main: Tabla principal (por defecto)
- local: Rutas locales (127.0.0.0/8, etc.)
- default: Rutas predeterminadas
Añadir Ruta en Tabla Específica
# Ruta en tabla personalizada
sudo ip route add 10.0.0.0/24 via 192.168.1.1 table 100
# Ver tabla
ip route show table 100
Configuración Permanente
Ubuntu/Debian (Netplan)
# /etc/netplan/01-netcfg.yaml
network:
version: 2
ethernets:
eth0:
addresses:
- 192.168.1.100/24
routes:
- to: 10.0.0.0/24
via: 192.168.1.1
- to: 0.0.0.0/0
via: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
Aplicar:
sudo netplan apply
Red Hat/CentOS
# Archivo: /etc/sysconfig/network-scripts/route-eth0
10.0.0.0/24 via 192.168.1.1 dev eth0
default via 192.168.1.1 dev eth0
Solución de Problemas
Traceroute
# Rastrear la ruta
traceroute 8.8.8.8
tracepath 8.8.8.8 # Con iputils
# Con mtr (instalar si es necesario)
sudo apt install mtr
mtr 8.8.8.8
Verificar Conexión
# Ping
ping -c 4 8.8.8.8
ping -c 4 google.com
# Ver ruta utilizada
ip route get 8.8.8.8
Verificar Ruta Predeterminada
# Ruta predeterminada
ip route show default
# ¿Gateway accesible?
ping -c 2 $(ip route | grep default | awk '{print $3}')
Ejemplos Prácticos
Script de Configuración de Enrutamiento
#!/bin/bash
# Configuración de enrutamiento
INTERFACE="eth0"
GATEWAY="192.168.1.1"
# Ruta predeterminada
sudo ip route add default via $GATEWAY dev $INTERFACE
# Ruta hacia red privada
sudo ip route add 10.0.0.0/24 via $GATEWAY dev $INTERFACE
# Verificar
ip route show
Verificación de Enrutamiento
#!/bin/bash
# Verificar configuración de enrutamiento
echo "=== Rutas ==="
ip route show
echo "=== Ruta predeterminada ==="
ip route show default
echo "=== Prueba de conectividad ==="
ping -c 2 8.8.8.8
Resumen
En este capítulo, usted ha aprendido:
Enrutamiento: Decisión de envío de paquetes de red
Tablas: main, local, tablas personalizadas
Ruta predeterminada: Gateway para destinos desconocidos
Rutas estáticas: Rutas específicas hacia redes/hosts
Configuración: Netplan, archivos route-*
Solución de problemas: traceroute, ping, ip route get
Próximos Pasos
Capítulo 7.3: DNS y Resolución de Nombres
Capítulo 7.4: Herramientas de Red
Capítulo creado el: Diciembre 2024