SERVIDORES DNS
QUE ES SERVIDOR DNS
- Domain Name System. Literalmente “Sistema de Nombre de Dominio”, este término hace referencia al sistema en general en el que está basado el funcionamiento de los dominios en Internet: una red mundial de servidores que traducen nombres que tú como humano entiendes, a direcciones IP que las máquinas entienden.
- Domain Name Server. Literalmente “Servidor de Nombre de Dominio”, este término se utiliza para referenciar un servidor DNS concreto, una máquina que está conectada a Internet y que se encarga de responder consultas DNS de otras máquinas. Es decir, una célula del entramado mundial de DNS.
Es una coincidencia desafortunada que tanto “System” como “Server” empiecen por “S”, porque esto implica una cierta ambigüedad en el término “DNS”; ¡pero cuando termines de leer este artículo lo tendrás completamente claro!
Así que para enfocar bien la explicación, voy a ir por partes: primero resumiré el objetivo del sistema DNS en general, y luego te enseñaré en más detalle cómo funciona una de sus células, un servidor DNS.
Historia del Servidor DNS
Si no tienes un perfil técnico, seguramente para ti Internet sea algo parecido a esto: entras en Google, buscas algo y miras en la primera página a ver qué sale. O lo mismo pero en Youtube. Por ningún lado aparecen las palabras “dominio” o “servidor DNS” … pero son imprescindibles para que puedas hacer lo que haces.
Para empezar con buen pie, recapitulo:
- ¿Qué es Internet? Un montón de ordenadores conectados entre sí.
- ¿Cómo se comunican esos ordenadores en Internet? Básicamente cada uno tiene una dirección numérica (como los números de teléfono). Actualmente lo que más se usa es lo que se llama protocolo TCP/IP versión 4, que se basa en direcciones formadas por 4 dígitos que van del 0 al 255. En este mismo blog puedes encontrar más información sobre direcciones IP, por si quieres ampliar.
Allá por finales de los años 60, cuando se estableció la primera conexión entre ordenadores a larga distancia, la cosa era sencilla: solo existían literalmente 4 sitios a los que poder conectarte (cuatro ordenadores en distintas universidades); por lo tanto era sencillo recordar la dirección numérica de cada uno igual que recuerdas cuatro o cinco números de teléfono.
Pero claro, en 1971 ya eran más de 20, y a partir de ahí fueron aumentando exponencialmente. Empezaba a hacer falta una solución a gran escala.
Servidor DNS antes de los 80
¿Qué harías tú si tuvieras (por ejemplo) 100 nombres cada uno con su código numérico, y tuvieras que recordarlos? Yo lo tengo claro: una agenda telefónica, como se ha hecho toda la vida.
Pues el concepto de servidor DNS en los primeros años 80 y anteriores era exactamente ese, un fichero de texto (en este caso guardado en un ordenador en vez de en papel) que tenía apuntados los nombres de todos los ordenadores de Internet cada uno con su dirección IP correspondiente y algunos datos más. A modo curiosidad, aquí podéis encontrar el archivo Hosts de Mayo de 1983.
Es bastante más fácil para ti como humano recordar el nombre Gunter-Adam que la dirección 10.1.0.13 , por lo que este sistema facilitó mucho la utilización de Internet. Es exactamente lo mismo que cuando quieres llamar a un amigo desde el móvil: a día de hoy seguramente ya no marques su número, sino que simplemente harás click en su nombre en tu teléfono; no recuerdas su número, sino su nombre, y dejas que una máquina traduzca el uno al otro.
Servidor DNS en la actualidad
El archivo hosts fue un sistema muy útil mientras Internet tenía una escala pequeña, pero a medida que la red de ordenadores interconectados fue creciendo se hizo evidente que hacía falta algún otro tipo de solución. Ya no solo porque un fichero con cientos de entradas es muy difícil de mantener manualmente, sino también por las limitaciones técnicas de los equipos de la época: un solo ordenador que tuviera el archivo hosts no podía atender todas las peticiones de todos los demás ordenadores de la Red.
¿Soluciones? Bueno, la más sencilla es que haya varios ordenadores con el archivo hosts, cada uno con su copia. Así cada uno atenderá una parte de las peticiones … pero nos encontramos con el problema de la coherencia: tenemos que asegurarnos de que el archivo hosts sea exactamente igual en todos ellos.
Al final se elaboró una solución escalable que permite gestionar millones de nombres de dominio de forma viable: el Sistema de Nombres de Dominio, o DNS.
La principal diferencia con el sistema antiguo, el archivo hosts, es que el DNS está descentralizado; es decir, no existe un ordenador que se encarga de traducir todos los nombres del mundo en direcciones, sino que existen múltiples ordenadores que pueden hacerlo. Y cada uno de ellos es lo que se llama un servidor DNS.
Sistema de Nombres de Dominio
Y si hay más de un servidor DNS en Internet … ¿cómo se organizan todos los que hay?
Pues de hecho, de una forma bastante natural. Cuando tú no sabes algo, ¿qué haces? Preguntas. Pues un servidor DNS hace lo mismo, si le llega una consulta que no sabe responder pregunta a otro.
Imagina que queremos acceder por ejemplo, a la web lucusterra.es desde nuestro ordenador. Lo que ocurrirá normalmente será algo parecido a lo siguiente:
1 – Nuestro equipo verá que no conoce la IP a la que debe conectarse, así que preguntará a un servidor DNS que tenga configurado (normalmente todos los equipos conocen al menos dos servidores DNS, por si uno falla).
2 – A este servidor DNS le llegará una petición: “Oye, ¿a qué IP resuelve el dominio lucusterra.es?”. Pero tampoco conoce la respuesta, así que pregunta al siguiente en la jerarquía, es decir, a uno de sus propios servidores DNS.
3 – Esto ocurrirá un número indeterminado de veces (depende de muchas cosas, como tu proveedor de Internet, el estado de cada servidor DNS al que llegue la consulta, etc …) hasta que al final la pregunta llegue a un Root Server (un poco más abajo te explicamos qué es esto).
4 – El Root Server consultado contestará diciendo “Yo no sé a qué IP resuelve lucusterra.es, pero puedo decirte qué servidor DNS lo sabe.” Entonces dirigirá la consulta a un servidor DNS del dominio padre, oTLD.
5 – El servidor del dominio padre de nuevo contestará la consulta, indicando cuáles son los servidores DNS autoritativos para el dominio; en este caso serán ns1.lucusterra.es y ns2.lucusterra.es.
6 – La petición llega a estos dos servidores DNS, es contestada, y ahora ya todos los equipos por los que ha pasado la consulta van a guardar esta información durante un tiempo (para no tener que repetir todo este rollo cada vez que les hagan esta misma pregunta).
7 – Por último, tu ordenador ya tiene su respuesta y ya sabe a qué IP resuelve el dominio. Hace una conexión a ella, pide la página web y te la enseña.
¡Y todo esto en un par de segundos!

Para completar, voy a explicar un poco más a fondo algunos conceptos que han aparecido en esta descripción y que puede que no te suenen:
- Root Server. Como en cualquier jerarquía, cuando hablamos de servidor DNS tiene que existir un nivel superior, un punto en el que una consulta no contestada no pueda subir más y tenga que ser resuelta de un modo u otro. En este nivel superior la consulta será resuelta por un Root Server.
Un Root Server es un servidor DNS un poco especial. Él no sabe a qué IP resuelve ningún dominio, pero conoce los servidores DNS de cada TLD bajo su jurisdicción; digamos que el Root Server no sabe nada, pero tiene una lista de todos los servidores que sí que saben, y puede indicar cuál es el que hace falta en cada momento. Mientras escribo estas líneas existen 13 Root Servers en todo el mundo, operados y mantenidos por 12 organizaciones independientes.
- TLD. Significa “Top Level Domain”. Siguiendo con el ejemplo, el TLD de lucusterra.es es “.es”. Se trata del dominio “padre”, y es responsabilidad de alguna entidad nacional o internacional que se encarga de gestionar los servidores de nombres que tienen información sobre esta extensión. Por ejemplo, los dominios .es son responsabilidad de nic.es, los .com son responsabilidad de Verisign, etc …
Del mismo modo que un Root Server, los servidores DNS de los TLD no conocen la IP a la que resuelve ningún dominio, pero saben cuáles son los DNS autoritativos de cada dominio bajo su jurisdicción.
- Cache DNS. Si ahora te pregunto a qué IP resuelve un dominio, me contestas, y cinco minutos después te pregunto de nuevo … ¿qué posibilidades hay de que la respuesta haya cambiado? Pues muy pocas, con lo que es absurdo repetir todo el proceso de consultas explicado antes cada vez que quieras resolver un dominio.
Normalmente, cuando un equipo obtiene respuesta de un servidor DNS se la guarda en cache, y durante un tiempo no vuelve a hacer la misma consulta; se fía del resultado anterior. Esto es bueno porque reduce el tiempo que tardas en acceder a las páginas web y la carga a la que se ven sometidos los servidores. Pero también tiene su punto flaco: si cambias la IP a la que apunta tu dominio el resto de servidores del mundo tardarán un tiempo en darse cuenta, mientras aún se fíen del último resultado. Este tiempo es lo que se suele conocer como “propagación DNS”, y si trabajas con dominios seguro que ya lo has vivido alguna vez.
¿Cómo funciona un servidor DNS?
Ahora que sabes cómo funciona en general el sistema DNS, es el momento de explicar cómo funciona cada una de sus células. Es decir, cómo funciona por dentro un servidor DNS.
Una forma bastante fiel de visualizar un servidor DNS es como un oficinista que te da la documentación que le pides. Este oficinista tiene un archivador con hojas, y cada hoja contiene la información de un dominio. Cuando tú le preguntas a qué IP resuelve un dominio, él buscará la hoja correspondiente a ese dominioy te contesta con la información que figura en ella. O si no tiene esta información, le pregunta a otroservidor DNS como explicamos antes.
Zonas DNS
Las zonas DNS son las “hojas” en las que está la información de cada dominio. Una zona no es más que un fichero de texto en el servidor (exactamente igual que uno que podrías crear con un bloc de notas) perocon un formato específico, que le permite al servidor DNS interpretar la información que hay en ella.
Así, si un servidor DNS tiene información para 500 dominios, tendrá 500 ficheros de texto cada uno con la información de uno de esos dominios; es decir, tendrá 500 Zonas DNS.
Registros DNS
Dentro de las zonas DNS la información ha de estar estructurada de forma que el servidor DNS pueda entenderla. Y para ello se organiza en registros.
Si te imaginas una zona DNS como un formulario impreso, cada registro sería un campo de dicho formulario. Los hay de distintos tipos, pero los más importantes son los siguientes:
- Registros de tipo A: Son los más básicos, y traducen literalmente un nombre a una IP. Por ejemplo:
lucusterra.es. A 193.70.65.155
Esto te indica que el nombre lucusterra.es resuelve a la IP 193.70.65.155.
- Registros de tipo CNAME: Son lo que podrías llamar alias. Por ejemplo:
prueba.lucusterra.es. CNAME lucusterra.es.
Este registro te indica que el nombre prueba.lucusterra.es resuelve a la misma IP que lucusterra.es. Es decir, este registro no te da una respuesta directa, sino que delega el resultado al nombre que tú le digas.
- Registros de tipo MX: Son los del correo. Por ejemplo:
lucusterra.es. MX mail.lucusterra.es.
Este registro te dice que si le quieres enviar un email a una cuenta de correo @lucusterra.es, debes entregarlo en la IP a la que apunta mail.lucusterra.es. Es decir, del mismo modo que el CNAME no te da una respuesta directa sino que la delega.
- Registros de tipo TXT: Son de uso genérico y no tienen una estructura específica. Son algo parecido al típico campo “Observaciones” de cualquier formulario, en ellos se puede poner cualquier cosa y no son estrictamente necesarios para el funcionamiento básico de un dominio. Por ejemplo, si quieres demostrarle a Google que un dominio es tuyo puede a veces te pide que crees un registro con esta pinta:
lucusterra.es. TXT “google-site-verification=wwwkdgspi84754nd94”
El dominio va a resolver tanto para web como para correo sin necesidad de este registro, pero puede que algún servicio te lo pida, como en este ejemplo de Google.
Hay más tipos de registro, como SRV, PTR … pero no es el objetivo de esta sección hacer una descripción exhaustiva de todos los elementos de una zona DNS, sino dar una idea general de cómo funciona un servidor DNS.
Además, a cada registro DNS suele acompañarle un número. Por ejemplo:
lucusterra.es. A 14400 193.70.65.155
Ese 14400 es el TTL del registro, o “Time To Live”. Le dice a los servidores que consultan ese registro que deben guardar esa información durante ese número de segundos (en este caso 4 horas). Es decir, es el tiempo de vida de la cache DNS para ese registro.
Cambiar los servidores DNS de un dominio
Cuando cambias los servidores DNS de un dominio, lo que estás haciendo es transmitir información a los servidores del dominio padre o TLD para decirles “Ahora los servidores que tienen información fiable para mi dominio son estos”. Así cuando en Internet se haga alguna consulta DNS sobre tu dominio, dicha consulta llegará al servidor DNS que a tí te interese. En otras palabras, estás cambiando los servidores DNS autoritativos.
Como estás haciendo un cambio sobre la configuración del dominio, tendrás que realizarlo desde tu proveedor de dominios, no desde tu proveedor de alojamiento web.
Lo más típico es hacer esto cuando cambias de proveedor. Cada empresa de hosting suele tener sus propios DNS, y claro, tienen la información que a ellos les interesa (que normalmente se resume en “tu dominio apunta a mi hosting”). Si dejas de tener el hosting con una empresa y pasas a trabajar con otra, normalmente te interesa utilizar los servidores DNS de esta última.
Por cierto, es posible que un proveedor te diga que uses dos servidores DNS, otro tres, otro cuatro … el mínimo son dos (por si fallara uno), pero de ahí para arriba el número es variable.
En este sentido, es importantísimo que cada servidor DNS que le pongas a tus dominios tenga la misma información que todos los demás, sino tu dominio va a funcionar mal. Por lo tanto cuando cambies los servidores DNS de tu dominio ponle los de una empresa o los de otra, pero nunca los mezcles.
Una vez hecho el cambio, recuerda lo que comentamos de la cache DNS: tú ya has cambiado los DNS, pero parte de Internet ya tiene información guardada de a dónde apunta tu dominio, con lo que tardarán unas horas en darse cuenta del cambio. Dependiendo de cuándo hayan hecho la última consulta y de algunas otras cosas, todos los servidores de Internet irán sabiendo, poco a poco, que han de hacerle caso a los nuevos servidores que has especificado y no a los antiguos.
Pero este “darse cuenta del cambio” no es simultáneo en todo Internet, y durante unas horas habrá algunos servidores que aún le hagan caso a los DNS antiguos, y otros que ya le hagan caso a los nuevos. De ahí que probablemente, hasta que pasen al menos 24 horas desde que hiciste el cambio, desde unas conexiones el dominio funcione contra el hosting antiguo y desde otras funcione ya contra el nuevo.
Comentarios
Publicar un comentario