Caso 08: Doble falla — Dos problemas al mismo tiempo
El escenario
Una red con dos segmentos, un router en el medio, y un servidor en la red B corriendo un servicio. Nada funciona como debería. A diferencia de los casos anteriores, hay dos problemas simultáneos.
No se te dice cuántas cosas están rotas ni qué tipo de problemas son. Eso lo tenés que descubrir vos.
Topología
name: "caso-08-doble-falla"
nodes:
- name: PC-CLIENTE
type: HOST
x: 80
y: 200
- name: ROUTER
type: ROUTER
x: 320
y: 200
- name: SERVIDOR
type: HOST
x: 560
y: 200
links:
- source: PC-CLIENTE
target: ROUTER
- source: ROUTER
target: SERVIDOR
Configuración inicial
En PC-CLIENTE:
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:
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 SERVIDOR:
ip addr add 10.0.0.2/30 dev eth1
ip link set eth1 up
ip route add default via 10.0.0.1
nc -lk -p 9000 &
Introducir las fallas
⚙️ Comandos para romper el escenario — no leer si sos el alumno
# Falla 1: En ROUTER — falta la ruta hacia la red del servidor
# (no configurar ninguna ruta estática en el router)
# Falla 2: En SERVIDOR — firewall bloqueando el puerto del servicio
iptables -A INPUT -p tcp --dport 9000 -j DROP
El router no tiene rutas estáticas configuradas hacia ninguna red remota.
🔴 El síntoma
Desde PC-CLIENTE:
From 192.168.1.1 icmp_seq=1 Destination Net Unreachable
From 192.168.1.1 icmp_seq=2 Destination Net Unreachable
Nada funciona. El servidor tiene un servicio en el puerto 9000 que debería ser accesible desde PC-CLIENTE.
El objetivo final: que este comando funcione desde PC-CLIENTE:
Tu misión
Diagnosticá y arreglá todos los problemas. No des por terminado el trabajo hasta que la conexión al servicio funcione de punta a punta.
Metodología sugerida
No hay pistas en este caso — solo el recordatorio de usar el método:
- ¿Las interfaces están UP?
- ¿Las IPs y máscaras son correctas?
- ¿Hay ruta hacia el destino?
- ¿Los paquetes llegan al destino?
- ¿El servicio está escuchando y accesible?
Resolvé los problemas en orden. Es posible que arreglar el primero deje visible el segundo.
Solución completa — solo después de intentarlo
### Falla 1: El router no tiene rutas
**Diagnóstico:**
# En ROUTER
ip route show
192.168.1.0/24 dev eth1 proto kernel
10.0.0.0/30 dev eth2 proto kernel
No hay rutas hacia redes remotas. Cuando PC-CLIENTE hace ping a `10.0.0.2`, el router recibe el paquete pero no sabe que `10.0.0.0/30` está directamente conectado en eth2... espera, sí lo sabe — está en la tabla.
Hmm, entonces el problema es que el router no tiene habilitado el IP forwarding:
# En ROUTER
cat /proc/sys/net/ipv4/ip_forward
0 ← forwarding deshabilitado
El router recibe los paquetes pero no los reenvía entre interfaces.
**Fix 1:**
# En ROUTER
echo 1 > /proc/sys/net/ipv4/ip_forward
**Verificación parcial:**
# Desde PC-CLIENTE
ping -c 2 10.0.0.2
El ping funciona. Pero el objetivo es la conexión al servicio.
---
### Falla 2: Firewall bloqueando el puerto 9000
**Diagnóstico:**
# Desde PC-CLIENTE
nc -w 3 10.0.0.2 9000
# → timeout ❌
El ping funciona pero el servicio no. Verificar en SERVIDOR:
# En SERVIDOR
ss -tlnp | grep 9000
LISTEN 0 1 0.0.0.0:9000 ← servicio corriendo ✅
DROP tcp -- anywhere anywhere tcp dpt:9000
Firewall bloqueando.
**Fix 2:**
# En SERVIDOR
iptables -D INPUT -p tcp --dport 9000 -j DROP
**Verificación final:**
# Desde PC-CLIENTE
nc -w 3 10.0.0.2 9000 # ✅ conecta
---
### Resumen de las dos fallas
| # | Dónde | Problema | Fix |
|---|---|---|---|
| 1 | ROUTER | IP forwarding deshabilitado | `echo 1 > /proc/sys/net/ipv4/ip_forward` |
| 2 | SERVIDOR | Firewall bloqueando puerto 9000 | `iptables -D INPUT -p tcp --dport 9000 -j DROP` |
**Lo importante del caso doble:** arreglar la primera falla (forwarding) permitió llegar al servidor y descubrir la segunda (firewall). Cuando hay múltiples problemas, el método de ir capa por capa los va exponiendo uno a uno. Si hubieras buscado el firewall primero, no habrías podido confirmarlo porque los paquetes ni llegaban.