aZZe l33t
Joined: 20 Feb 2003 Posts: 965 Location: Dinslaken, Germany
|
Posted: Sat Jan 01, 2005 1:11 pm Post subject: [HowTo] DHCP für Updates eines BIND-Servers konfigurieren |
|
|
Hallo zusammen!
Da ich bezüglich des Themas "DHCP-Server für Updates eines BIND-Nameserver konfigurieren" nichts wirklich tolles hier im Forum gefunden habe, (wenn ich Unrecht habe möge man mich gerne berichtigen) möchte ich gerne mal hierzu was schreiben. Viele kennen bestimmt das Problem, dass sie zwar eine IP Adresse von ihrem DHCP Server zugewiesen bekommen aber Namensauflösungen ausbleiben, es sei denn sie werden statisch zugewiesen. Abhilfe hierfür schafft ein sogenannter TSIG-Schlüssel, der zum Signieren von Updates verwendet wird. Man kann solch einen key mit dem Programm "dnssec-keygen" generieren.
Hierfür ein kleines Beispiel:
Code: |
dnssec-keygen -a HMAC-MD5 -b 128 -n ZONE DHCP_UPDATER
|
Wie man sieht habe ich hier den HMAC-MD5 Algorithmus verwendet bei einer Bit Länge von 128, was eigentlich vollkommen ausreicht. Man kann hier bis 512 hochgehen.....für Psychoneumatiker.
Mit -n ZONE legt man den Besitzer Typ des Schlüssels fest. Für einen dnssec zone key ist also "ZONE" unsere richtige Wahl. "DHCP_UPDATER" ist der Name meines Keys. Nun werden im Home Verzeichnis des Users, der diesen Befehl abgesetzt hat zwei Dateien abgelegt, die mit Kdhcp anfangen. Dort befindet sich nun der erstellte key. Dieser key muss nun in die Konfigurationsdateien /etc/dhcp/dhcpd.conf und /etc/bind/named.conf eingetragen werden. Siehe hierzu weiter unten die Kästen.
Zusätlich müssen wir noch in der Datei /etc/dhcp/dhcpd.conf den eigentlichen Update Vorgang aktivieren. Dies machen wir mit den Optionen:
Code: |
ddns-update-style interim;
ddns-domainname "dark.lan";
ddns-rev-domainname "1.168.192.in-addr.arpa";
ddns-updates on;
|
Der Update Style "interim" sei hier empfohlen, da der Rest nicht so wirklich toll funktioniert und ich aufgrund dessen hier auch nicht weiter eingehen möchte. Mit "ddns-domainname" gebe ich die Forward Zone an, so wie sie auch im Bind konfiguriert ist. Meine hier heißt "dark.lan". Eure sollte logischerweise nicht so heißen . "ddns-rev-dominname" Gibt dann die Reverse Zone an, die upzudaten ist. Und schließlich das ganze aktivieren mit "ddns-updates on".
Ich liste hier nun mal meine configs dann wirds wohl auch etwas einfacher.
/etc/dhcp/dhcpd.onf:
Code: |
ddns-update-style interim;
ddns-domainname "dark.lan";
ddns-rev-domainname "1.168.192.in-addr.arpa";
ddns-updates on;
default-lease-time 600;
max-lease-time 7200;
option domain-name-servers 192.168.1.1, 217.237.151.225, 217.237.150.225, 194.25.2.129;
option domain-name "dark.lan";
option broadcast-address 192.168.1.255;
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
server-name "larry";
allow unknown-clients;
authoritative;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.50;
}
key DHCP_UPDATER. { <--- auf den "Punkt" achten!!!
algorithm hmac-md5;
secret "T+Uwruh6uDFNokk310uCJQ=="; <--- hier kommt der generierte Schlüssel hin
} <----- keine Simikolons ans Ende!!!!!!!!!!!
zone dark.lan. {
primary 127.0.0.1;
key DHCP_UPDATER.; <--- ruft den oben definierten Updater auf
}
zone 1.168.192.in-addr.arpa. {
primary 127.0.0.1;
key DHCP_UPDATER.;
}
|
/etc/bind/named.conf:
Code: |
options {
directory "/var/bind";
listen-on-v6 { none; };
listen-on port 53 { 127.0.0.1;
192.168.1.1;
};
// to allow only specific hosts to use the DNS server:
allow-query {
127.0.0.1;
192.168.1/24;
};
// if you have problems and are behind a firewall:
//query-source address * port 53;
pid-file "/var/run/named/named.pid";
};
zone "." IN {
type hint;
file "named.ca";
};
zone "localhost" IN {
type master;
file "pri/localhost.zone";
allow-update { none; };
notify no;
};
zone "127.in-addr.arpa" IN {
type master;
file "pri/127.zone";
allow-update { none; };
notify no;
};
key DHCP_UPDATER. {
algorithm hmac-md5;
secret "T+Uwruh6uDFNokk310uCJQ=="; <--- den key auch in die named.conf eintragen!!
};
zone "dark.lan" in {
type master;
file "pri/dark.lan.zone";
update-policy {
grant DHCP_UPDATER. wildcard *.dark.lan A TXT;
};
};
zone "1.168.192.in-addr.arpa" in {
type master;
file "pri/1.168.192.in-addr.arpa.zone";
update-policy {
grant DHCP_UPDATER. wildcard *.1.168.192.in-addr.arpa. PTR;
};
};
|
Jetzt sieht man noch dass ich in der named.conf eine "update-policy" hinzugefügt habe. Seit Bind 9 steht uns diese Anweisung zur Verfügung. Hiermit wird eingeschränkt, was der TSIG-Schlüssel des DHCP-Server updaten soll. Ich teile dem DHCP Server hier mit, dass er in meiner Forward Zone "dark.lan" nur A und TXT Records updaten soll. In der Reversezone soll er nur PTR Records updaten.
So ich hoffe mal, dass beim copy und pasten keine Zeichen vergessen wurden, da dies auch meine eigentlichen Probleme waren. Oft vergisst man ein Semikolon oder macht eins zuviel oder lässte Leerstellen, wo keine sein dürfen.
Viel Spass beim ausprobieren
aZZe _________________ ASUS 4A785TD-V EVO with AMD Phenom(tm) II X4 965
4GB RAM DDR3-1333
ATI Radeon HD4870 |
|