Bind9 IP-Aktualisierung

Bind9 IP-Aktualisierung

Ich habe 2 DNS-Server (BIND9) (primär, sekundär) und 1 Domäne. Ich habe einen Webserver mit dynamischer IP. Wenn sich meine IP also ändert, kann ich meine Site nicht über die Domäne erreichen, da sich in den DNS-Servern die IP-Adresse der Domänenzone geändert hat.

Meine Frage ist: Wie kann ich meine Zone jedes x-mal von meinem Server mit meiner öffentlichen IP-Adresse aktualisieren? Kann mir jemand ein Update-Skript für Linux (Debian 9) geben?

Danke

Antwort1

Sie können RFC 2136 „DNS UPDATE“ entweder durch Skripting des nsupdateTools oder durch Verwendung eines kompatiblen Drittanbieter-Clients verwenden:

Gemeinsamer geheimer Schlüssel (TSIG)

  1. Generieren Sie einen geheimen Schlüssel zur Authentifizierung der Updates:

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

    Dieser Schlüssel ist nur dem Server und dem Client bekannt, sonst niemandem.

  2. Kopieren Sie den gedruckten Text in Ihr named.conf. (Sie können mehrere Schlüssel für verschiedene Hosts haben, jeder mit einem eindeutigen Namen im key "…"Feld.)

  3. Aktivieren Sie dynamische Updates in der Zonenkonfiguration:

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

    Es können verschiedene Richtlinien verwendet werden. Beispielsweise zonesubermöglicht die Aktualisierung dergesamteZone und subdomain dyn.example.comhat die offensichtliche Bedeutung.

  4. Führen Sie Aktualisierungen durch:

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

Es gibt verschiedene Clients, die automatische Updates durchführen können.

Öffentlicher/privater Schlüssel (SIG(0))

  1. Generieren Sie ein Schlüsselpaar:

    $ 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. Die *.keyDatei enthält den öffentlichen Schlüssel – fügen Sie ihn Ihrer DNS-Zone hinzu.

    Die *.privateDatei enthält den privaten Schlüssel. Kopieren Sie ihn auf den Client-Computer. (Eigentlich kopieren SiebeideDateien auf den Clientcomputer.)

  3. Die Einrichtung erfolgt update-policy { }auf die gleiche Weise wie bei TSIG.

  4. Führen Sie Aktualisierungen auf die gleiche Weise auch mit durch nsupdate -k <filename>.private.

(Hinweis: Während TSIG-Schlüsselnamen beliebig sind, werden SIG(0)-Schlüssel im DNS gespeichert und daher immer wie Hostnamen/Subdomains benannt. Der Schlüsselnamenichtmuss allerdings mit dem Hostnamen übereinstimmen, den Sie aktualisieren.)

Kerberos (GSS-TSIG)

Etwas außerhalb des Rahmens, aber BIND9 unterstützt dies ebenfalls (hauptsächlich für die Verwendung mit Active Directory).

verwandte Informationen