Actualización de IP de Bind9

Actualización de IP de Bind9

Tengo 2 servidores DNS (BIND9) (primario, secundario) y 1 dominio. Tengo un servidor web con IP dinámica. Entonces, si mi IP cambió, no puedo acceder a mi sitio a través del dominio, porque en los servidores DNS la IP de la zona del dominio cambió.

Mi pregunta es: ¿Cómo puedo actualizar mi zona desde mi servidor con mi dirección IP pública cada x veces? ¿Alguien puede darme un script de actualización en Linux (Debian 9)?

Gracias

Respuesta1

Puede utilizar RFC 2136 "DNS UPDATE", ya sea mediante un script de la nsupdateherramienta o mediante un cliente de terceros compatible:

Clave secreta compartida (TSIG)

  1. Genere una clave secreta para autenticar las actualizaciones:

    $ tsig-keygen -r /dev/urandom | tee tsig-key.private
    key "tsig-key" {
        algorithm hmac-sha256;
        secret "7P6HbRZRJCmtauo/lV0jwN9wkMgBTUikhf9JuaTvYT4=";
    };
    

    Esta clave es conocida por el servidor y el cliente, y nadie más.

  2. Copie el texto impreso en su named.conf. (Puede tener varias claves para diferentes hosts, cada una con un nombre único en el key "…"campo).

  3. Habilite las actualizaciones dinámicas en la configuración de la zona:

    zone … {
        update-policy {
            /* grant <key_name> <policy> <record_types> */
            grant "tsig-key" name myserver.example.com ANY;
        };
    };
    

    Se pueden utilizar varias políticas diferentes; por ejemplo, zonesubpermite actualizar elcompletozona, y subdomain dyn.example.comtiene el significado obvio.

  4. Realizar actualizaciones:

    $ nsupdate -k tsig-key.private
    > zone example.com
    > del myserver.example.com
    > add myserver.example.com 3600 A 100.64.1.1
    > send
    

Hay varios clientes capaces de realizar actualizaciones automáticas.

Clave pública/privada (SIG(0))

  1. Genere un par de claves:

    $ dnssec-keygen -r /dev/urandom -T KEY -n USER myclient.example.com
    $ ls K*
    Kmyclient.example.com.+005+07399.key
    Kmyclient.example.com.+005+07399.private
    
  2. El *.keyarchivo contiene la clave pública; agréguela a su zona DNS.

    El *.privatearchivo contiene la clave privada; cópiela en la computadora cliente. (En realidad, copiaambosarchivos a la computadora cliente.)

  3. Configure update-policy { }exactamente de la misma manera que con TSIG.

  4. Realice actualizaciones también de la misma manera usando nsupdate -k <filename>.private.

(Nota: si bien los nombres de las claves TSIG son arbitrarios, las claves SIG(0) se almacenan en DNS y, por lo tanto, siempre se denominan como nombres de host/subdominios. El nombre de la claveno esSin embargo, debe coincidir con el nombre de host que está actualizando).

Kerberos (GSS-TSIG)

Un poco fuera de alcance, pero BIND9 también lo admite (principalmente para usar con Active Directory).

información relacionada