Caso 06: Por IP funciona, por nombre no
El escenario
Un host tiene acceso a Internet. Los pings a IPs públicas funcionan perfectamente. Pero cuando intentás usar nombres de dominio, nada resuelve.
Topología
name: "caso-06-dns"
nodes:
- name: MI-PC
type: HOST
x: 100
y: 200
- name: ROUTER
type: ROUTER
x: 350
y: 200
- name: CLOUD
type: CLOUD
x: 600
y: 200
links:
- source: MI-PC
target: ROUTER
- source: ROUTER
target: CLOUD
Configuración inicial
En MI-PC:
ip addr add 192.168.1.2/24 dev eth1
ip link set eth1 up
ip route add default via 192.168.1.1
echo "nameserver 8.8.8.8" > /etc/resolv.conf
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
ip route add default via 10.0.0.2
En CLOUD:
ip addr add 10.0.0.2/30 dev eth1
ip link set eth1 up
Introducir la falla
⚙️ Comando para romper el escenario — no leer si sos el alumno
# En MI-PC — apuntar el DNS a una IP que no existe
echo "nameserver 1.2.3.4" > /etc/resolv.conf
🔴 El síntoma
Desde MI-PC:
64 bytes from 8.8.8.8: icmp_seq=0 ttl=118 time=12ms ✅
64 bytes from 8.8.8.8: icmp_seq=1 ttl=118 time=11ms
ping: google.com: Temporary failure in name resolution ❌
La conexión a Internet funciona (ping a IPs públicas responde). Pero ningún nombre de dominio resuelve.
Tu misión
Identificá por qué la resolución de nombres falla y dejá el sistema funcionando con DNS.
Pistas
Pista 1
El ping por IP funciona — la "tubería" a Internet está bien. El problema es exclusivamente la traducción de nombres a IPs. ¿Qué parte del sistema es responsable de eso?
Pista 2
Mirá el archivo que configura el servidor DNS del sistema:
¿La IP que figura ahí responde?
ping -c 2 <IP-del-nameserver>
Pista 3
Para confirmar el problema antes de corregirlo, usá `dig` para hacer una consulta DNS y ver la respuesta completa:
Si hay timeout o error de conexión al servidor, el servidor DNS configurado no está respondiendo.
Solución completa
**Diagnóstico:**
Esa IP no existe o no responde consultas DNS. Confirmación con `dig`:
;; connection timed out; no servers could be reached
El sistema intenta consultar a `1.2.3.4` en el puerto 53, no recibe respuesta, y falla la resolución.
**Fix:**
echo "nameserver 8.8.8.8" > /etc/resolv.conf
**Verificación:**
dig google.com
# → ANSWER SECTION con la IP de Google ✅
ping -c 2 google.com
# → responde ✅
**La lección:** cuando el ping por IP funciona y por nombre no, el problema siempre está en DNS. El primer lugar para mirar es `/etc/resolv.conf` — si el servidor DNS ahí no responde, nada va a resolver. `dig` te da mucho más detalle que `ping` para diagnosticar exactamente qué falla.