Arquitectura y Funcionamiento del Sistema de Nombres de Dominio (DNS)

1. El Espacio de Nombres de Dominio

El servicio DNS (Domain Name System) se compone de una base de datos distribuida que almacena las asociaciones entre nombres de dominio y direcciones IP. Esta base de datos se organiza jerárquicamente mediante nombres de dominio, donde cada uno puede considerarse una rama en un árbol invertido llamado espacio de nombres de dominio. El árbol comienza en el nodo raíz, situado en el nivel superior. Normalmente, se utilizan hasta 5 niveles. De esta forma, el nombre del nodo se identifica de manera única dentro de la jerarquía del árbol. El nombre de dominio completo se denomina Fully Qualified Domain Name (FQDN). El primer nivel (Top-Level Domain o TLD), como .com, .es, .org, etc., está formado por los dominios que descienden directamente del nodo raíz.

1.1 Dominios y Zonas

El servidor de nombres almacena información sobre partes o zonas del espacio de nombres de dominio. Un servidor de nombres tiene autoridad sobre una zona específica. La zona es un archivo que contiene determinados registros de la base de datos del espacio de nombres de dominio. La generación de zonas se realiza mediante la delegación de autoridad. Los servidores de nombres se pueden clasificar en tres tipos:

  • Servidor primario: obtiene la información de sus zonas de sus archivos locales. Todas las modificaciones se realizan en este servidor.
  • Servidor secundario: contiene una copia de solo lectura de los archivos de zona, ya que la información se encuentra en el servidor primario o maestro.
  • Servidor caché: solo atiende a consultas de los clientes DNS sobre nombres de dominio. Se utiliza para acelerar las consultas.

La información de las zonas se obtiene a través de la red mediante un mecanismo denominado transferencia de zona. Si un usuario en Internet quiere ofrecer determinados servicios, deberá contactar con una empresa proveedora para contratar un dominio y un hospedaje.

2. Base de Datos del Protocolo DNS

Cada servidor DNS mantiene una base de datos, llamada archivos de zona, que permite asociar nombres de dominio con direcciones IP, así como realizar la resolución inversa. Ambas bases de datos son archivos de texto. A la hora de resolver nombres, los servidores DNS consultan las zonas que contienen registros de recursos (RR) que describen la información del dominio DNS. Los principales tipos de registros de recursos son:

  • SOA (Start of Authority): inicio de autoridad, identifica al servidor autoritario de una zona.
  • NS (Name Server): servicio de nombres, identifica servidores de nombres autorizados para una zona.
  • A (Address): dirección, asocia un nombre de dominio FQDN con una dirección IP.
  • PTR (Pointer): puntero, asigna una dirección IP a un FQDN.
  • MX (Mail Exchanger): registro de correo, indica las máquinas encargadas de la entrega y recepción de correo en el dominio.
  • CNAME (Canonical Name): nombre canónico, permite asignar uno o más nombres a una máquina.
  • TXT (Text): almacena cualquier información.
  • SRV (Service): ubicación de los servidores para un servicio.

3. Servidores de Nombres de Dominio

Existen varias aplicaciones de servicios DNS. La más conocida y utilizada es BIND (Berkeley Internet Name Domain), que está disponible bajo licencia gratuita. La ejecución de un servidor DNS en una máquina implica la ejecución del proceso named, cuyo archivo de configuración es /etc/bind/named.conf. Este archivo es donde se le indica a BIND qué debe hacer, dónde y cómo. Las principales sentencias del archivo named.conf son:

  • zone: permite definir y describir las configuraciones de las zonas. Hay cuatro tipos de zonas:
    • Zona maestra: alberga la copia principal de los datos de la zona.
    • Zona esclava: contiene datos que se obtienen como resultado de la duplicación de la información de una zona maestra.
    • Zona oculta: cuando se hacen peticiones a una zona desconocida, esta ofrece información relativa a los servidores raíz.
    • Zona reenvío: indica al servidor de nombres que redirija las peticiones de información sobre la zona hacia otros servidores.
  • include: sentencia que se utiliza para incluir los archivos que contienen las opciones y las zonas locales.

A partir de BIND, se incluyen dos herramientas de software para verificar la sintaxis y semántica de los archivos que describen las zonas y el archivo de configuración principal named.conf. Estas son named-checkzone y named-checkconf.

4. Configuración de un DNS Secundario en Ubuntu

Los servidores secundarios permiten descargar el tráfico DNS en redes en las que se consulta a menudo una zona. Si el servidor primario o maestro se mantiene inactivo por alguna razón, el secundario ofrecerá una resolución de nombres en esa zona mientras el primario no esté disponible. Debe encontrarse en una máquina diferente y ha de mantenerse actualizado para ofrecer un servicio en condiciones.

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.