DHCP- und DNS-Server mit automatischem Update (DDNS)


Jetzt wäre es nicht schlecht, wenn der DHCP-Server die zugewiesenen IP-Adressen mit samt dem Hostnamen noch dem DNS-Server mitteilen würde.
Dazu muss sowohl die DHCP-Server Konfiguration als auch die Konfig vom DNS-Server noch ein wenig angepasst werden.

RDNC-Schlüssel

Als erstes erzeugt man eine Datei, in der ein per Zufall erzeugtes Passwort enthalten ist. Diese Datei wird automatisch im Verzeichnis „/etc/bind/ “ erstellt und muss in das Konfigurationsverzeichnis vom DHCP-Server kopiert werden. Erstellt wird die Datei mit dem Befehl:

rndc-confgen -a
key "rndc-key" {
        algorithm hmac-md5;
        secret "zSNx8RlUTnod+0DBDcfQCw==";
};

Da die Konfigurationsdateien von Bind und dem DHCP-Server von jedem gelesen werden können, sollte man den Inhalt der Schlüsseldatei nicht in die Konfigurationsdateien übernehmen, sondern mit der „include“ Anweisung von DNS- bzw. DHCP-Dienst laden lassen. Die so erstellte Datei bekommt automatisch die richtigen Rechte für Bind.

-rw------- 1 root bind 77 Jan  2 12:36 /etc/bind/rndc.key

DCHP-Server Konfiguration

Als erstes muss wie gesagt die erzeugte Datei kopiert werden.

cp /etc/bind/rndc.key /etc/dhcp/

Diese hat nach dem Kopieren allerdings andere Rechte. Da aber der Besitzer und die Gruppe nur darauf zugreifen können, reicht das eigentlich aus.

-rw-r----- 1 root root 77 Jan  2 13:36 /etc/dhcp/rndc.key

Wem das allerdings noch nicht sicher genug ist, der kann mit

chmod g-r /etc/dhcp/rndc.key

der Gruppe das Leserecht entziehen.

Nun muss noch die dhcp.conf angepasst werden.

include "/etc/dhcp/rndc.key";

ddns-updates on;
ddns-update-style interim;
ddns-domainname "zuhause.lan.";
use-host-decl-names on;

zone zuhause.lan. {
        primary 127.0.0.1;
        key rndc-key;
}

zone 0.168.192.in-addr.arpa. {
        primary 127.0.0.1;
        key rndc-key;
}

Zusätzlich zur rndc.key muss dem DHCP-Server noch mitgeteilt werden in welcher Forwand- und Revers-Lookup-Zone sich die Clients befinden sollen.

 ddns-updates on  Schaltet die Update Funktion des DHCP-Servers ein.
 ddns-update-style interim  muss angegeben werden, gibt auch keine Alternative Option.
ddns-domainname „zuhause.lan.“ Domainname für die dynamische Zuordnung der Clients
use-ost-decl-names on; Ermöglicht dem DHCP-Server die von den Clients übermittelten Hostnamen zu verwenden.

DNS-Server Konfiguration

Nun kommt noch der DNS-Server an die Reihe. Folgende Änderungen an der Datei „/etc/bind/named.conf.local“ müssen gemacht werden.

include "/etc/bind/rndc.key";

Zusätzlich muss in den Zonen das Update erlaubt werden.

zone "zuhause.lan" {
    type master;
    file "/var/cache/bind/zuhause.lan";
    allow-update { key "rndc-key"; };
};

zone "0.168.192.in-addr.arpa" {
    type master;
    file "/var/cache/bind/0.168.192.lan";
    allow-update { key "rndc-key"; };
};

 

Nach einem Neustart beider Dienste sollte es eigentlich funktionieren. Da beide Dienste ihre Fehler in „/var/log/syslog“ schreiben, sollte man diese Datei im Auge behalten und dort nach Auffälligkeiten suchen.

Wenn alles gut gegangen ist, sehen die Log-Einträge im Syslog so aus:

dhcpd: DHCPREQUEST for 192.168.0.200 from 00:12:34:56:78:90 (Majo-PC) via eth0
dhcpd: DHCPACK on 192.168.0.200 to 00:12:34:56:78:90 (Majo-PC) via eth0
dhcpd: Added new forward map from Majo-PC.zuhause.lan. to 192.168.0.200
named[2780]: client 127.0.0.1#5566/key rndc-key: signer "rndc-key" approved
named[2780]: client 127.0.0.1#5566/key rndc-key: updating zone '0.168.192.in-addr.arpa/IN': deleting rrset at '200.0.168.192.in-addr.arpa' PTR
named[2780]: client 127.0.0.1#5566/key rndc-key: updating zone '0.168.192.in-addr.arpa/IN': adding an RR at '200.0.168.192.in-addr.arpa' PTR
named[2780]: zone 0.168.192.in-addr.arpa/IN: sending notifies (serial 2)
dhcpd: Added reverse map from 200.0.168.192.in-addr.arpa. to Majo-PC.zuhause.lan.

Schreibe einen Kommentar