Saltar a contenido

🗺️ Lab 06: Ruteo Estático

En el lab anterior configuraste un gateway: le dijiste al host "todo lo que no sepas entregar, dáselo al router". El router lo recibió y lo entregó porque el destino estaba en una de sus redes directamente conectadas.

Pero ¿qué pasa cuando el destino no está conectado directamente al router? El router tampoco sabe llegar. Necesita que vos le digas explícitamente por dónde ir. Eso es el ruteo estático.


🧠 Antes de arrancar: lo que el router sabe solo

Cuando un router tiene una interfaz configurada con 192.168.1.1/24, automáticamente sabe que la red 192.168.1.0/24 está directamente conectada — no necesita que nadie se lo diga.

Lo que no sabe solo es cómo llegar a redes que están del otro lado de otro router. Para esas redes, necesita una ruta estática: una entrada manual que le dice "para llegar a esa red, mandá el paquete a esta dirección".

Esa dirección se llama próximo salto (next hop) — no es el destino final, es el siguiente router en el camino.


🏗️ Topología

name: "lab-06-ruteo-estatico"
nodes:
  - name: PC-A
    type: HOST
    x: 50
    y: 200
  - name: ROUTER-1
    type: ROUTER
    x: 300
    y: 200
  - name: ROUTER-2
    type: ROUTER
    x: 550
    y: 200
  - name: PC-B
    type: HOST
    x: 800
    y: 200
links:
  - source: PC-A
    target: ROUTER-1
  - source: ROUTER-1
    target: ROUTER-2
  - source: ROUTER-2
    target: PC-B

Tres redes separadas por dos routers:

PC-A ── ROUTER-1 ── ROUTER-2 ── PC-B
  192.168.1.0/24  10.0.0.0/30  192.168.2.0/24
Red Rango Quiénes
Red A 192.168.1.0/24 PC-A + interfaz eth1 de ROUTER-1
Enlace 10.0.0.0/30 eth2 de ROUTER-1 + eth1 de ROUTER-2
Red B 192.168.2.0/24 eth2 de ROUTER-2 + PC-B

🛠️ Paso 1: Configurar IPs

En PC-A:

ip addr add 192.168.1.10/24 dev eth1
ip link set eth1 up
ip route add default via 192.168.1.1

En ROUTER-1:

ip addr add 192.168.1.1/24 dev eth1
ip addr add 10.0.0.1/30 dev eth2
ip link set eth1 up
ip link set eth2 up

En ROUTER-2:

ip addr add 10.0.0.2/30 dev eth1
ip addr add 192.168.2.1/24 dev eth2
ip link set eth1 up
ip link set eth2 up

En PC-B:

ip addr add 192.168.2.10/24 dev eth1
ip link set eth1 up
ip route add default via 192.168.2.1


🔍 Paso 2: Ver qué sabe cada router

Antes de agregar rutas, mirá las tablas de ruteo de los dos routers:

# En ROUTER-1
ip route show
192.168.1.0/24 dev eth1 proto kernel   ← Red A (directamente conectada)
10.0.0.0/30    dev eth2 proto kernel   ← Enlace (directamente conectado)

ROUTER-1 conoce Red A y el enlace — ambas están enchufadas a él. No tiene idea de cómo llegar a Red B (192.168.2.0/24). Para él, esa red no existe.

# En ROUTER-2
ip route show
Mismo razonamiento: conoce Red B y el enlace. No sabe nada de Red A.


❌ Paso 3: El intento fallido

Desde PC-A, intentá llegar a PC-B:

ping -c 3 192.168.2.10

Resultado: Destination Net Unreachable — el paquete llega a ROUTER-1, pero como no tiene ruta hacia 192.168.2.0/24, lo descarta y te avisa.

Nota que no es un timeout: la respuesta es inmediata. ROUTER-1 sabe que no sabe — no intenta adivinar.


🔑 Paso 4: Agregar las rutas estáticas

La sintaxis es:

ip route add <red-destino> via <próximo-salto>

Leelo así: "para llegar a <red-destino>, mandá el paquete a <próximo-salto>".

En ROUTER-1 — necesita saber cómo llegar a Red B. El próximo salto es ROUTER-2:

ip route add 192.168.2.0/24 via 10.0.0.2

En ROUTER-2 — necesita saber cómo llegar a Red A. El próximo salto es ROUTER-1:

ip route add 192.168.1.0/24 via 10.0.0.1

¿Por qué via 10.0.0.2 y no via 192.168.2.10?

El via no es el destino final — es el próximo router al que le pasás el paquete. ROUTER-1 no puede llegar directo a PC-B (están en redes distintas sin conexión directa). Lo que sí puede hacer es mandárselo a ROUTER-2, que tiene 192.168.2.0/24 directamente conectada y sabe cómo entregarlo.

Si pusieras via 192.168.2.10 (la IP de PC-B), el sistema te daría error: "¿cómo llego a 192.168.2.10 para usarlo como gateway? No lo tengo directamente conectado".


✅ Paso 5: Verificar

# Desde PC-A
ping -c 4 192.168.2.10

Funciona. Verificá las tablas actualizadas:

# En ROUTER-1
ip route show
192.168.1.0/24 dev eth1 proto kernel
10.0.0.0/30    dev eth2 proto kernel
192.168.2.0/24 via 10.0.0.2          ← la que agregaste


🔬 Paso 6: La ruta de vuelta — por qué necesitás las dos

Eliminá la ruta de ROUTER-2 y observá:

# En ROUTER-2
ip route del 192.168.2.0/24 via 10.0.0.1

Hacé clic derecho en el cable que une ROUTER-1 con ROUTER-2, seleccioná Sniff ROUTER-2, y hacé el ping de nuevo:

# Desde PC-A
ping -c 3 192.168.2.10

Lo que ves en la captura: los paquetes llegan perfectamente a ROUTER-2. El problema es la respuesta: PC-B le responde a ROUTER-2, pero ROUTER-2 no tiene ruta hacia 192.168.1.0/24 y descarta la respuesta.

PC-A ──▶ R1 ──▶ R2 ──▶ PC-B    ✅ ida: funciona
PC-A ✗◀─ R1 ✗◀─ R2 ◀── PC-B    ❌ vuelta: R2 descarta

Regla: el ruteo es siempre bidireccional. Cada router del camino necesita saber llegar tanto al destino como al origen — porque los paquetes de respuesta hacen el camino inverso.

Restaurá la ruta antes de seguir:

ip route add 192.168.1.0/24 via 10.0.0.1


📝 Ejercicio: Configurá las rutas sin ayuda

Reiniciá el lab (botón Restart Lab) para que las rutas vuelvan a cero. Esta vez, no mires los comandos del Paso 4. Solo tenés esta información:

  • PC-A: 192.168.1.10/24, gateway 192.168.1.1
  • ROUTER-1: eth1 = 192.168.1.1/24, eth2 = 10.0.0.1/30
  • ROUTER-2: eth1 = 10.0.0.2/30, eth2 = 192.168.2.1/24
  • PC-B: 192.168.2.10/24, gateway 192.168.2.1

Configurá las IPs y las interfaces como en el Paso 1. Después, escribí vos solo las rutas estáticas que faltan en cada router.

Pista: Hacé la pregunta "¿qué redes no tengo conectadas directamente?" en cada router.

Ver respuesta (solo si te trabás) **En ROUTER-1:**
ip route add 192.168.2.0/24 via 10.0.0.2
**En ROUTER-2:**
ip route add 192.168.1.0/24 via 10.0.0.1

En el próximo lab vas a ver qué pasa cuando hay tres routers en el camino — ahí aparece una confusión nueva que la mayoría no ve venir.