Fundamentos y Configuración del Sistema de Nombres de Dominio DNS
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en
español con un tamaño de 10,29 KB
📌 ¿Qué es DNS?
DNS (Domain Name System): Es el servicio esencial que traduce nombres de dominio ↔ direcciones IP.
Permite que los usuarios recuerden nombres amigables (ej: google.com) en lugar de direcciones IP numéricas complejas.
Funciona en la capa de aplicación del modelo OSI, utilizando el puerto 53 (tanto para UDP como para TCP).
Se caracteriza por ser un sistema jerárquico y distribuido.
1. Sistema de nombres plano
Consiste en un fichero local que asocia directamente un nombre con una IP.
Ejemplo clásico: el archivo
/etc/hostsen sistemas Unix/Linux oC:\Windows\System32\drivers\etc\hostsen Windows.Limitación: No es escalable para la magnitud actual de Internet.
2. Sistema jerárquico (DNS)
Introducido en 1983 para solventar las carencias del sistema plano.
Organiza los dominios en una estructura de árbol invertido: raíz → TLD → dominios → subdominios.
Está distribuido mediante múltiples servidores DNS autoritativos a nivel global.
Estructura del espacio de nombres
Dominio raíz: Representado por un punto (
.).TLD (Top Level Domain): Dominios de nivel superior como
.com,.org,.net,.es, etc.FQDN (Fully Qualified Domain Name): Nombre de dominio completo que incluye todos los niveles, ej:
www.ejemplo.com.Dominio absoluto: Aquel que termina explícitamente en un punto (
.).Dominio relativo: Aquel que no termina en punto y depende del contexto del dominio local.
🗂️ Zonas DNS
Una zona es una parte específica del árbol de nombres bajo la responsabilidad de una administración o servidor DNS concreto.
Un dominio es el nombre dentro del árbol; la zona es la base de datos que contiene los registros de esa parte del árbol.
La administración de subdominios puede delegarse a otros servidores DNS.
✔️ Tipos de zona
Primaria (Master): Contiene los ficheros de zona originales y es donde se realizan los cambios.
Secundaria (Slave): Es una copia de solo lectura sincronizada desde el servidor primario para aportar redundancia y robustez.
Se recomienda disponer de un mínimo de 2 servidores autoritativos por dominio.
🔍 Resolución de nombres
✔️ Resolver
Es la parte cliente del sistema DNS. Se encarga de generar las consultas (queries) y recibir las respuestas.
Está implementado generalmente como librerías del sistema operativo.
✔️ Resolución inversa
Proceso para obtener el nombre a partir de una dirección IP.
Utiliza dominios especiales bajo la rama
in-addr.arpa(para IPv4).
✔️ Tipos de consulta
1. Recursiva
El servidor DNS al que se le pregunta asume la responsabilidad de buscar la respuesta completa por el cliente, consultando a otros servidores si es necesario.
Es el tipo de consulta habitual entre un cliente final y su DNS local (o resolver).
2. Iterativa
El servidor responde con la mejor información que posee en ese momento: ya sea la respuesta final o una referencia (referral) indicando: “yo no lo sé, pero pregunta en este otro servidor”.
Es el método de comunicación estándar entre servidores DNS.
✔️ Tipos de respuesta
Autoritativa: La respuesta proviene directamente del servidor que tiene la autoridad sobre esa zona.
No autoritativa: La respuesta proviene de la memoria caché de un servidor que realizó la consulta previamente.
Error / NXDOMAIN: Indica que el dominio solicitado no existe.
📨 Protocolo DNS
Utiliza el puerto 53. Generalmente usa UDP para consultas rápidas y TCP para transferencias de zona o respuestas que exceden el límite de tamaño.
El tamaño típico del datagrama es de 512 bytes (sin extensiones EDNS0).
Un mensaje DNS se divide en varias secciones:
🧩 Estructura del mensaje
HEADER: Contiene flags (indicadores), tipo de mensaje y el número de registros en las siguientes secciones.
QUESTION: Contiene la consulta realizada (nombre, tipo y clase).
ANSWER: Contiene los registros de recursos que responden a la consulta.
AUTHORITY: Lista los servidores que son autoritativos para el dominio consultado.
ADDITIONAL: Información extra que puede ser útil (como las IPs de los servidores listados en la sección anterior).
🛠️ Registros DNS (Resource Records)
✔️ Formato general
nombre ttl clase tipo valor
Nombre: El nombre de dominio al que se refiere el registro.
TTL (Time To Live): Tiempo que el registro puede permanecer en caché.
Clase: Casi siempre IN (Internet).
Tipo: Define la función del registro (SOA, NS, A, MX, etc.).
📌 Tipos de registros principales
SOA (Start of Authority)
Es el primer registro de cualquier fichero de zona.
Indica el servidor primario, el correo del administrador y parámetros de sincronización (serial, refresh, retry, expire).
NS (Name Server)
Identifica los servidores DNS autoritativos para la zona.
Debe haber un mínimo de dos registros NS por zona para garantizar disponibilidad.
A (Address)
Asocia un nombre de host con una dirección IPv4.
Si un host tiene varias IPs, se definen varios registros A.
CNAME (Canonical Name)
Funciona como un alias; apunta un nombre a otro nombre canónico (que ya tiene un registro A).
El alias no apunta directamente a una IP.
PTR (Pointer)
Utilizado para la resolución inversa (IP → nombre).
Se define exclusivamente en las zonas de búsqueda inversa
in-addr.arpa.
MX (Mail Exchange)
Especifica los servidores de correo para el dominio.
Incluye un valor de prioridad (donde el número más bajo indica la mayor prioridad).
🛠️ Ficheros de zona mínimos requeridos
Zona directa (Forward): Resolución de nombres a IPs.
Zona inversa (Reverse): Resolución de IPs a nombres.
Hint file: Contiene las direcciones de los servidores raíz (root hints).
Loopback reverse zone: Para la resolución de la dirección local
127.0.0.1.
Instalación y Configuración de DNS
Instalar el software: El estándar en sistemas Linux es BIND (Berkeley Internet Name Domain).
Crear los ficheros de zona: Definir la base de datos de nombres e IPs.
Configurar los registros esenciales:
Registro SOA.
Registros NS.
Registros A, PTR, MX, etc.
Establecer roles: Configurar el servidor como primario o secundario según corresponda.
Realizar pruebas de verificación:
nslookup: Herramienta básica de consulta.dig: Herramienta avanzada y detallada para diagnóstico.host: Utilidad sencilla para resoluciones rápidas.
Ejemplo de configuración: named.conf
options {
directory "/var/named";
recursion yes;
allow-query { any; };
};
zone "midominio.com" IN {
type master;
file "db.midominio.com";
};
zone "1.168.192.in-addr.arpa" IN {
type master;
file "db.192.168.1";
};Ejemplo de Zona Directa: db.midominio.com
$TTL 86400
@ IN SOA ns1.midominio.com. admin.midominio.com. (
20250101 ; Serial
3600 ; Refresh
1800 ; Retry
604800 ; Expire
86400 ) ; Minimum TTL
IN NS ns1.midominio.com.
IN NS ns2.midominio.com.
ns1 IN A 192.168.1.10
ns2 IN A 192.168.1.11
www IN A 192.168.1.20
mail IN A 192.168.1.30
@ IN MX 10 mail.midominio.com.Ejemplo de Zona Inversa: db.192.168.1
$TTL 86400
@ IN SOA ns1.midominio.com. admin.midominio.com. (
20250101 ; Serial
3600 ; Refresh
1800 ; Retry
604800 ; Expire
86400 ) ; Minimum TTL
IN NS ns1.midominio.com.
IN NS ns2.midominio.com.
10 IN PTR ns1.midominio.com.
11 IN PTR ns2.midominio.com.
20 IN PTR www.midominio.com.
30 IN PTR mail.midominio.com.