Ubuntu DHCP3 und Bind9 mit DDNS
Damit der dhcp3-server automatische Dns-Updates in Bind macht ist folgendes nötig. In diesem Beispiel laufen beide Server auf dem selben Rechner mit Ip 10.0.0.1, der in der privaten Domäne home.local sitzt.
Bind
named.conf hinzufügen:
//localhost updates erlauben
controls {
inet 127.0.0.1 allow {localhost; } keys { “rndc-key”; };
};
named.conf.local enthält die lokalen Zonen:
zone “home.local” {
type master;
file “/var/cache/bind/db.home”;
allow-update { key “rndc-key”; };
notify yes;
};zone “0.0.10.in-addr.arpa” {
type master;
file “/var/cache/bind/db.10.0.0”;
allow-update { key “rndc-key”; };
notify yes;
};include “/etc/bind/rndc.key”;
Das File /etc/bind/rndc.key enthält einen Key, mit dem sich dann der DHCP an Bind für Updates authentifizieren kann. Die Dateien db.home für den Vorwärts- und db.10.0.0 für Reverse-Lookup liegen original in /etc/bind (durch kopieren und sinngemäßem Anpassen einer bestehenden, z.b: db.empty, erzeugen). In /var/cache/bind werden Symlinks angelegt. Grund: Bind will temporäre Dateien erstellen, was ihm nur dort erlaubt ist.
DHCP
Zunächst muss die /etc/bind/rndc.key nach /etc/dhcp3 kopiert werden und dhcpd zum Owner gemacht werden, damit der DHCP-Daemon die Datei lesen kann. Ihm wird folgendermaßen noch beigebracht, dynamische DNS-Updates zu machen.
In der dhcpd.conf:
ddns-updates on;
ddns-update-style interim;
ddns-rev-domainname “in-addr.arpa.”;
ignore client-updates;
include “/etc/dhcp3/rndc.key”;
interim scheint der einzige sinnvolle Modus zu sein. Client-Updates werden nicht zugelassen, nur der DHCP soll die Einträge vornehmen. Durch Einbinden der kopierten rndc.key kann sich der DHCP nun bei Bind einschmeicheln.
Im weiteren Teil der Config muss in dem Subnet (so wie folgend, oder auch global) die zu aktualisierende Zone angegeben werden. Hier beispielhaft für eine Adressvergabe von 10.0.0.100 bis 10.0.0.200 und den Zonen, die identisch lauten wie die in Bind definierten. (Hier ist der Server 10.0.0.1 zugleich auch Gateway)
subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.100 10.0.0.200;
option subnet-mask 255.255.255.0;
option routers 10.0.0.1;
option broadcast-address 10.0.0.255;
option domain-name-servers 10.0.0.1;zone 0.0.10.in-addr.arpa. {
primary 10.0.0.1;
key “rndc-key”;
}zone home.local. {
primary 10.0.0.1;
key “rndc-key”;
}
}
