Saltar al contenido
Open Security
Redes e Internet Inicial · 20 min

DNS paso a paso: de un nombre a una IP

Antes de la primera conexión hay una pregunta: ¿a qué IP voy? DNS la responde en varios saltos. Acá lo seguís con dig y entendés por qué a veces 'funciona en mi máquina'.

#redes#dns#debugging

Antes de empezar necesitás

  • Una terminal y poder instalar dig (paquete dnsutils o bind-utils)
  • Idea básica de qué es una IP

Al terminar vas a poder

  • Entender la cadena de resolución: resolver → root → TLD → autoritativo
  • Leer la salida de dig y distinguir respuesta, autoridad y TTL
  • Diferenciar registros A, AAAA, CNAME, MX y NS
  • Saber por qué un cambio de DNS 'tarda' (TTL y caché)

Antes de que tu navegador hable con un servidor, tiene que resolver una duda básica: ¿a qué IP me conecto? Esa traducción de example.com a 93.184.216.34 la hace DNS, y no es un solo paso: es una cadena de preguntas. Entenderla explica la mitad de los “en mi máquina anda”.

La cadena, en un dibujo

flowchart TD
A[Tu máquina] -->|example.com?| B[Resolver / recursivo]
B -->|.com?| C[Root server]
C -->|andá al TLD .com| B
B -->|example.com?| D[Servidor TLD .com]
D -->|andá al autoritativo| B
B -->|example.com?| E[Servidor autoritativo]
E -->|93.184.216.34| B
B -->|93.184.216.34| A
Una resolución típica: tu resolver pregunta hacia abajo hasta el servidor autoritativo.

El resolver (normalmente el de tu ISP o uno como 1.1.1.1) hace el trabajo sucio: pregunta al root, después al servidor del TLD (.com, .ar…), y por último al autoritativo del dominio, que tiene la respuesta real. Cada nivel solo sabe a quién derivarte.

Verlo con dig

La respuesta corta, para confirmar a qué IP resuelve:

vt@labs:~
dig +short example.com

Y la cadena completa, salto por salto:

vt@labs:~
# +trace simula la resolución recursiva desde los roots
dig +trace example.com

En una respuesta normal de dig mirás tres bloques: ANSWER (la respuesta), AUTHORITY (quién manda en esa zona) y el TTL, el número a la izquierda del registro.

;; ANSWER SECTION:
example.com.        3600    IN    A    93.184.216.34
;;                  ^TTL          ^tipo  ^valor

Los registros que más vas a ver

A       nombre → IPv4              example.com → 93.184.216.34
AAAA    nombre → IPv6             example.com → 2606:2800:220:1::...
CNAME   alias → otro nombre       www → example.com
MX      a dónde va el mail        example.com → mail.example.com
NS      quién es autoritativo     example.com → ns1.example.com
TXT     texto (SPF, verificación) "v=spf1 include:..."
vt@labs:~
# Pedir un tipo puntual
dig example.com MX +short
dig example.com NS +short

El criterio

Cuando un dominio “no anda”, DNS es la primera parada:

1. dig +short nombre      → ¿resuelve a algo? ¿a la IP correcta?
2. dig +trace nombre      → ¿en qué salto se rompe la cadena?
3. miro el TTL            → ¿un cambio reciente todavía está cacheado?
4. comparo resolvers      → dig @1.1.1.1 nombre vs el de mi ISP

Lo que practicás en este lab

Llevátelo a tu repo si querés, pero no es obligatorio: es tu aprendizaje.

  • La salida de dig +trace de un dominio, con los saltos marcados
  • Una tabla chica: tipo de registro → para qué sirve
  • Writeup de 2 líneas: por qué un cambio reciente todavía no se ve

Reto

Elegí un dominio y corré dig +trace. Anotá cuántos saltos hubo y qué servidor dio la respuesta final. Después mirá el TTL del registro A y explicá en dos líneas cuánto tardaría en propagarse un cambio.

Resolvelo y escribí dos líneas explicando qué pasó. Con eso lo fijás.

¿Hiciste el lab?

Si querés, guardá lo que hiciste (comandos, notas, un repo) para volver después. Y si encontrás un error o querés mejorar este lab, contribuí al repo. El progreso se guarda solo en tu navegador.