¿Qué es DNS?
DNS (Sistema de Nombres de Dominio) es la guía telefónica de internet. Traduce nombres de dominio legibles para las personas, como "example.com", en direcciones IP legibles para las máquinas, como "93.184.216.34", que los ordenadores utilizan para localizarse y comunicarse entre sí. Sin DNS, tendría que memorizar direcciones IP para visitar sitios web. Imagine escribir 142.250.80.46 en lugar de google.com.
Cómo funciona DNS
Cuando introduce un nombre de dominio en su navegador, se produce un proceso complejo, pero rapidísimo:
El proceso de resolución DNS
1. Comprobación de la caché local: Su navegador y su sistema operativo consultan primero la caché DNS local en busca de una consulta reciente del dominio.
2. Consulta al resolvedor recursivo: Si no está en la caché, la consulta se envía a un resolvedor DNS recursivo, normalmente operado por su ISP o por un servicio como Cloudflare en 1.1.1.1 o Google en 8.8.8.8.
3. Consulta al servidor raíz: El resolvedor consulta un servidor de nombres raíz, que lo dirige al servidor TLD correspondiente.
4. Consulta al servidor TLD: El servidor TLD, por ejemplo el de .com, proporciona los servidores de nombres autoritativos del dominio específico.
5. Consulta al servidor autoritativo: Por último, el servidor de nombres autoritativo devuelve la dirección IP real del dominio.
6. Caché de la respuesta: El resultado se almacena en caché en varios niveles según los valores de TTL (tiempo de vida).
Todo el proceso suele completarse en milisegundos.
Tipos de registros DNS
DNS almacena varios tipos de registros, cada uno con una finalidad distinta:
| Tipo de registro | Finalidad | Ejemplo |
|---|---|---|
| A | Asocia el dominio con una dirección IPv4 | example.com → 93.184.216.34 |
| AAAA | Asocia el dominio con una dirección IPv6 | example.com → 2606:2800:220:1:... |
| CNAME | Alias que apunta a otro dominio | www.example.com → example.com |
| MX | Designa el servidor de correo | example.com → mail.example.com |
| TXT | Datos de texto (SPF, DKIM, verificación) | Varias cadenas de verificación |
| NS | Delegación del servidor de nombres | example.com → ns1.provider.com |
La jerarquía de DNS
DNS funciona como una base de datos jerárquica distribuida:
. (root)
├── com (TLD)
│ ├── example (SLD)
│ │ ├── www (subdomain)
│ │ └── mail (subdomain)
│ └── google
├── org (TLD)
└── io (TLD)
Esta jerarquía permite gestionar de forma distribuida miles de millones de nombres de dominio entre miles de organizaciones.
DNS para desarrolladores
Comprender DNS es fundamental para el desarrollo web:
Tareas de desarrollo habituales
Configuración del dominio: Configurar registros A, registros CNAME para subdominios y registros MX para el correo electrónico requiere conocimientos de DNS. Verificación SSL/TLS: Muchas autoridades de certificación utilizan registros DNS (TXT o CNAME) para verificar la propiedad del dominio. Configuración de CDN: Las redes de distribución de contenido suelen requerir registros CNAME para enrutar el tráfico a través de sus servidores perimetrales. Entregabilidad del correo electrónico: Los registros SPF, DKIM y DMARC son registros TXT de DNS esenciales para autenticar el correo electrónico.Propagación de DNS
Al actualizar los registros DNS, los cambios no surten efecto de inmediato. La propagación de DNS, es decir, el tiempo que tardan los cambios en extenderse por la infraestructura DNS mundial, puede durar desde unos minutos hasta 48 horas, según la configuración de TTL y el comportamiento de las cachés.
Consideraciones de seguridad de DNS
DNS tiene implicaciones de seguridad que los desarrolladores deben comprender:
Suplantación de DNS: Los atacantes pueden intentar devolver respuestas DNS falsas para redirigir a los usuarios a sitios maliciosos. DNSSEC (Extensiones de seguridad de DNS) ayuda a impedirlo mediante firmas criptográficas. Fugas de DNS: Los usuarios de VPN pueden enviar accidentalmente consultas DNS fuera del túnel cifrado y dejar expuesta su actividad de navegación. Amplificación DDoS: DNS puede explotarse en ataques de amplificación porque el protocolo puede devolver respuestas mayores que las solicitudes.DNS y disponibilidad de los dominios
El estado de la resolución DNS puede indicar si un dominio está disponible. Si no existen registros DNS, es posible que el dominio no esté registrado. Sin embargo, las consultas RDAP/WHOIS ofrecen información más fiable sobre la disponibilidad, ya que un dominio registrado puede no tener todavía registros DNS configurados.