¿Qué es una Zona DNS?
Una zona DNS es una porción distinta del espacio de nombres DNS que es gestionada por una organización o administrador específico. Una zona contiene registros DNS para uno o más dominios y es servida por servidores de nombres autoritativos. Mientras que un dominio es un nombre en el árbol DNS, una zona es un límite administrativo que define qué servidores de nombres son responsables de responder consultas.
Dominio vs Zona
Entender la distinción es crucial:
Dominio
Un dominio es un nombre en la jerarquía DNS:
example.com (dominio)
└── www.example.com (subdominio)
└── blog.example.com (subdominio)
└── api.example.com (subdominio)
Zona
Una zona es control administrativo sobre registros:
Zona Única para Dominio y Subdominios:Zona example.com contiene:
- example.com
- www.example.com
- blog.example.com
- api.example.com
Gestionada por: ns1.example.com, ns2.example.com
Zona de Subdominio Delegada:
Zona example.com contiene:
- example.com
- www.example.com
- Delegación: api.example.com → servidores de nombres diferentes
Zona api.example.com (separada) contiene:
- api.example.com
- v1.api.example.com
- v2.api.example.com
Gestionada por: ns1.apihost.com, ns2.apihost.com
Componentes de la Zona
Archivo de Zona
Un archivo de texto que contiene todos los registros DNS para una zona:
; archivo de zona example.com
$TTL 3600
@ IN SOA ns1.example.com. admin.example.com. (
2024010101 ; Serial
7200 ; Refresh
3600 ; Retry
1209600 ; Expire
3600 ; Minimum TTL
)
; Registros de servidor de nombres
@ IN NS ns1.example.com.
@ IN NS ns2.example.com.
; Registros A
@ IN A 203.0.113.50
www IN A 203.0.113.50
blog IN A 203.0.113.51
; Registros MX
@ IN MX 10 mail.example.com.
mail IN A 203.0.113.52
; Registros CNAME
ftp IN CNAME www.example.com.
; Registros TXT
@ IN TXT "v=spf1 include:_spf.google.com ~all"
Registro SOA (Inicio de Autoridad)
Cada zona debe tener exactamente un registro SOA:
example.com. IN SOA ns1.example.com. admin.example.com. (
2024010101 ; Serial
7200 ; Refresh
3600 ; Retry
1209600 ; Expire
3600 ; Minimum TTL
)
Campos SOA:
| Campo | Propósito | Valor Ejemplo |
|---|---|---|
| NS primario | Servidor de nombres maestro | ns1.example.com |
| Correo Admin | Contacto (@ → .) | admin.example.com (admin@example.com) |
| Serial | Número de versión de zona | 2024010101 |
| Refresh | Intervalo de verificación NS secundario | 7200s (2 horas) |
| Retry | Intervalo de reintento si refresh falla | 3600s (1 hora) |
| Expire | NS secundario se rinde después de | 1209600s (14 días) |
| Minimum TTL | Duración de caché negativo | 3600s (1 hora) |
Registros NS (Servidores de Nombres)
Especifican qué servidores son autoritativos para la zona:
example.com. IN NS ns1.example.com.
example.com. IN NS ns2.example.com.
Estos le dicen al mundo qué servidores consultar para registros en esta zona.
Tipos de Zona
Zona Primaria (Maestro)
La fuente autoritativa donde se editan los registros de zona:
ns1.example.com (primaria)
→ Archivo de zona editado aquí
→ Cambios realizados directamente
→ Notifica a secundarias de actualizaciones
Zona Secundaria (Esclava)
Copias de sólo lectura que se replican desde la primaria:
ns2.example.com (secundaria)
→ Recupera datos de zona desde primaria
→ No se puede editar directamente
→ Se sincroniza automáticamente según intervalo de refresh SOA
Transferencia de Zona (AXFR):
1. Secundaria comprueba número de serie SOA
2. Si serial primario es mayor → solicita transferencia de zona completa
3. Primaria envía zona completa
4. Secundaria actualiza su copia
Transferencia Incremental (IXFR):
1. Secundaria solicita sólo cambios desde último serial
2. Primaria envía diferencia
3. Más eficiente para zonas grandes con pocos cambios
Zona Directa
Asigna nombres de dominio a direcciones IP (la más común):
example.com → 203.0.113.50
www.example.com → 203.0.113.50
Zona Inversa
Asigna direcciones IP a nombres de dominio (registros PTR):
50.113.0.203.in-addr.arpa → example.com
Usada para:
- Verificación de servidor de correo
- Registro y seguridad
- Solución de problemas
Delegación de Zona
La delegación crea zonas separadas para subdominios:
Zona Primaria (example.com)
; zona example.com
@ IN A 203.0.113.50
www IN A 203.0.113.50
; Delega api.example.com a servidores de nombres diferentes
api IN NS ns1.apihost.com.
api IN NS ns2.apihost.com.
; Registros de pegamento (si es necesario)
ns1.api IN A 198.51.100.1
ns2.api IN A 198.51.100.2
Zona Delegada (api.example.com)
Archivo de zona completamente separado en servidores de nombres diferentes:
; zona api.example.com (en ns1.apihost.com)
@ IN A 198.51.100.10
v1 IN A 198.51.100.11
v2 IN A 198.51.100.12
¿Por qué Delegar?
- Organizacional: Equipos diferentes gestionan zonas diferentes
- Técnico: Usar proveedores DNS diferentes (p.ej., API en AWS, sitio web en Cloudflare)
- Rendimiento: Distribuir carga DNS
- Seguridad: Aislar servicios sensibles
Gestión de Zona
Gestión de Número de Serie
Los números de serie rastrean versiones de zona (típicamente formato YYYYMMDDnn):
2024010101 ; 1 de enero de 2024, versión 01
2024010102 ; 1 de enero de 2024, versión 02
2024010201 ; 2 de enero de 2024, versión 01
Regla crítica: El serial debe aumentar con cada cambio, o las secundarias no se actualizarán.
Seguridad de Transferencia de Zona
Problema: Las transferencias de zona exponen todos los registros DNS Solución: Restringir transferencias de zona a secundarias autorizadas Configuración BIND:zone "example.com" {
type master;
file "/var/named/example.com.zone";
allow-transfer { 203.0.113.52; 203.0.113.53; }; // Solo IPs secundarias
notify yes;
};
TSIG (Firma de Transacción): Autenticar transferencias de zona con claves compartidas:
key "transfer-key" {
algorithm hmac-sha256;
secret "base64-encoded-key";
};
allow-transfer { key transfer-key; };
Verificación de Configuración de Zona
Consultar Registro SOA
dig example.com SOA
; ANSWER SECTION:
example.com. 3600 IN SOA ns1.example.com. admin.example.com. (
2024010101 7200 3600 1209600 3600 )
Consultar Registros NS
dig example.com NS
; ANSWER SECTION:
example.com. 86400 IN NS ns1.example.com.
example.com. 86400 IN NS ns2.example.com.
Solicitar Transferencia de Zona (AXFR)
dig @ns1.example.com example.com AXFR
# Si está permitida, devuelve zona completa
# Si está denegada, devuelve transferencia fallida
La mayoría de servidores de nombres públicos deniegan AXFR para prevenir divulgación de información.
Configuraciones Comunes de Zona
Sitio Web Simple
Zona example.com:
@ A 203.0.113.50
www A 203.0.113.50
@ MX 10 mail.example.com
mail A 203.0.113.51
@ TXT "v=spf1 mx -all"
Zona Multiservicio
Zona example.com:
@ A 203.0.113.50
www A 203.0.113.50
blog CNAME hosting.wordpress.com.
shop CNAME shops.myshopify.com.
cdn CNAME d111111abcdef8.cloudfront.net.
@ MX 10 aspmx.l.google.com.
Subdominios Delegados
Zona example.com:
@ A 203.0.113.50
www A 203.0.113.50
; Delega api a AWS Route 53
api NS ns-123.awsdns-01.com.
api NS ns-456.awsdns-02.net.
; Delega cdn a Cloudflare
cdn NS ns1.cloudflare.com.
cdn NS ns2.cloudflare.com.
Mejores Prácticas de Archivo de Zona
1. Siempre incrementar serial: Después de cada cambio, o las secundarias no se actualizarán
2. Usar seriales basados en fecha: Formato YYYYMMDDnn para claridad
3. Restringir transferencias de zona: Permitir sólo secundarias autorizadas
4. Usar múltiples servidores de nombres: Al menos 2, preferiblemente en redes diferentes
5. Establecer TTL apropiados: Equilibrar beneficios de caché vs velocidad de actualización
6. Probar antes de aplicar: Validar sintaxis de archivo de zona antes de cargar
7. Monitorizar transferencias de zona: Asegurar que secundarias se están sincronizando
8. Documentar delegaciones: Anotar qué zonas se delegan y dónde
9. Hacer copia de seguridad de archivos de zona: Copias de seguridad regulares previenen pérdida de datos
10. Usar control de versiones: Rastrear cambios de archivo de zona a lo largo del tiempo
Características Avanzadas de Zona
DNSSEC (Firma de Zona)
Firmar criptográficamente registros de zona:
example.com. IN A 203.0.113.50
example.com. IN RRSIG A 8 2 3600 (
data-de-firma-aquí )
Protege contra envenenamiento de caché y manipulación.
DNS Dinámico (DDNS)
Permitir actualizaciones de zona programáticas:
# Actualizar registro A dinámicamente
nsupdate -k Kupdate.key <<EOF
server ns1.example.com
update delete www.example.com A
update add www.example.com 300 A 203.0.113.51
send
EOF
Útil para:
- Actualizaciones de dirección IP de hogar
- Infraestructura de autoescalado
- Descubrimiento de servicios
Vistas de Zona (DNS Split Horizon)
Servir datos de zona diferentes basados en IP del cliente:
Clientes internos: example.com → 10.0.0.50 (interna)
Clientes externos: example.com → 203.0.113.50 (pública)
Casos de uso:
- Versiones de sitio web internas vs externas
- Recursos de red privada
- Respuestas basadas en geografía
Solución de Problemas de Zona
Fallos de Transferencia de Zona
Síntoma: Secundarias desfasadas Verificar:# Verificar si primaria permite transferencias
dig @ns1.example.com example.com AXFR
# Verificar logs secundarios para errores
tail -f /var/log/named.log
Soluciones:
- Verificar configuración de allow-transfer
- Comprobar conectividad de red entre servidores
- Asegurar que número de serie aumentó
Número de Serie No Incrementado
Síntoma: Los cambios no se propagan a secundarias Solución: Siempre incrementar serial con cada edición de zonaDelegación No Funciona
Síntoma: Subdominio no se resuelve Verificar:# Verificar delegación
dig example.com NS
dig api.example.com NS
# Debería mostrar servidores de nombres diferentes para subdominio delegado
Soluciones:
- Verificar registros NS en zona primaria
- Comprobar registros de pegamento si servidores de nombres están dentro del subdominio
- Confirmar que zona infantil está configurada
Las zonas DNS son la base de la gestión DNS distribuida—entender estructura de zona, delegación y gestión le permite arquitecturar DNS de manera efectiva para organizaciones de cualquier tamaño.