Artículo
DNS: conceptos técnicos que comprendí al trabajar con él
Categoría: Redes
Etiquetas: DNS, TTL, caché, zonas, redes
El DNS es uno de los componentes más importantes de cualquier infraestructura. No solo traduce nombres de dominio en direcciones IP: también afecta a la disponibilidad de los servicios, a la forma en la que se propagan los cambios y a cómo se comportan muchos sistemas en producción.
Cuando empecé a estudiarlo, lo primero que escuché fue la comparación clásica con el “listín telefónico” de Internet. Esa imagen sirve para entender la idea básica, pero se queda corta muy rápido. En cuanto profundizas un poco, aparecen conceptos como resolvers recursivos, cachés, servidores autoritativos, TTL, zonas, transferencias y seguridad. Y ahí es donde DNS deja de parecer una simple traducción de nombres para convertirse en una pieza crítica de infraestructura.
Qué es DNS y por qué es importante
DNS, o Domain Name System, es un sistema jerárquico y distribuido cuya función principal es resolver nombres de dominio en direcciones IP. Eso permite que una persona recuerde un nombre como example.com en lugar de memorizar una dirección numérica.
Sin embargo, su papel real va mucho más allá. DNS también interviene en:
- la ubicación de servicios y aplicaciones;
- la gestión del correo mediante registros como MX, SPF, DKIM o DMARC;
- la validación de servicios y certificados;
- la organización de zonas internas y externas;
- la coherencia entre entornos corporativos, servicios públicos y redes privadas.
En la práctica, muchos problemas que parecen de red, backend o incluso seguridad terminan teniendo su origen en la resolución DNS.
Cómo funciona una resolución DNS
Una resolución DNS no consiste en preguntar a “un servidor” y obtener una respuesta sin más. Lo normal es que intervengan varias capas:
- Caché local del sistema: si la respuesta ya existe y el TTL sigue vigente, se usa directamente.
- Resolver recursivo: si no hay caché local, el sistema consulta al resolver configurado.
- Root servers: indican qué servidores gestionan el TLD correspondiente.
- Servidores TLD: señalan qué servidores son autoritativos para el dominio.
- Servidores autoritativos: devuelven la respuesta definitiva con los registros de la zona.
- Caché del recursor: la respuesta se almacena según el TTL.
Todo este proceso suele ocurrir en milisegundos, pero basta un fallo en cualquiera de esos puntos para que aparezcan lentitud, respuestas inconsistentes o errores intermitentes difíciles de explicar si no se conoce la cadena completa.
Zonas, autoridad y sincronización
Cuando empecé a trabajar con archivos de zona y con la parte más estructural de DNS, entendí mejor por qué es tan importante distinguir entre autoridad, copia y delegación.
Los tipos de zona más habituales son:
- Zona primaria: donde reside la versión editable y original de los registros.
- Zona secundaria: copia de solo lectura sincronizada desde la primaria mediante AXFR o IXFR.
- Zona stub: contiene solo la información mínima para localizar la autoridad real.
- Zona forward: no almacena registros, sino que reenvía consultas para una zona concreta.
Además, en muchos entornos aparece la separación entre zona interna y externa, o incluso configuraciones de split-horizon DNS, donde el mismo dominio responde de forma distinta según desde dónde se consulte. Es un modelo muy útil, pero también una fuente frecuente de errores si no se documenta bien.
Otro elemento fundamental es el registro SOA, que marca la autoridad de la zona y controla la sincronización entre primario y secundarios. Valores como el serial, refresh, retry o expire no son detalles decorativos: de ellos depende que los cambios se propaguen correctamente o que los secundarios sigan sirviendo datos antiguos.
Registros DNS y errores frecuentes
Los registros son el núcleo del comportamiento de una zona, y muchos fallos aparecen precisamente ahí, en detalles pequeños pero muy fáciles de pasar por alto.
Entre los más importantes están:
- A y AAAA: asocian un nombre a una dirección IPv4 o IPv6.
- CNAME: crea un alias hacia otro nombre.
- MX: indica a qué host debe entregarse el correo.
- TXT: se usa para validaciones y políticas como SPF, DKIM o DMARC.
- NS: define qué servidores son autoritativos para la zona.
- SOA: establece la autoridad y los parámetros de sincronización.
Lo importante es que muchos errores reales no vienen de una gran caída de infraestructura, sino de cosas como estas:
- IPs antiguas que nunca se eliminaron;
- CNAMEs usados donde no debían;
- MX apuntando a hosts sin registro A o AAAA válido;
- TXT mal cerrados o mal pegados;
- seriales de SOA sin actualizar;
- NS inconsistentes entre el registrador y el proveedor DNS.
Son errores pequeños, pero suficientes para romper una web, un correo o una API completa.
TTL, caché y la llamada “propagación”
Uno de los conceptos que más cambia la forma de entender DNS es el TTL. A primera vista parece solo un valor en segundos, pero en realidad define cuánto tiempo puede mantenerse una respuesta en caché antes de volver a consultar a la autoridad.
Eso tiene consecuencias directas:
- un TTL alto reduce consultas y mejora rendimiento, pero hace que los cambios tarden más en reflejarse;
- un TTL bajo permite cambios rápidos, pero aumenta la carga y el número de consultas.
Además, la famosa “propagación DNS” no es en realidad una propagación global y mágica. Lo que existe son miles de resolvers manteniendo datos en caché hasta que ese TTL expira. Por eso una persona puede ver un cambio enseguida y otra seguir resolviendo una IP antigua durante horas.
Comprender esto me ayudó a entender muchos comportamientos que, de otra manera, parecían fallos aleatorios de red.
Seguridad en DNS
DNS también es una pieza crítica desde el punto de vista de la seguridad. Alterar la resolución significa cambiar el destino del tráfico sin necesidad de comprometer directamente el servidor o la aplicación.
Entre los vectores de ataque más conocidos están:
- DNS spoofing, para responder con datos falsos;
- cache poisoning, para contaminar la caché de un resolver;
- domain hijacking, normalmente a través del registrador o de la delegación NS;
- ausencia o mala configuración de DNSSEC, que debilita la validación criptográfica de las respuestas;
- exposición accidental de zonas internas o de nombres sensibles de infraestructura.
También aprendí que la seguridad de DNS no depende solo del archivo de zona. Depende del conjunto completo: registrador, 2FA, delegaciones, resolvers confiables, DNSSEC y buena gestión de la autoridad.
Errores que me encontré al estudiarlo y al trabajar con mi dominio
Al profundizar en DNS y al trabajar con mi propio dominio, me encontré con varios errores muy representativos:
- delegaciones inconsistentes entre el registrador y el proveedor DNS real;
- seriales de SOA sin actualizar, dejando secundarios desfasados;
- registros TXT mal formados, sobre todo en validaciones y correo;
- CNAMEs usados de forma incorrecta;
- TTLs demasiado altos en momentos donde hacía falta cambiar rápido;
- mezcla de zonas internas y externas sin una separación clara.
Todos esos fallos me ayudaron a ver que trabajar con DNS no es simplemente “editar registros”, sino entender cómo interactúan autoridad, caché, zonas, sincronización y seguridad.
Conclusión
DNS no es una pieza secundaria ni una utilidad de fondo que solo “resuelve nombres”. Es un sistema crítico que afecta al acceso a los servicios, a la propagación de cambios, a la continuidad operativa y a la seguridad de toda la infraestructura.
Entender cómo funciona por dentro —resolución, zonas, registros, TTL, sincronización y autoridad— cambia completamente la manera de diagnosticar problemas y de planificar servicios. No solo ayuda a resolver incidencias: también ayuda a anticiparlas.