Configurar BIND9 para conectar con CertGuardian
Fuentes:
- https://dev.to/haasal/set-up-your-own-ddns-server-with-bind9-and-go-193o
- https://certbot-dns-rfc2136.readthedocs.io/en/stable/#sample-bind-configuration
Esta guía explica cómo configurar BIND para permitir actualizaciones DNS dinámicas mediante el protocolo RFC 2136. Esto permite que CertGuardian pueda crear o modificar registros DNS automáticamente.
Instalar paquete rc2136
Instala el paquete bind9-utils en el servidor de BIN:
apt install -y bind9-utilsGenerar clave rfc2136
Genera una clave TSIG que permitirá la comunicación segura entre CertGuardian y BIND:
tsig-keygen ddnskey >> /secrets/ddnskeyDespués, muestra el contenido de la clave generada:
cat /secrets/ddnskeyGuarda esta información, ya que será necesaria para configurar la zona DNS.
Actualizar la configuración de la zona
Edita el archivo de configuración local de BIND:
vi /etc/bind/named.conf.localAñade la clave generada y permite que dicha clave pueda actualizar la zona correspondiente mediante allow-update. Ejemplo:
key "ddnskey" {
algorithm hmac-sha256;
secret "xxxxxxxxxxxxxxxxxxxxx";
};
zone "certguardian.es" {
type master;
file "/etc/bind/db.zonad";
allow-update { key "ddnskey"; };
};INFO
Sustituye certguardian.es, la ruta del archivo de zona y el valor de secret por los datos reales de tu configuración.
Reinicia el servicio de BIND para aplicar los cambios:
systemctl restart bind9Probar la actualización dinámica
Desde otra máquina, ejecuta nsupdate indicando la clave generada anteriormente:
nsupdate -k /secrets/ddnskeyInstala el paquete
bind9-utilssi no lo tienes instalado en la máquina
Se abrirá una consola interactiva. Introduce las siguientes líneas, adaptando el servidor, la zona y los registros a tu entorno:
server 127.0.0.1
zone certguardian.es
update add test_txt.certguardian.es 180 TXT "test certguardian"
sendINFO
Sustituye certguardian.es por los datos reales de tu configuración.
Si el comando send no devuelve ningún error, la actualización se habrá realizado correctamente. Para comprobarlo, ejecuta una consulta DNS con dig:
dig @127.0.0.1 www.certguardian.es AINFO
Sustituye @127.0.0.1 por la dirección IP del servidor DNS que estás utilizando.
Si todo está configurado correctamente, la respuesta debería mostrar el registro A añadido.
Configuración en CertGuardian
Crear claves DNS
Ve a Gestión Certificados -> Claves DNS y haz click en el botón "Crear" para crear unas Claves DNS
dns_rfc2136_server = 127.0.0.1
dns_rfc2136_port = 53
dns_rfc2136_name = ddnskey.
dns_rfc2136_secret = xxxxxxxxxx
dns_rfc2136_algorithm = HMAC-SHA256
dns_rfc2136_sign_query = false