Tutorials - Dynamische DNS-Updates mit DHCP

Sprachenübersicht/Betriebssysteme/Linux/Internet & Netzwerk

Dynamische DNS-Updates mit DHCP

Diese Seite wurde 8787 mal aufgerufen.

Dieser Artikel wurde in einem Wikiweb System geschrieben, das heißt, Sie können die Artikel jederzeit editieren, wenn Sie einen Fehler gefunden haben, oder etwas hinzufügen wollen.

Editieren Versionen Linkpartnerschaft Bottom Printversion

Keywords: ddns dynamic dns updates dhcp bind dhcpd isc howt tutorial

Inhaltsverzeichnis



Vorwort Top


In diesem Tutorial wird behandelt, wie man per DHCP automatisch einen DNS-Hostnamen für einen DHCP-Client setzt, sobald diesem eine IP zugeordnet wird.

Voraussetzung dafür ist, dass sich bereits ein DNS-Server und DHCP-Server im Netzwerk befinden. siehe: Routing Tutorial

Vorgaben Top


In diesem Tutorial verwenden wir folgende Werte für das Setup:

  • Domain: intern.beispiel.local


  • IP-Netz: 192.168.0.0/24


  • IP des Nameserver: 192.168.0.1



Diese Werte müssen selbstverständlich auf die eigenen angepasst werden.

Erstellen der Schlüssel Top


Damit Fremde nicht in der Lage sind, selbst die DNS-Einträge zu ändern, müssen wir einen Schlüssel erstellen, welcher nur dem DHCP-Server und dem DNS-Server bekannt ist.

Zu diesem Zweck verwenden wir dnssec-keygen welches mit Bind mitgeliefert wird.

Code:


cd /etc/bind # oder auch /etc/named
cat `dnssec-keygen -a HMAC-MD5 -b 265 -n host dhcpkey`.key | cut -d " " -f 7
# ergibt z.B: EcY2ORhLO91rBtGVsgcD+oFgAV6Vnr3fdOMZgL5to9ronA==



Der zweite Befehl erstellt einen Schlüssel, welcher in eine Datei gespeichert wird. Diese Datei wird daraufhin ausgelesen und der Schlüssel ausgegeben. Die erstellten Dateien können wieder gelöscht werden.

Einrichten der DNS-Zonen Top


Danach richten wir uns eine Domain für das lokale Netzwerk ein.

/etc/bind/named.conf:


key dhcpkey {
        algorithm hmac-md5;
        secret "EcY2ORhLO91rBtGVsgcD+oFgAV6Vnr3fdOMZgL5to9ronA==";
        };

# dieser Wert entspricht dem vorher erzeugtem Schlüssel

zone "intern.beispiel.local" in {
        type master;
        allow-update { key dhcpkey; };
        file "pri/intern.beispiel.local.zone";
        };

# das Zonen-File für unsere lokale Domain befindet sich in /etc/bind/pri/intern.beispiel.local.zone

zone "0.168.192.in-addr.arpa" {
        type master;
        file "pri/0.168.192.reverse.zone";
        allow-update { key dhcpkey; };
        notify no;
        };

# das Zonen-File für unseren lokalen IP-Range befindet sich in /etc/bind/pri/0.168.192.reverse.zone



Jetzt fehlen noch die dazugehörigen Zonen-Dateien.

/etc/bind/pri/intern.beispiel.local.zone:


$ORIGIN .
$TTL 600        ; 10 minutes
intern.beispiel.local     IN SOA  ns.intern.beispiel.local. hostmaster.beispiel.local. (
                                2007071009 ; serial
                                7200       ; refresh (2 hours)
                                3600       ; retry (1 hour)
                                604800     ; expire (1 week)
                                86400      ; minimum (1 day)
                                )
                        NS      ns.intern.beispiel.local.
                        A       192.168.0.1

$ORIGIN intern.beispiel.local.
ns               A       192.168.0.1



/etc/bind/pri/0.168.192.reverse.zone:


$ORIGIN .
$TTL 600        ; 10 minutes
0.168.192.in-addr.arpa    IN SOA  ns.intern.beispiel.local. hostmaster.beispiel.local. (
                                2007112007 ; serial
                                7200       ; refresh (2 hours)
                                3600       ; retry (1 hour)
                                604800     ; expire (1 week)
                                86400      ; minimum (1 day)
                                )
                        NS      ns.intern.beispiel.local.
$ORIGIN 0.168.192.in-addr.arpa.
1                       PTR     ns.intern.beispiel.local.



Nach einem Neuladen des DNS-Server sollte diese Konfiguration übernommen sein. Fehler diesbezüglich finden sich in /var/log/messages oder /var/log/syslog.

Konfiguration des DHCP-Daemons Top



/etc/dhcp/dhcpd.conf:


option domain-name "intern.beispiel.local";
option domain-name-servers 192.168.0.1;

default-lease-time 600;
max-lease-time 7200;

subnet 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.0.50 192.168.0.100;
  option routers 192.168.0.1;
}

key dhcpkey {
        algorithm hmac-md5;
        secret "EcY2ORhLO91rBtGVsgcD+oFgAV6Vnr3fdOMZgL5to9ronA==";
}

zone intern.beispiel.local. {
        primary 192.168.0.1; # ip des nameservers
        key dhcpkey;
}

zone 0.168.192.in-addr.arpa. {
        primary 192.168.0.1;
        key dhcpkey;
}

ddns-update-style interim;
ddns-domainname "intern.beispiel.local";
ddns-updates on;
do-forward-updates on;



Schlusswort Top


Bei jeder IP-Aktualisierung wird daraufhin der DNS-Eintrag neu geschrieben. Lokale Clients sollten jetzt in der Lage sein mit ping client1.intern.beispiel.local ohne Angabe von IP den Gegenüber zu finden.

Gibt es noch irgendwelche Fragen, oder wollen Sie über den Artikel diskutieren?

Editieren Versionen Linkpartnerschaft Top Printversion

Haben Sie einen Fehler gefunden? Dann klicken Sie doch auf Editieren, und beheben den Fehler, keine Angst, Sie können nichts zerstören, das Tutorial kann wiederhergestellt werden

Sprachenübersicht/Betriebssysteme/Linux/Internet & Netzwerk/Dynamische DNS-Updates mit DHCP