Saltar al contenido principal

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