Bind9 IP update

0

J'ai 2 serveurs DNS (BIND9) (primaire, secondaire) et 1 domaine. J'ai un serveur web avec une adresse IP dynamique. Donc, si mon adresse IP a changé, je ne peux pas accéder à mon site via un domaine, car dans les serveurs DNS, le code IP de la zone de domaine a changé.

Ma question est la suivante: comment puis-je mettre à jour ma zone depuis mon serveur avec mon adresse IP publique toutes les fois? Quelqu'un peut-il me donner un script de mise à jour sous Linux (Debian 9)?

Merci

user760678
la source

Réponses:

0

Vous pouvez utiliser RFC 2136 "DNS UPDATE", soit en écrivant le script nsupdate ou en utilisant un client tiers compatible:

Clé secrète partagée (TSIG)

  1. Générez une clé secrète pour authentifier les mises à jour:

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

    Cette clé est connue du serveur et du client, et de personne d’autre.

  2. Copiez le texte imprimé dans votre named.conf. (Vous pouvez avoir plusieurs clés pour différents hôtes, chacune avec un nom unique dans le répertoire. key "…" champ.)

  3. Activer les mises à jour dynamiques dans la configuration de la zone:

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

    Diverses politiques différentes peuvent être utilisées. par exemple. zonesub permet de mettre à jour le tout zone, et subdomain dyn.example.com a la signification évidente.

  4. Effectuer des mises à jour:

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

Il existe différents clients capables de mises à jour automatiques.

Clé publique / privée (SIG (0))

  1. Générez une paire de clés:

    $ 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. le *.key Le fichier contient la clé publique - ajoutez-la à votre zone DNS.

    le *.private Le fichier contient la clé privée - copiez-le sur l'ordinateur client. (En fait, copie tous les deux fichiers sur l'ordinateur client.)

  3. Installer update-policy { } exactement de la même manière qu'avec TSIG.

  4. Effectuez également les mises à jour de la même manière en utilisant nsupdate -k <filename>.private.

(Remarque: Bien que les noms de clé TSIG soient arbitraires, les clés SIG (0) sont stockées dans le DNS et sont donc toujours nommées comme des noms d’hôte / sous-domaines. Le nom de la clé ne fait pas besoin de correspondre au nom d’hôte que vous mettez à jour, cependant.)

Kerberos (GSS-TSIG)

Un peu en dehors de la portée, mais BIND9 le supporte également (principalement pour une utilisation avec Active Directory).

grawity
la source