Logo DNS

Servidores de nombres, sus tipos y zonas

publicado en: DNS, Redes, Servicios de Red | 0
 
 

Este es el tercero de los artículos dedicados al DNS publicados en ZeppelinuX. En este artículo se define que es un Servidor de nombres o Servidor DNS, tipos de Servidores de nombres y se explica que son las zonas. Si te interesa ver el artículo anterior, Espacio de nombres de dominio (domain name space), solo tienes que pinchar aquí.

Índice General

  1. Definición de Servidor de nombres.
  2. Zonas.
  3. Tipos de Servidores de nombres.
  4. Software más utilizado.

 

  1. Definición de Servidor de nombres (Volver al índice General)
    Los servidores de nombres de dominio o servidores DNS, son programas encargados de guardar información sobre nombres de dominio. La utilidad de los servidores DNS es enlazar el dominio con su correspondiente IP y responder a las preguntas que los clientes DNS y otros servidores DNS les hacen sobre los dominios que administran. Por lo tanto, cada servidor DNS almacena una parte de la base de datos DNS.

    Por defecto, el servicio DNS, escucha por los puertos 53/TCP y 53/UDP.
    Ver ¿Cómo funciona el servicio DNS?

  2. Zonas (Volver al índice General)
    Como se ha dicho en el apartado anterior, los servidores de nombres almacenan información de una parte de la base de datos DNS o lo que es lo mismo, de una parte del espacio de nombres de dominio. A esta parte se la conoce como zona. Por ejemplo, el proveedor de servicios de ZeppelinuX, en alguno o varios de sus servidores DNS almacena información de la zona zeppelinux.es.

    Cuando un servidor DNS contiene una zona, se dice que es un servidor autorizado (authoritative) para esa zona. Por ejemplo, los servidores DNS del proveedor de servicios de ZeppelinuX son autorizados para la zona zeppelinux.es. Los servidores DNS que responden preguntas de zonas que no contienen o administran se denominan servidores no autorizados (non-authoritative).

    Las zonas se almacenan en archivos de texto o en bases de datos, según el tipo de software que se utilice para montar el servidor DNS y de como se configure. Su formato está definido en la RFC 1035.

    Tomemos como ejemplo el dominio zeppelinux.es y veamos parte de su archivo de zona:

    ...
    zeppelinux.es.			IN	NS	ns1.zeppelinux.es.ns1.zeppelinux.es.		IN	A	192.168.1.20mortadelo.zeppelinux.es.	IN	A	192.168.1.21
    filemon.zeppelinux.es.		IN	A	192.168.1.22
    www.zeppelinux.es.		IN	CNAME	mortadelo.zeppelinux.es.
    ftp.zeppelinux.es.		IN	CNAME	filemon.zeppelinux.es.
    ...
    Fichero de zona de resolución directa del dominio zeppelinux.es. que se almacena en el servidor DNS cuyo nombre es ns1.zeppelinux.es. y su IP es 192.168.1.20
    A cada una de las líneas del fichero se las conoce como registros de recurso (RR: Resource Records) y definen los tipos de datos en el Domain Name System (DNS). Se utilizan para almacenar datos sobre nombres de dominio y direcciones IP. Una base de datos o fichero de zona está formada por una serie de registros de recursos. Cada registro de recurso da información pertinente sobre un objeto determinado. Por ejemplo, los registros de tipo (A) asocian un nombre de host con una dirección IP, y los registros de puntero de búsqueda inversa (PTR) asocian una dirección IP con un nombre de host y un registro (NS) define un servidor DNS para la zona. El servidor DNS utiliza estos registros de recurso para resolver las consultas de los hosts de su zona.

    Cuando un servidor DNS es autorizado para una zona, es el responsable de los nombres de dominio para esa zona. En nuestro ejemplo, ns1.zeppelinux.es es el servidor autorizado para la zona zeppelinux.es. y en él se definen los nombres que cuelgan de zeppelinux.es como por ejemplo, www.zeppelinux.es, ftp.zeppelinux.es, mortadelo.zeppelinux.es, etc.

    La organización que administra el servidor DNS y por lo tanto la zona, puede delegar o no alguno de sus subdominios. Supongamos que de zeppelinux.es. cuelgan los subdominios viajes.zeppelinux.es. y datos.zeppelinux.es. y se decide delegar solo el subdominio viajes.zeppelinux.es.. Esto implica que existirá otro servidor DNS autorizado para el dominio viajes.zeppelinux.es., que almacenará el fichero de zona para dicho dominio.

    ...
    zeppelinux.es.			IN	NS	ns1.zeppelinux.es.ns1.zeppelinux.es.		IN	A	192.168.1.20mortadelo.zeppelinux.es.	IN	A	192.168.1.21
    filemon.zeppelinux.es.		IN	A	192.168.1.22
    www.zeppelinux.es.		IN	CNAME	mortadelo.zeppelinux.es.
    ftp.zeppelinux.es.		IN	CNAME	filemon.zeppelinux.es.
     
    ;Subdomino viajes.zeppelinux.es. DELEGADO
    viajes.zeppelinux.es.		IN	NS	ns1.viajes.zeppelinux.es.
    ns1.viajes.zeppelinux.es.	IN	A	192.168.2.20
     
    ;Subdomino datos.zeppelinux.es. NO DELEGADO
    www.datos.zeppelinux.es.	IN	A	192.168.3.21
    ftp.datos.zeppelinux.es.	IN	A	192.168.3.22
    ...
    Fichero de zona de resolución directa del dominio zeppelinux.es. que se almacena en el servidor DNS cuyo nombre es ns1.zeppelinux.es. y su IP es 192.168.1.20 con delegación
    ...
    viajes.zeppelinux.es.		IN	NS	ns1.zeppelinux.es.ns1.viajeszeppelinux.es.	IN	A	192.168.2.20www.viajes.zeppelinux.es.	IN	A	192.168.2.21
    ftp.viajes.zeppelinux.es.	IN	A	192.168.2.22
    ...
    Fichero de zona de resolución directa del dominio viajes.zeppelinux.es. que se almacena en el servidor DNS cuyo nombre es ns1.viajes.zeppelinux.es. y su IP es 192.168.2.20
    Una zona no es lo mismo que un dominio. Un dominio es un subarbol del espacio de nombres de dominio y los datos asociados a los nombres de un dominio pueden estar almacenados en una o varias zonas, distribuidas en uno o varios servidores DNS.

    Un servidor DNS puede ser autorizado sobre varias zonas, por ejemplo, el mismo servidor DNS puede ser autorizado para la zona zeppelinux.es. y para la zona publicaciones.es..

    Podría darse el caso que el servidor DNS que aloja una zona no fuese accesible en un momento dado, debido a que el servidor sufre algún problema, En ese momento, ¿Quién responde a las preguntas de los clientes DNS?, o que el servidor DNS recibe tantas preguntas que empieza a disminuir su rendimiento y los clientes DNS tienen que esperar varios segundos hasta obtener respuesta. Para evitar estas situaciones y mejorar el servicio, DNS permite almacenar una misma zona en varios servidores DNS, ofreciendo así una mayor rapidez, balanceo de carga y tolerancia a fallos. Teniendo en cuenta esto, tendremos que diferenciar entre servidores maestros o primarios y servidores esclavos o secundarios, que se explicarán en los siguientes apartados.

  3. Tipos de Servidores de nombres (Volver al índice General)
    Según la función que desempeñe un servidor DNS podremos clasificarlo en diferentes tipos:

    • Servidor maestro o primario.
    • Servidor esclavo o secundario.
    • Servidor cache.
    • Servidor reenviador (forwarder).
    • Servidor solo autorizado.

    Hay que tener en cuenta que un mismo servidor DNS puede desempeñar varias de estas funciones simultáneamente. Por ejemplo un servidor DNS puede ser maestro para una zona, esclavo para otra y actuar como cache.

    • Servidor maestro o primario (Volver al índice General)
      Un servidor maestro o primario, define una o varias zonas de las que es autorizado. Sus archivos de zona son de lectura y escritura y es en ellos donde el administrador del servidor añade, modifica o elimina nombres de dominio.

      • Si un cliente DNS u otro servidor DNS le pregunta por algún nombre de dominio para el que es autorizado, consulta con los ficheros de zona y responde a la pregunta.
      • Si un cliente DNS u otro servidor DNS le pregunta por algún nombre de dominio para el que no es autorizado, tendrá que preguntar a otros servidores DNS o responder que no conoce la respuesta.

       

    • Servidor esclavo o secundario (Volver al índice General)
      Un servidor esclavo o secundario define una o varias zonas para las que es autorizado. La diferencia con respecto a un servidor maestro es que los ficheros de zona los obtiene de otro servidor autorizado para la zona, normalmente, de un servidor maestro mediante un procedimiento denominado transferencia de zona. Los ficheros de zona de los servidores esclavos son de solo lectura y por lo tanto, el administrador no tiene que editarlos. La modificación de los archivos de zona debe realizarla el servidor maestro que transfiere la zona.

      El funcionamiento de como responden a los clientes DNS o a otros servidores DNS es similar al de un servidor maestro.

      Un servidor puede ser maestro para una o varias zonas y al mismo tiempo ser esclavo para otras.
      Pueden existir varios servidores esclavos para una misma zona. Las razones de su existencia pueden deberse a:

      • Reducir y repartir la carga entre varios servidores DNS.
      • Favorecer la tolerancia a fallos.
      • Ofrecer mayor rapidez.

      Lo ideal es que los servidores DNS para una misma zona estén ubicados en redes y localizaciones diferentes para evitar que, si ocurre algún problema no les afecte simultáneamente y deje sin servicio de resolución a los nombres de esa zona.

      Servidores DNS maestros y esclavos

    • Servidor caché (Volver al índice General)
      Los servidores DNS se configuran como servidores cache para mejorar los tiempos de respuesta de las consultas, reducir la carga de los equipos y disminuir el tráfico de red.

      Cuando un servidor DNS recibe una pregunta sobre un dominio para el cual no es autorizado, es decir, de un nombre del cual no tiene información, puede preguntar, si así está configurado, a otros servidores para obtener la respuesta. Si el servidor actúa como cache, guarda durante un tiempo (TTL: Time To Live) las respuestas a las últimas preguntas que ha realizado a otros servidores DNS. Cada vez que un cliente DNS u otro servidor DNS le formula una pregunta, comprueba si tiene la respuesta en su memoria cache, si la tiene, no tendrá que preguntar a otro servidor DNS por la pregunta.

      Un servidor DNS es solo cache (cache only server) cuando:

      • No tiene autoridad sobre ninguna zona.
      • Pregunta a otros servidores DNS para resolver las preguntas de los clientes DNS y las guarda en su memoria cache.

      En el siguiente gráfico se explica como dos clientes DNS hacen preguntas a un mismo servidor DNS que es autorizado para algunas zonas y además actúa como caché.
      Servidores DNS cache

    • Servidor reenviador (forwarder) (Volver al índice General)
      Cuando a un servidor DNS se le hace una pregunta sobre un nombre de dominio del que no dispone información (no es autorizado), este puede preguntar a otros servidores DNS. Simplificando, existen dos formas de procesar las consultas:

      • El servidor DNS procesa la consulta preguntando a diversos servidores DNS y empezando por los servidores DNS raíz. Consulta iterativa.
        Servidores DNS reenviadores: realiza consultas iterativas
      • El servidor DNS reenvía la consulta a otro servidor DNS, denominado reenviador (forwarder), para que se encargue de resolverla. Consulta recursiva.
        Servidores DNS reenviadores: realiza consultas recursivas

      Visto lo anterior, un reenviador (forwarder) es un servidor DNS que otros servidores DNS designan para reenviarle consultas. Son utilizados para minimizar las consultas y el tráfico de peticiones DNS desde una red hacia Internet. Además permiten a los equipos locales utilizar su cache DNs para minimizar los tiempos de respuesta.

    • Servidor solo autorizado (Volver al índice General)
      Un Servidor solo autorizado (authoritative only) es aquel que es autorizado para una o varias zonas como servidor maestro y/o esclavo y no responde a preguntas que no sean relativas a sus zonas. Es decir, no tiene activada la recursividad, no es reenviador y no actúa como cache.

    • Servidores raíz (root servers) (Volver al índice General)
      En Internet existen un conjunto de servidores DNS autorizados para el dominio raíz «.», conocidos como servidores raíz (root servers). Contienen el fichero de la zona «.» que contiene información sobre los servidores DNS autorizados para cada uno de los dominios TLD.

      Los servidores raíz son una parte fundamental de Internet, son el primer paso en la traducción (resolución) de los nombres de host en direcciones IP, que se utilizan en la comunicación entre los hosts de Internet. Son claves en el proceso de resolución de nombres de dominio en Internet, y deben de ser conocidos por todos los servidores DNS que respondan a preguntas sobre nombres para los que no son autorizados.

      Existen 13 servidores raíz en toda Internet y cada uno de ellos tiene múltiples copias distribuidas por todo el mundo, es decir, que físicamente no solo son 13 servidores. Cada conjunto de copias de uno de los 13 servidores se identifica por una misma IP. Cuando un cliente realiza una pregunta a una IP de un servidor raíz, los routers de Internet encaminan la pregunta hacia la copia más cercana mediante un procedimiento denominado anycasting

      Los nombres de los servidores raíz son de la forma letra.root-servers.net, donde letra va desde la A a la M.

      Listado de Servidores raíz

      ;======================================================================================================
      ;Hostname		Dirección IP				Administrador
      ;======================================================================================================
      a.root-servers.net 	198.41.0.4, 2001:503:ba3e::2:30		VeriSign, Inc.
      b.root-servers.net 	199.9.14.201, 2001:500:200::b 		University of Southern California (ISI)
      c.root-servers.net 	192.33.4.12, 2001:500:2::c		Cogent Communications
      d.root-servers.net 	199.7.91.13, 2001:500:2d::d 		University of Maryland
      e.root-servers.net 	192.203.230.10, 2001:500:a8::e 		NASA (Ames Research Center)
      f.root-servers.net 	192.5.5.241, 2001:500:2f::f 		Internet Systems Consortium, Inc.
      g.root-servers.net 	192.112.36.4, 2001:500:12::d0d 		US Department of Defense (NIC)
      h.root-servers.net 	198.97.190.53, 2001:500:1::53 		US Army (Research Lab)
      i.root-servers.net 	192.36.148.17, 2001:7fe::53 		Netnod
      j.root-servers.net 	192.58.128.30, 2001:503:c27::2:30	VeriSign, Inc.
      k.root-servers.net 	193.0.14.129, 2001:7fd::1		RIPE NCC
      l.root-servers.net 	199.7.83.42, 2001:500:9f::42		ICANN
      m.root-servers.net 	202.12.27.33, 2001:dc3::35		WIDE Project
      ;======================================================================================================

      Los servidores raíz están bajo la responsabilidad de la ICANN, pero son operados por un consorcio de organizaciones. El comité asesor del sistema de servidores raíz (RSSAC: Root Server System Advisory Committee) es un comité de la ICANN, que por estatutos tienen autoridad sobre la operación del sistema.​
       

  4. Software DNS más utilizado (Volver al índice General)
    Existe multitud de software para servidores DNS unos son para sistemas libres y otros para sistemas propietarios. Los más utilizados son:

    Para distribuciones Linux y UNIX:

    • BIND: Berkeley Internet Name Domain, anteriormente, Berkeley Internet Name Daemon, es el servidor de DNS más usado en Internet, principalmente en sistemas UNIX. BIND está patrocinado por la Internet Systems Consortium.
      La nueva versión de BIND, BIND 9, fue escrita desde cero. Incorpora DNSSEC (DNS Security Extensions). BIND 9 incluye entre otras características importantes: TSIG, notificación DNS, nsupdate, IPv6, rndc flush, vistas, procesamiento en paralelo, y una arquitectura mejorada en cuanto a portabilidad. Es comúnmente usado en sistemas GNU/Linux.
    • PowerDNS: Es un servidor DNS, escrito en C++ y bajo licencia GPL. Se puede ejecutar en la mayoría de los derivados de UNIX. Cuenta con un gran número de backends diferentes que van desde archivos de zona de estilo BIND simples hasta bases de datos relacionales y algoritmos de balanceo de carga/tolerancia a fallos. El servidor DNS recursivo se proporciona como programa separado.
    • NSD: Name Server Daemon (NSD), del inglés, demonio de servidor de nombres, es un programa de código abierto para DNS. Desarrollado por NLnet Labs en cooperación con el RIPE NCC, desde cero como un servidor DNS autorizado, es decir, no implementa las funciones de recursividad y caché. Ideal para entornos donde la velocidad, la confiabilidad, la estabilidad y laseguridad son de gran importancia.
    • Cisco Network Registrar: Proporciona el software necesario para implementar servidor DNS, servidor DHCP y gestor de direcciones IP (IPAM) – Servicios DDI para IPv4 e IPv6, escalables, confiables e integrados.

      DDI es una forma abreviada de integración de DNS, DHCP e IPAM (gestión de direcciones IP) en un servicio o solución unificada. DDI comprende la base de los servicios de red principales que permiten todas las comunicaciones a través de una red basada en IP.

    • dnsmasq: proporciona redireccionador de sistema de nombres de dominio (DNS), servidor DHCP, enrutador de publicidad y funciones de arranque de red para pequeñas redes informáticas, creado como software libre. dnsmasq utiliza pocos recursos del sistema,​ puede ejecutarse en Linux, BSD, Android y macOS, y está incluido en la mayoría de las distribuciones Linux.
       

    Para Windows:

    • Servidor DNS de Microsoft: El software de servidor DNS sólo es suministrado con las versiones de servidor de Windows. DNS es un rol de servidor que se puede instalar mediante comandos de administrador del servidor o Windows PowerShell.
    • Simple DNS Plus: Servidor DNS simple, pero potente para Windows. Todas las opciones y configuraciones están disponibles desde la interfaz gráfica. Proporciona asistentes para tareas comunes, como la configuración de nuevas zonas, importación de datos, actualizaciones masivas, etc. Simple DNS Plus es un servidor DNS muy completo y con muchas funciones, y tiene muchas opciones para que los usuarios expertos lo configuren a su manera.

Aquí termina el tercero de los artículos dedicado al Sistema de Nombres de Dominio (DNS). En breve, continuaremos publicando más sobre DNS, en concreto sobre Clientes DNS, Proceso de resolución, Caché, TTL y Recursividad y caché.

Espero que este artículo os haya sido de utilidad. Si pensáis que podéis colaborar para mejorar este artículo, que hay algo erróneo en él o simplemente deseáis comentarlo, por favor, dejad vuestra opinión más abajo.
  Configuración de privacidad y de cookies.
Seguir J. Carlos:

Técnico Informático - Desarrollo Web - Administración de Redes

Técnico Informático. Desarrollo Web. Administración de redes.

Últimas publicaciones de

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.