Saltar a contenido

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:

ping -c 3 10.0.0.2
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:

nc -w 3 10.0.0.2 9000


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:

  1. ¿Las interfaces están UP?
  2. ¿Las IPs y máscaras son correctas?
  3. ¿Hay ruta hacia el destino?
  4. ¿Los paquetes llegan al destino?
  5. ¿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
64 bytes from 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 ✅
iptables -L INPUT -n -v
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.