Imagine cómo sería tener que recordar las direcciones IP de todos los sitios web que utilizamos diariamente. Incluso si tuviesemos una memoria prodigiosa, el proceso de navegación hasta un sitio web sería absurdo y consumiría mucho tiempo.
Y ¿qué pasaría si tuviesemos que visitar varios sitios web o utilizar varias aplicaciones que residen en la misma máquina o hospedador virtual? Eso sería uno de los peores dolores de cabeza que se me ocurren, no mencionando la posibilidad de que la dirección IP asociada a un sitio web o aplicación pueda cambiar sin previo aviso.
Sólo el pensamiento de eso sería motivo suficiente para desistir de usar Internet o redes internas después de un tiempo.
Ese sería precisamente el mundo sin el Sistema de Nombres de Dominio (también conocido como DNS). Afortunadamente, este servicio resuelve todos los problemas mencionados anteriormente, incluso si la relación entre una dirección IP y un nombre cambia.
Por esa razón, en este artículo, aprenderá cómo configurar y usar un simple servidor DNS, un servicio que permitirá traducir nombres de dominio en direcciones IP y viceversa.
presentación de la Resolución de Nombres de DNS
Para pequeñas redes que no se someten a cambios frecuentes, el archivo /etc/hosts puede usarse como un método primitivo de resolución del nombre de dominio a dirección IP.
Con una sintaxis muy simple, este archivo nos permite asociar un nombre (y/o un alias) a una dirección IP de la siguiente manera:
[IP address] [name] [alias(es)]
Por ejemplo,
192.168.0.1 gateway gateway.mydomain.com 192.168.0.2 web web.mydomain.com
Así, puede llegar a la máquina web tanto por su nombre como por el alias web.mydomain.com o por su dirección IP.
Para redes más grandes o aquellas que sufren cambios frecuentes, utilizar el archivo /etc/hosts para resolver nombres de dominio en direcciones IP no sería una solución aceptable. Es allí donde entra en juego la necesidad de un servicio dedicado.
Debajo del capó, un servidor DNS realiza consultas a una base de datos grande en forma de árbol, que comienza en la zona raíz (“.”)
.
La siguiente imagen nos ayudará a ilustrar:

En la imagen anterior, la zona raíz (.)
contiene los dominios com, edu y net. Cada uno de estos dominios puede ser administrado por diferentes organizaciones para evitar depender de una gran central. Esto permite distribuir adecuadamente las solicitudes de manera jerárquica.
Veamos qué sucede debajo de la capa:
1. Cuando un cliente hace una consulta a un servidor DNS para web1.sales.me.com, el servidor envía la consulta al servidor DNS raíz, que apunta la consulta al servidor de nombres de la zona .com
.
Este, a su vez, envía la consulta al siguiente nivel de servidor de nombres (en la zona me.com
), y luego a sales.me.com
. Este proceso se repite el número de veces necesario hasta que el FQDN (Fully Qualified Domain Name, web1.sales.me.com en este ejemplo) es devuelto por el servidor de nombres de la zona donde pertenece.
2. En este ejemplo, el servidor de nombres en sales.me.com.
responde a la dirección web1.sales.me.com
y devuelve la asociación de nombre de dominio-IP deseada y otra información además (si está configurado para hacerlo).
Toda esta información se envía al servidor DNS original, que a su vez la devuelve al cliente que la solicitó originalmente. Para evitar repetir los mismos pasos para futuras consultas idénticas, los resultados de la consulta se almacenan en el servidor DNS.
Estas son las razones por las que este tipo de configuración se conoce comúnmente como un servidor DNS recursivo, con cache.
Source:
https://www.tecmint.com/setup-recursive-caching-dns-server-and-configure-dns-zones/