Tabla de Contenidos

09 - DNS

Domain Name System (DNS) es un sistema de nomenclatura jerárquica y distribuida para los recursos conectados a Internet o a una red privada. Su función principal es traducir nombres de dominio ()(cadena de texto que identifica a un sitio web, como example.com) legibles por humanos en direcciones IP numéricas que las máquinas utilizan para identificarse en la red.

El propósito del DNS es simplificar el uso de Internet al permitir que los usuarios utilicen nombres de dominio en lugar de recordar largas secuencias de números.

Entre las ventajas del DNS se incluyen:

Funcionamiento básico

El funcionamiento básico del DNS se puede dividir en dos partes principales:

El proceso de resolución de nombres DNS sigue estos pasos:

Raíz (.) ──> TLD (.com, .es) ──> Dominio (cesguiro.es) ──> Subdominio (www.cesguiro.es)
   ↑             ↑                      ↑                         ↑
Servidores      Servidores        Servidor                    Registro A
raíz globales   TLD públicos      autoritativo                (IP final)

  1. Cliente pregunta al recursivo local.

  2. Recursivo consulta caché; si no, va a raíz (obtiene TLD .es).

  3. Raíz envía a servidores TLD (.es, obtiene ns1.cesguiro.es).

  4. TLD envía a autoritativo (ns1.cesguiro.es, obtiene IP 192.0.2.1).

  5. Autoritativo responde; recursivo guarda en caché y devuelve al cliente.

Tipos de Servidores DNS

Existen varios tipos de servidores DNS según la función que realizan. Los más habituales son los siguientes:

Tipo ¿Hace recursión? ¿Responde a cualquier cliente? ¿Almacena zonas propias? Ejemplo
Recursivo (o caché) No (sólo guarda caché) 8.8.8.8 (Google), el DNS del router
Autoritativo No Sí (sólo sus zonas) ns1.google.com, ns1.cesguiro.es, ns1.educa.madrid.org
Forwarder No El DNS que te da tu operador y que reenvía a Google o Cloudflare
Stub No Solo información parcial No Servidores esclavos que solo quieren saber dónde está el master

Registros DNS

En el sistema DNS, los registros DNS son entradas que contienen información sobre un dominio específico y cómo se deben manejar las solicitudes para ese dominio. Los tipos principales de registros DNS son:

www.example.com. IN A 192.0.2.1

www.example.com. IN AAAA 2001:db8::1

www.example.com. IN CNAME example.com.

example.com. IN MX 10 mail.example.com.

example.com. IN NS ns1.example.com.

example.com. IN SOA ns1.example.com. admin.example.com. ( 2024082201 3600 1800 1209600 86400 )

68.9.217.172.in-addr.arpa. IN PTR ord38s09-in-f4.1e100.net.

Registro Significado Ejemplo de sintaxis
A Dirección IPv4 www IN A 203.0.113.10
AAAA Dirección IPv6 www IN AAAA 2001:db8::1
CNAME Alias (nombre canónico) ftp IN CNAME servidor.lab.local.
MX Servidor de correo (prioridad 0-99) @ IN MX 10 mail.lab.local.
NS Servidor DNS autoritativo del dominio @ IN NS ns1.lab.local.
PTR Resolución inversa (IP → nombre) 2 IN PTR ns1.lab.local.
TXT Texto libre (SPF, DKIM, etc.) @ IN TXT “v=spf1 a mx ~all”

Zonas DNS y Delegación

En el sistema DNS, una zona es una porción del espacio de nombres de dominio que es administrada por un servidor DNS específico. La delegación de zonas permite la distribución de la administración del espacio de nombres de dominio entre diferentes servidores DNS.

Cacheo y TTL

En el sistema DNS, el cacheo y el TTL (Time To Live) son fundamentales para mejorar la eficiencia y reducir el tiempo de resolución de nombres.

Seguridad en DNS

La seguridad en DNS es crucial para proteger la integridad y la disponibilidad de la información de resolución de nombres.

Herramientas y Comandos

Existen varias herramientas y comandos útiles para consultar y gestionar la información DNS. Estos comandos permiten a los administradores de red y a los usuarios verificar la configuración de DNS y diagnosticar problemas de red.

nslookup

Comando interactivo y no interactivo. Muy común en Windows.

Modo Comando Qué hace
Básico `nslookup www.cesguiro.es` Consulta A (IPv4)
Inversa `nslookup 92.222.139.190` Resolución inversa (PTR)
Solo IP `nslookup -type=A www.google.com` Fuerza registro A
Solo MX `nslookup -type=MX cesguiro.es` Servidores de correo
Cambiar servidor `nslookup www.google.com 8.8.8.8` Consulta directamente a Google DNS
Modo interactivo `nslookup` → `server 1.1.1.1` → `cesguiro.es` Cambia el servidor dentro de la sesión

dig (la herramienta favorita de Linux)

Mucho más potente y legible que nslookup.

Opción Comando ejemplo Resultado esperado
Solo la respuesta (limpio) `dig +noall +answer www.cesguiro.es` → `www.cesguiro.es. 3600 IN A 92.222.139.190`
Muy corto (solo el dato) `dig +short www.cesguiro.es` → `92.222.139.190`
Solo respuesta + TTL `dig +noall +answer +ttl www.cesguiro.es` → `www.cesguiro.es. 3589 IN A 92.222.139.190`
Registro específico `dig cesguiro.es MX +short` → `10 mail.cesguiro.es.`
Resolución inversa `dig -x 8.8.8.8 +short` → `dns.google.`
Traza completa (raíz → autoritativo) `dig +trace www.educa.madrid.org` Muestra todo el camino (ideal para entender la jerarquía)
Solo sección ANSWER `dig +nocmd +noquestion +noadditional +noauthority +answer www.google.com` Solo la línea con la IP
Consultar a servidor concreto `dig @1.1.1.1 cesguiro.es` Fuerza consulta a Cloudflare
Todos los registros (ANY) `dig cesguiro.es ANY +short` A, MX, NS, TXT… (cuidado: algunos servidores lo bloquean)

whois

Información del registro del dominio.

Opción Comando ejemplo Qué hace
Básico `whois cesguiro.es` Toda la información del dominio
Solo registrador `whois -h whois.nic.es cesguiro.es` Fuerza servidor whois de .es
Solo fechas `whois cesguiro.es | grep -i date` Fechas de creación/expiración
Ocultar datos legales `whois google.com` (muchos .com los ocultan por RGPD) En .es suele verse el titular

Ejercicios

Todos los comandos se ejecutan en la VM Alpine Linux (no en el host Windows, donde `dig` no está disponible por defecto).

Primero, instala las herramientas en la VM:

  
apk update  
apk add bind-tools  # Incluye dig, nslookup, whois  

Ejercicio 1

Ejercicio 2

Ejercicio 3

Ejercicio 4

Ejercicio 5

Ejercicio 6

Ejercicio 7