Saltar a contenido

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:

ping -c 2 8.8.8.8
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
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:
cat /etc/resolv.conf
¿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:
dig google.com
Si hay timeout o error de conexión al servidor, el servidor DNS configurado no está respondiendo.
Solución completa **Diagnóstico:**
cat /etc/resolv.conf
nameserver 1.2.3.4
Esa IP no existe o no responde consultas DNS. Confirmación con `dig`:
dig google.com
;; 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.