Guías

Cómo configurar un servidor DNS secundario

¿Qué es un servidor DNS secundario?

Configurar servidor DNS secundario — servidor primario y secundario conectados

Un servidor DNS secundario (también llamado servidor esclavo) mantiene una copia de solo lectura de los datos de su zona DNS. Recibe actualizaciones del servidor primario (maestro) mediante una transferencia de zona: un AXFR completo o un IXFR incremental.

Cuando un resolver consulta su dominio, la solicitud puede responderla el servidor primario o cualquier secundario indicado en sus registros NS. Esto aporta redundancia: si el primario deja de funcionar, los secundarios siguen sirviendo los últimos registros válidos y su dominio sigue siendo resoluble. Los roles de servidor primario y secundario se definen en el RFC 1034.

Usted edita sus registros en un solo lugar —el primario— mientras cada secundario refleja esos cambios automáticamente mediante la transferencia de zona. Una vez configurado, no hay nada que mantener en el día a día, lo que convierte a un secundario en la forma más sencilla y aceptada por los registradores de añadir resiliencia a su DNS.

Por qué necesita un servidor DNS secundario

La mayoría de los registradores de dominios exigen al menos dos servidores de nombres antes de delegar una zona. Más allá de ese mínimo, un servidor DNS secundario le ofrece:

– Resistencia ante caídas y ventanas de mantenimiento del servidor primario – Menor latencia de respuesta al ubicar los servidores de nombres en distintas regiones geográficas y redes – Protección frente a ataques DDoS dirigidos a un único servidor o a una única red – Cumplimiento del RFC 2182, que recomienda al menos tres servidores de nombres en redes separadas para cada zona

Si desea el razonamiento completo sobre por qué conviene tener varios servidores de nombres, consulte nuestra guía sobre redundancia y failover de DNS.

Sincronización automática de zonas DNS

La sincronización se rige por el registro SOA de la zona y por los mensajes NOTIFY:

– Tras el primer AXFR, el secundario vuelve a comprobar la zona en cada intervalo de refresh (el segundo temporizador del registro SOA). – Si el primario envía un NOTIFY (RFC 1996) en cada cambio, los secundarios obtienen la actualización en segundos, sin esperar al temporizador de refresh. – Un número de serie SOA incrementado es la señal que indica al secundario que hay datos nuevos disponibles: increméntelo siempre tras editar una zona, o el secundario nunca verá sus cambios.

La mecánica de AXFR, IXFR, los temporizadores SOA y la firma TSIG se tratan en detalle en la guía Entender las transferencias de zona AXFR.

Requisitos para configurar un DNS secundario

Antes de empezar, asegúrese de tener:

1. Un servidor DNS primario con BIND, PowerDNS, Knot, NSD o cualquier software compatible con AXFR 2. La dirección IP pública de ese servidor primario 3. AXFR (transferencia de zona) permitido en el primario para la dirección IP del servidor secundario 4. Acceso a su registrador de dominios para editar los registros NS

El puerto TCP 53 debe ser accesible en el primario: AXFR funciona sobre TCP, no sobre UDP. Un firewall que solo permita UDP/53 responderá a las consultas normales, pero romperá silenciosamente las transferencias de zona.

Permitir transferencias de zona en el DNS primario

En el primario, permita AXFR para la dirección IP del servidor secundario.

En BIND, añada esto a la definición de la zona (o a las opciones globales):

zone "example.com" {
    type primary;
    file "/etc/bind/zones/example.com.zone";
    allow-transfer { 192.0.2.1; };
    also-notify { 192.0.2.1; };
};

En PowerDNS, permita AXFR y active NOTIFY en pdns.conf:

allow-axfr-ips=192.0.2.1/32
also-notify=192.0.2.1

En Knot DNS o NSD, permita el secundario en los ajustes de transferencia y notify de la zona: Knot usa reglas acl (action: transfer y notify) y NSD usa provide-xfr y notify. Consulte la sintaxis exacta en la documentación de Knot DNS y NSD.

Sustituya 192.0.2.1 por la dirección IP real de su servicio de DNS secundario. En zonas de producción, restrinja aún más las transferencias con una clave TSIG, tratado en la sección de seguridad de la guía de AXFR.

Añadir su dominio al DNS secundario

Si utiliza un servicio gestionado de DNS secundario, añada su dominio a través del panel o la API. Indique el nombre de la zona y la dirección IP del servidor primario; el secundario hace el resto.

El secundario intenta de inmediato un AXFR para obtener la zona completa. Tras esa primera transferencia, se mantiene sincronizado mediante el intervalo de refresh del SOA, o al instante mediante NOTIFY si el primario está configurado para enviarlo. Si su secundario no figura en los registros NS de la zona (una configuración stealth u oculta), añada su IP a also-notify para que siga recibiendo notificaciones de cambios.

Con SecondDNS puede añadir su primera zona en la prueba gratuita de 3 meses —sin tarjeta de crédito— y comprobar que las transferencias funcionan antes de apuntar ningún registro NS hacia él. Cree una cuenta para obtener la IP del secundario que debe autorizar en el Permitir transferencias de zona en el DNS primario.

Actualizar los registros NS en su registrador

Una vez que el secundario se sincroniza, añádalo como servidor de nombres en su registrador de dominios.

Si su primario es ns1.example.com y el secundario es ns1.seconddns.com, su delegación debería incluir ambos:

example.com.  NS  ns1.example.com.
example.com.  NS  ns1.seconddns.com.

Mantenga el registro NS del primario en su lugar: ambos servidores responden a las consultas. Si el nombre de host del secundario está bajo su propio dominio (por ejemplo, ns2.example.com), también debe registrar glue records en el registrador para que los resolvers puedan encontrar su IP. Usar un nombre de host del proveedor como ns1.seconddns.com evita por completo el paso de los glue records; consulte servidores de nombres personalizados si desea nombres NS propios (vanity) en su dominio.

Verificar que el DNS secundario funciona

Compruebe que ambos servidores de nombres responden con los mismos datos:

dig @ns1.example.com example.com SOA
dig @ns1.seconddns.com example.com SOA

Ambos deberían devolver el mismo número de serie SOA. Si el número de serie del secundario es menor, la transferencia de zona aún no ha terminado: revise las reglas del firewall y la configuración allow-transfer del Permitir transferencias de zona en el DNS primario.

Confirme que la delegación incluye ambos servidores:

dig example.com NS

Y solicite la zona completa al secundario para asegurarse de que AXFR está permitido para él. Debería funcionar desde su IP autorizada y ser rechazado desde cualquier otro lugar:

dig @ns1.seconddns.com example.com AXFR

¿Cuánto tarda la propagación?

Los cambios en los registros NS se rigen por la TTL de la delegación en la zona padre, no por las TTL dentro de su propia zona. En la práctica, prevea de 24 a 48 horas para que el nuevo servidor de nombres sea visible para todos los resolvers del mundo, aunque la mayoría lo detectan mucho antes.

Durante ese periodo de propagación, tanto la delegación antigua como la nueva son válidas, por lo que no hay tiempo de inactividad mientras cada servidor indicado en sus registros NS responda correctamente. Por eso precisamente se verifica el secundario en el Verificar que el DNS secundario funciona antes de cambiar la delegación en su registrador.

Solución de problemas en la configuración del DNS secundario

Problemas habituales y cómo solucionarlos:

Transferencia de zona rechazada: el primario no permite AXFR desde la IP del secundario. Revise allow-transfer (BIND) o allow-axfr-ips (PowerDNS) y cualquier regla de firewall en el puerto TCP 53.

Registros obsoletos en el secundario: el NOTIFY no llega al secundario, o el intervalo de refresh del SOA es demasiado largo. Active also-notify en el primario o reduzca el temporizador de refresh.

El número de serie no aumenta: si edita la zona a mano pero olvida incrementar el número de serie SOA, el secundario nunca obtendrá el cambio. Incremente siempre el número de serie; muchos operadores usan el formato YYYYMMDDnn.

El secundario no aparece en el DNS: los cambios en los registros NS pueden tardar de 24 a 48 horas en propagarse. Compruébelo con dig contra resolvers concretos (por ejemplo, dig @8.8.8.8 example.com NS).

Tiempo de espera de conexión agotado: el puerto TCP 53 está bloqueado entre el primario y el secundario. AXFR usa TCP; un firewall que solo permita UDP/53 dejará pasar las consultas, pero romperá las transferencias.

¿Lo está configurando dentro de un panel de control de hosting? Siga las guías paso a paso para cPanel/WHM, Plesk, DirectAdmin o CyberPanel.