4.8 Enrutamiento Estático
Cuando un paquete necesita salir del servidor, el kernel consulta su tabla de enrutamiento para decidir por qué interfaz enviarlo. Entender y manipular esa tabla es una habilidad LFCS fundamental, especialmente en servidores con múltiples interfaces o subredes privadas.
1. La tabla de enrutamiento
Sección titulada “1. La tabla de enrutamiento"# Ver la tabla de enrutamiento (forma moderna)ip route show# o abreviadoip r
# Salida típica de un servidor con una sola interfaz:# default via 192.168.1.1 dev eth0 proto dhcp src 192.168.1.50 metric 100# 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.50Cómo leer la salida:
| Campo | Significado |
|---|---|
default | Ruta por defecto (gateway de último recurso) |
via 192.168.1.1 | Siguiente salto (el router) |
dev eth0 | Interfaz de salida |
proto dhcp | Cómo se aprendió la ruta (dhcp/static/kernel) |
metric 100 | Coste (menor = preferida si hay varias rutas al mismo destino) |
# Ver qué interfaz y ruta se usaría para alcanzar una IP concretaip route get 8.8.8.8# 8.8.8.8 via 192.168.1.1 dev eth0 src 192.168.1.50 uid 1000
ip route get 192.168.10.5# indica si hay ruta directa o necesita gateway2. Rutas temporales (ip route)
Sección titulada “2. Rutas temporales (ip route)"Los cambios con ip route son inmediatos pero no sobreviven al reinicio.
# Añadir una ruta a una red concreta a través de un gatewaysudo ip route add 10.20.0.0/16 via 192.168.1.254
# Añadir una ruta a través de una interfaz específica (red directamente conectada)sudo ip route add 172.16.5.0/24 dev eth1
# Cambiar el gateway por defectosudo ip route add default via 192.168.1.1
# Eliminar una rutasudo ip route del 10.20.0.0/16 via 192.168.1.254
# Eliminar el gateway por defectosudo ip route del default
# Reemplazar una ruta existente (add + del en una sola operación)sudo ip route replace default via 192.168.1.2543. Rutas permanentes (Netplan — Ubuntu/Debian moderno)
Sección titulada “3. Rutas permanentes (Netplan — Ubuntu/Debian moderno)"En sistemas que usan Netplan (Ubuntu 18.04+ y Debian 12+), la configuración de red persistente vive en /etc/netplan/*.yaml:
ls /etc/netplan/# 01-netcfg.yaml (o similar)Editar para añadir una ruta estática:
network: version: 2 ethernets: eth0: dhcp4: false addresses: - 192.168.1.50/24 nameservers: addresses: [8.8.8.8, 1.1.1.1] routes: # Gateway por defecto - to: default via: 192.168.1.1 # Ruta estática adicional a una red interna - to: 10.20.0.0/16 via: 192.168.1.254 metric: 200Aplicar:
# Validar sintaxis YAML antes de aplicarsudo netplan generate
# Aplicar la configuraciónsudo netplan apply
# Verificarip route shownetwork: version: 2 ethernets: eth0: routes: - to: 10.20.0.0/16 via: 192.168.1.254sudo netplan applyauto eth0iface eth0 inet static address 192.168.1.50/24 gateway 192.168.1.1 # Ruta estática adicional post-up ip route add 10.20.0.0/16 via 192.168.1.254 pre-down ip route del 10.20.0.0/16 via 192.168.1.254sudo systemctl restart networking4. Diagnóstico de conectividad paso a paso
Sección titulada “4. Diagnóstico de conectividad paso a paso"Cuando hay un problema de red, el protocolo LFCS es medir capa a capa antes de tocar nada:
# 1. ¿Tengo IP asignada?ip addr show
# 2. ¿Tengo ruta de salida?ip route show# Busca "default via ..."
# 3. ¿El gateway responde?ping -c 3 <ip_del_gateway>
# 4. ¿Llego a internet?ping -c 3 8.8.8.8
# 5. ¿Funciona el DNS?ping -c 3 google.com# Si el ping a 8.8.8.8 funciona pero google.com falla → problema de DNS
# 6. ¿Qué ruta toma el paquete? (tracing)traceroute 8.8.8.8# o la versión modernamtr 8.8.8.85. Servidor como router (IP forwarding)
Sección titulada “5. Servidor como router (IP forwarding)"Para que un servidor reenvíe paquetes entre interfaces (actúa como router o gateway NAT), el kernel necesita IP forwarding activado:
# Ver estado actualsysctl net.ipv4.ip_forward# 0 = desactivado, 1 = activado
# Activar temporalmentesudo sysctl -w net.ipv4.ip_forward=1
# Activar permanentementeecho "net.ipv4.ip_forward = 1" | sudo tee /etc/sysctl.d/99-ip-forward.confsudo sysctl --systemCon IP forwarding activado y UFW/iptables configurado para hacer NAT, el servidor puede actuar como gateway para una red interna. Esta configuración es la base de redes de contenedores, VPNs y laboratorios de virtualización.