Fundamentos Esenciales del Sistema de Nombres de Dominio (DNS) y su Configuración


1. Conceptos Fundamentales de Nombres

Diferencias entre Nombres Planos y Nombres Jerárquicos

  • Nombres Planos: Se produce cuando una dirección IP dirige directamente al host.
  • Nombres Jerárquicos: Se produce cuando se realiza una consulta y el servidor se encarga de traducir un nombre de dominio a una dirección IP.

2. Estructura Jerárquica del Dominio

FQDN (Fully Qualified Domain Name)

Es un nombre de dominio que identifica el trayecto completo hasta un equipo dentro de la jerarquía de nombres.

TLD (Top-Level Domain)

Es el dominio de primer nivel y siempre está organizado por temática (ej. .com, .org) o geografía (ej. .es, .mx).

SLD (Second-Level Domain)

Algunas autoridades crean un segundo nivel de dominio (ej. .co.uk).

IDN (Internationalized Domain Name)

Son conversiones de lenguas no latinas (caracteres especiales) para su uso en nombres de dominio.

Dominios de Tercer Nivel

Son subdominios que una empresa o particular registra o alquila.

3. Autoridad y Gestión de Dominios

ICANN (Internet Corporation for Assigned Names and Numbers)

Es la entidad que gestiona la delegación de los gTLD (generic Top-Level Domains) y de los ccTLD (country code Top-Level Domains). Registrar un dominio significa que se obtiene la potestad para crear subdominios dentro de él.

4. Funcionamiento de las Consultas DNS

Proceso de Consulta de un Cliente

¿Cómo realiza un DNS una consulta solicitada por un cliente?

  1. Primero, el servidor DNS mira en su lista de zonas locales.
  2. Si no está ahí, mirará en su caché.
  3. Si no está en la caché, consulta a su DNS primario (si está configurado).
  4. Si el primario no lo resuelve, consulta al secundario.
  5. Si ninguno de los servidores configurados funciona, se generará un error de conexión.

La comunicación del DNS se realiza a través del puerto 53.

Tipos de Consultas por Dirección

  • Consulta Directa: El cliente pregunta por un nombre de dominio y el DNS averigua su dirección IP asociada.
  • Consulta Inversa (Reverse Lookup): El cliente pregunta por una dirección IP y el DNS averigua el nombre de dominio asociado.

Tipos de Consultas DNS por Resolución

  • Recursivas: Es aquella en la que el servidor de nombres debe dar la respuesta completa al resolver del PC cliente, asumiendo toda la carga de la resolución.
  • Iterativas: Es aquella en la que el servidor de nombres responde con la mejor información que tiene (generalmente la dirección de otro servidor DNS) y el cliente debe seguir preguntando hasta obtener la respuesta final.

5. Tipos de Servidores de Nombres

  • Primarios (Master): Es un servidor autosuficiente, donde se pueden actualizar, modificar o añadir nombres de dominios. Contiene la copia maestra de la zona.
  • Secundarios (Slave): Depende de un servidor primario. El secundario solicita una copia de solo lectura de la zona (transferencia de zona) cada cierto tiempo.
  • Caché (Hint): Servidor que almacena temporalmente las respuestas a consultas externas para acelerar futuras resoluciones. Se utiliza incluso cuando no se tiene delegación de ninguna zona de dominio.
  • Reenviador (Forwarder): Sirve para descargar el tráfico local y la carga de trabajo de los servidores DNS externos, enviando todas las consultas no locales a un servidor específico.

6. Zonas DNS

  • Zonas Primarias: Son las que se tienen cuando se ha delegado una zona o dominio. Son las únicas que se pueden editar y modificar.
  • Zonas Secundarias: Dependen de una zona primaria y son de solo lectura, obteniendo sus datos mediante una transferencia de zona.

7. Base de Datos DNS y Registros

Estructura de la Base de Datos

La base de datos DNS consiste en al menos dos archivos que contienen la configuración de zonas y registros.

En el software BIND (Berkeley Internet Name Domain):

  • El archivo de configuración principal se llama named.conf.
  • Los registros de zona están en otros archivos que se suelen denominar db.nombre_zona.

Tipos de Registros DNS

A
Se utiliza para almacenar un nombre de dominio junto a su dirección IPv4.
AAAA
Se utiliza para dar de alta direcciones IPv6.
CNAME (Canonical Name)
Se utiliza para dar de alta seudónimos o alias para un nombre de dominio existente.
NS (Name Server)
Indica quiénes actúan como servidores DNS primarios o secundarios para la zona.
MX (Mail Exchanger)
Indica quiénes son los servidores de correo electrónico responsables de recibir mensajes para el dominio.
PTR (Pointer)
Asocia una dirección IP a un nombre de dominio (utilizado en consultas inversas).
SOA (Start of Authority)
Indica quién tiene la autoridad principal sobre el dominio y contiene parámetros de control de zona (serial, refresco, reintento, expiración).
SRV (Service)
Define los servicios específicos que hay en el dominio (ej. SIP, XMPP).
SPF (Sender Policy Framework)
Define la política de envío de paquetes de correo electrónico para prevenir la suplantación de identidad.

8. DNS Dinámico (DDNS)

Cuando se utiliza una dirección IP dinámica, resulta imposible crear un servidor de alojamiento de páginas web estable.

La forma de resolverlo es utilizando DDNS (Dynamic DNS), que consiste en un servicio que permite la actualización del registro DNS en tiempo real cada vez que la dirección IP del host cambia.

9. Prácticas y Configuración de Ficheros DNS (BIND)

Comandos de Red Básicos

  • En Windows: Se utiliza ipconfig para ver la configuración de red.
  • En Linux: Se utiliza ifconfig (legado) o ip addr (moderno) para ver y editar la configuración de red.

Configuración de BIND en Linux

Instalación y Arranque

Comando de instalación: # apt-get install bind9

Arrancar servidor: # /etc/init.d/bind9 start

Ubicación del Fichero de Configuración Principal

  • En Linux: /etc/bind9/named.conf
  • En Windows (si se usa BIND): C:\windows\system32\dns\etc\named.conf (Nota: en el directorio etc deberá crearse el fichero si no existe).

Parámetros Comunes en named.conf

directory
Indica la ruta donde el servidor debe buscar los ficheros de resolución de zonas (directas e inversas).
allow-query
Define a qué equipos o redes se les contestará la consulta. Ejemplo: allow-query { 192.x.x.x; 10.0.0.0/8; };. El uso de * permite a todos, y !* prohíbe a todos.
allow-transfer
Define qué servidores secundarios están autorizados a solicitar una copia de la base de datos (transferencia de zona). Funciona de manera similar a allow-query.
recursion yes/no
Indica si el servidor debe resolver consultas de modo recursivo (asumiendo la carga) o iterativo para los clientes.
forward first
Indica que el servidor debe preguntar primero a los servidores DNS externos configurados (forwarders) antes de intentar resolver la consulta por sí mismo.
forwarders
Contiene las direcciones IP de los servidores DNS a los cuales se reenviarán las consultas externas.
blackhole
Contiene una lista de direcciones IP cuyas consultas jamás serán contestadas por el servidor DNS.

Sintaxis Común en Ficheros de Zona

  • @: Representa el nombre del dominio actual o el servidor.
  • IN SOA: Indica el inicio de la autoridad de la zona.
  • $TTL: Define el tiempo de vida (Time To Live) de los registros, indicando cuánto tiempo deben ser almacenados en caché por otros servidores.
  • db (Data Base): Se refiere al archivo de configuración de la zona.

10. Puertos Importantes Relacionados con DNS y Servicios Web

Es fundamental conocer los siguientes puertos:

  • 25: SMTP (Simple Mail Transfer Protocol)
  • 53: DNS (Domain Name System) – TCP/UDP
  • 80: HTTP (Hypertext Transfer Protocol)
  • 110: POP3 (Post Office Protocol version 3)
  • 443: HTTPS (HTTP Secure)
  • 465: SMTPS (SMTP sobre SSL/TLS)
  • 995: POP3S (POP3 sobre SSL/TLS)

Dejar un Comentario

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