¿Cómo configurar un enrutamiento estático y dinámico?

Aprender Certificado Fundación Linux en España contenido Técnicos desde Cero en CiberED

El enrutamiento es el proceso de decidir por dónde enviar un paquete de red para que llegue a su destino. Linux puede actuar como simple equipo final (host) o como enrutador (router) que interconecta redes.

25.1. Introducción al enrutamiento en Linux

En ambos casos, el kernel mantiene una tabla de enrutamiento que se consulta para cada paquete saliente.

Existen dos formas principales de llenar esa tabla:

  • Enrutamiento estático: las rutas se configuran manualmente con los comandos ip route o route. Son simples y estables, pero no se adaptan a cambios de topología.
  • Enrutamiento dinámico: un demonio (como Quagga, FRR, BIRD) ejecuta protocolos de enrutamiento (OSPF, RIP, BGP) que intercambian información con otros routers y ajustan las rutas automáticamente.

En el examen LFCS, se espera que puedas ver la tabla de enrutamiento, añadir y eliminar rutas estáticas, activar el reenvío de paquetes (IP forwarding) y comprender los conceptos básicos de los protocolos dinámicos.

25.2. Conceptos fundamentales

25.2.1. La tabla de enrutamiento

Cada entrada de la tabla de enrutamiento tiene al menos:

  • Destino: red o dirección IP de destino (ej. 192.168.2.0/24, 0.0.0.0/0 para el default gateway).
  • Gateway: dirección del siguiente salto (router) al que se envían los paquetes si no están directamente conectados.
  • Interfaz: dispositivo de red por el que se envía el paquete.
  • Métrica: coste de la ruta (menor es preferida).
  • Tipo: cómo se aprendió la ruta (kernel, static, dynamic, etc.).

25.2.2. Rutas directas y default gateway

  • Las rutas directas se crean automáticamente cuando una interfaz tiene una IP. Por ejemplo, si eth0 tiene 192.168.1.10/24, el kernel añade una ruta a 192.168.1.0/24 por eth0.
  • El default gateway (0.0.0.0/0) es la ruta a la que se envían los paquetes cuando no hay coincidencia más específica. Es la salida típica hacia Internet.

25.2.3. Reenvío de IP (IP forwarding)

Para que un sistema Linux reenvíe paquetes entre interfaces (actúe como router), debe tener habilitado net.ipv4.ip_forward:

sysctl net.ipv4.ip_forward
sysctl -w net.ipv4.ip_forward=1

Para hacerlo persistente, añadir a /etc/sysctl.d/99-router.conf:

net.ipv4.ip_forward = 1

25.3. Visualización de la tabla de enrutamiento

El comando moderno es ip route, que reemplaza a route y netstat -r.

ip route
ip route show
ip route show table main

Salida típica:

default via 192.168.1.1 dev eth0
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.10

También se puede usar:

route -n
netstat -rn

Ambos muestran la tabla de enrutamiento. -n evita resolución DNS.

25.4. Enrutamiento estático: configuración manual

25.4.1. Añadir una ruta estática

ip route add 10.0.0.0/8 via 192.168.1.1 dev eth0

Opciones:

  • via: gateway del siguiente salto.
  • dev: interfaz de salida (opcional si se especifica via).
  • metric: prioridad de la ruta.

Ejemplo sin gateway (red directamente conectada):

ip route add 192.168.50.0/24 dev eth1

25.4.2. Añadir una ruta por defecto

ip route add default via 192.168.1.1

25.4.3. Eliminar una ruta

ip route del 10.0.0.0/8
ip route del default

25.4.4. Reemplazar una ruta

ip route replace 10.0.0.0/8 via 192.168.1.2

25.4.5. Comandos antiguos (route)

route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.1.1
route del -net 10.0.0.0 netmask 255.0.0.0
route add default gw 192.168.1.1

Ambos métodos son válidos, pero ip route es el recomendado.

25.5. Persistencia de rutas estáticas

Las rutas añadidas con ip route add son temporales; desaparecen al reiniciar la red o el sistema. Para hacerlas permanentes, se configuran en los archivos de red de la distribución.

25.5.1. Debian/Ubuntu

Para interfaces configuradas con ifupdown (/etc/network/interfaces), se puede añadir la línea up ip route add ... dentro de la configuración de la interfaz:

iface eth0 inet static
   address 192.168.1.10
   netmask 255.255.255.0
   gateway 192.168.1.1
   up ip route add 10.0.0.0/8 via 192.168.1.1

En /etc/network/interfaces también se puede crear una interfaz de loopback para rutas, pero es más común usar scripts en /etc/network/if-up.d/.

25.5.2. RHEL/CentOS/Fedora

En /etc/sysconfig/network-scripts/route-<interfaz> (ej. route-eth0) se escriben rutas:

10.0.0.0/8 via 192.168.1.1 dev eth0
default via 192.168.1.1

En sistemas con NetworkManager, se pueden añadir con nmcli:

nmcli con mod eth0 +ipv4.routes "10.0.0.0/8 192.168.1.1"

25.6. Enrutamiento dinámico

25.6.1. Protocolos de enrutamiento dinámico

Los protocolos más importantes son:

  • RIP (Routing Information Protocol): antiguo, distancia-vector, métrica por saltos, máximo 15 saltos. Simple pero limitado.
  • OSPF (Open Shortest Path First): estado-enlace, jerárquico, rápido, estándar abierto. Muy usado en redes empresariales.
  • BGP (Border Gateway Protocol): protocolo de pasarela exterior, base de Internet. Escala a miles de rutas.
  • IS-IS: similar a OSPF, usado en grandes ISP.

Para LFCS, el conocimiento conceptual es suficiente; no se espera que configures OSPF o BGP completos, pero sí que sepas qué son y cómo funcionan los demonios.

25.6.2. Herramientas de enrutamiento dinámico

Los proyectos más comunes son:

  • Quagga: suite antigua que implementa RIP, OSPF, BGP, etc. Utiliza demonios separados (ripd, ospfd, bgpd) y un demonio central zebra.
  • FRRouting (FRR): fork moderno de Quagga, más activo y con más características. Archivos de configuración en /etc/frr/frr.conf, interfaz vtysh.
  • BIRD: otro suite popular, especialmente en IXPs.

Aunque no es imprescindible para el examen, conocer la existencia de FRR y su configuración mínima puede ser útil.

25.6.3. Ejemplo básico de FRR con OSPF

Instalar FRR (Debian/Ubuntu):

sudo apt install frr

Habilitar demonios en /etc/frr/daemons:

ospfd=yes
zebra=yes

Iniciar y entrar a la interfaz:

sudo systemctl start frr
sudo vtysh

Dentro de vtysh:

configure terminal
router ospf
 network 192.168.1.0/24 area 0
 network 10.0.0.0/24 area 0
exit

Esto configura OSPF en las redes indicadas, permitiendo el intercambio de rutas con otros routers OSPF.

25.7. Solución de problemas de enrutamiento

ProblemaPosible causaSolución
No hay conectividad a una red remotaFalta ruta estática o default gatewayVerificar con ip route, añadir la ruta
ping falla a un destino conectadoInterfaz caída o IP mal configuradaRevisar ip link, ip addr
El router no reenvía paquetesIP forwarding desactivadosysctl net.ipv4.ip_forward=1
Rutas estáticas desaparecen tras reinicioNo se hicieron persistentesConfigurar en archivos de red
Tabla de enrutamiento con métricas inesperadasRutas conflictivasUsar ip route replace, ajustar métricas
Enrutamiento dinámico no intercambia rutasDemonio no corriendo o config incorrectasystemctl status frr, logs

Herramientas de diagnóstico:

  • ip route : ver tabla.
  • traceroute : seguir la ruta de paquetes.
  • ping : comprobar alcance.
  • tcpdump : capturar paquetes.
  • mtr : combinación de ping y traceroute.

25.8. Ejercicios prácticos

  1. Visualización de rutas: Ejecuta ip route y explica cada línea. Identifica la ruta por defecto y las rutas directas.

  2. Rutas estáticas temporales: Crea una red simulada con dos interfaces (pueden ser virtuales con ip link add dummy0 type dummy). Asígnales IPs. Añade una ruta a una red ficticia a través de un gateway. Verifica con ip route. Elimínala.

  3. Configurar un router simple: 3.1. Con dos máquinas virtuales (o contenedores), configura un sistema con dos interfaces, una conectada a “Internet” y otra a la red interna. 3.2. Activa IP forwarding y configura NAT con iptables (MASQUERADE) para que los clientes internos salgan a Internet. 3.3. Añade una ruta estática en el cliente para una red remota a través del router.

  4. Persistencia: Haz persistente la ruta estática en Debian (interfaces) y en RHEL (route-eth0). Reinicia y verifica.

  5. Enrutamiento dinámico (opcional): Instala FRR y configura OSPF en una red con dos routers (pueden ser máquinas virtuales). Verifica que intercambian rutas (show ip route en vtysh).

25.9. Resumen y consejos para LFCS

  • El comando esencial es ip route para ver y modificar rutas.
  • Las rutas estáticas son temporales; para persistencia se usan archivos de configuración de red.
  • IP forwarding (net.ipv4.ip_forward=1) es necesario para actuar como router.
  • El enrutamiento dinámico usa demonios como FRR/Quagga; para el examen basta con comprender los conceptos y quizá reconocer un archivo de configuración.
  • Practica la resolución de problemas: ver tabla, añadir rutas, comprobar conectividad.

Con este capítulo has aprendido a manejar el enrutamiento en Linux. En el próximo capítulo exploraremos los sistemas de archivos cifrados y espacio de intercambio cifrado, fundamentales para proteger datos en reposo.

Vistas: 0

Descubre más desde CIBERED

Suscríbete y recibe las últimas entradas en tu correo electrónico.

Scroll al inicio