Configurar una zona de política de respuesta en Bind

Configurar Transferencia de Zona

En caso que contemos con un segundo servidor BIND, podemos configurarlo como esclavo/secundario de modo que reciba automáticamente las actualizaciones del servidor maestro/primario.

Editamos /etc/bind/named.conf en el maestro/primario.

nano /etc/bind/named.conf

Agregamos la dirección IP del servidr esclavo/secundario a la directiva allow-transfer.

zone “rpz.local” {
type master;
file “/etc/bind/db.rpz.local”;
allow-query { localhost; };
allow-transfer { 12.34.56.78; };
also-notify { 12.34.56.78; };
};

Si hubiera múltiples esclavos/secundarios, agregaríamos varias direcciones IP como se indica a continuación.

allow-transfer { 12.34.56.78; 12.34.56.79; };

La directiva also-notify hará que el DNS maestro envíe un mensaje de notificación al esclavo cuando se modifique la zona RPZ. Guardamos y cerramos el archivo. Reiniciamos BIND para que los cambios surtan efecto.

systemctl restart named

Si hay un cortafuegos en el DNS maestro, es necesario permitir que el DNS esclavo se conecte al puerto 53.

Luego editamos el archivo /etc/bind/named.conf en el DNS esclavo.

nano /etc/named.conf

Agregamos las siguientes líneas en la clásusula opciones {…} para habilitar zona de política de respuesta. (La primera línea es un comentario).

//habilita zona de política de respuesta
response-policy {
zone "rpz.local";
};

Añadimos una zona RPZ esclava al final de este archivo. Sustituyendo 11.22.33.44 por la dirección IP del DNS maestro.

zone "rpz.local" {
type slave;
file "rpz.local";
masters { 11.22.33.44;};
allow-notify { 11.22.33.44; };
allow-transfer { none; };
allow-query { localhost; };
};

Guardamos y cerramos el archivo

También debemos configurar el cortafuegos del esclavo para permitir que el DNS maestro envíe mensajes de notificación.

Luego comprobamos si hay errores de sintaxis en el archivo de configuración principal. Una salida silenciosa indica que no los hay.

named-checkconf

Si no hay errores, reiniciamos BIND.

systemctl restart named

Después de que BIND se reinicie, la transferencia de zonas comenzará inmediatamente. Podemos comprobar el registro de BIND9 con.

journalctl -eu named

Veremos mensajes como el siguiente, que indica que la transferencia de la zona se ha realizado con éxito.

transfer of 'rpz.local/IN' from xx.xx.xx.xx#53: Transfer status: success
transfer of 'rpz.local/IN' from xx.xx.xx.xx#53: Transfer completed: 1 messages, 34 records, 899 bytes, 0.248 secs (3625 bytes/sec)

El archivo de zona será guardado como /etc/bind/named/rpz.local en el esclavo.

Nota: Con cualquier modificación de la zona en el maestro resulta necesario actualizar el número de serie. Incrementarlo, de modo que los secundarios sepan que la zona RPZ ha tenido cambios.