DHCP-Server mit Windows Server 2008 (R2)
DHCP ist der Netzwerkdienst, der die Clients mit ihrer IP-Konfiguration versorgt und bildet somit die Grundlage für ein sinnvolles Netzwerk-Management auf höheren Ebenen. Zur IP-Konfiguration zählen neben der IP-Adresse selbst etwa auch Angaben wie das Gateway, der Netzmaske, der DNS-Server oder der Domain-Name. Auch die „Lease Time“ gehört zu dem übermittelten Parametern – die Zeit, die eine Konfiguration gültig ist und nach deren Ablauf sich der Client eine neue besorgen muss.
So arbeitet DHCP
Eine gültige initiale DHCP-Zuweisung an einen bis dato konfigurationslosen Client gibt es nach 4 Schritten:
- DHCPDISCOVER: Der Client sendet eine Broadcast-Anfrage an das Netz, mit der er nach DHCP-Servern sucht. Da er noch keine gültige IP-Adresse hat, lautet die Quell-IP 0.0.0.0, die Ziel-IP 255.255.255.255.
- DCHPOFFER: Die in diesem Netzwerksegment vorhandenen DHCP-Server senden ihre „Angebote“.
- DHCPREQUEST: Der Client fordert eine konkrete Konfiguration bei einem Server an – üblicherweise wird er dazu den mit der schnellsten Antwort auswählen. Außerdem führen moderne Clients mittels einer ARP-Anfrage einen Test durch, ob die angebotene IP-Adresse wirklich noch frei ist.
- DHCPACK: Die Anforderung wird vom betreffenden DHCP-Server bestätigt – der Client besitzt eine gültige Konfiguration.
Für eine Erneuerung der IP-Adresse kommt das Protokoll mit weniger Schritten aus: Üblicherweise fordert der Client nach etwa der Hälfte der Lease Time eine Verlängerung an, beginnt dann aber bei Schritt 3 und sendet diese nur an den Server, der sie ursprünglich vergeben hatte. Schlägt dies fehl, sendet er diese Anforderung nach ca. ? der Lease Time als Broadcast an alle verfügbaren DHCP-Server. Gelingt es ihm nicht, seine IP-Konfiguration zu verlängern, muss er neu bei Schritt 1 anfangen und sich eine neue besorgen. Dies läuft etwa so ab, wenn der Client in ein neues Subnetz verschoben wurde.
Neben den 4 Nachrichten für einen reibungslose Vergabe gibt es die, bei denen die Konfiguration nicht vergeben werden konnte, sowie informationelle:
- DHCPNAK ist die Ablehnung einer konkreten Konfigurationsanforderung durch den Server, etwa weil der für eine Verlängerung zuständige Server ausgefallen ist, der Client sich inzwischen in einem anderen Subnetz befindet, oder die IP-Adresse anderweitig vergeben wurde.
- DHCPDECLINE ist die Ablehnung eines Konfigurationsangebotes durch den Client, weil er feststellte, dass die Adresse bereits verwendet wird,
- DHCPRELEASE ist eine Client-Nachricht an den DHCP-Server, dass die Konfiguration wieder freigegeben wird, etwa beim Herunterfahren oder manuell.
- Mit DHCPINFORM können Clients zusätzliche Informationen beim DHCP-Server erfragen, etwa ob es noch weitere DHCP-Server gibt.
DHCP planen, einrichten und verwalten
Die in einem DHCP-Server festgelegten zu versorgenden Bereiche, Ausschlussbereiche (reservierte IP-Bereiche für statische Konfigurationen wie etwa Server) und Reservierungen (Bindungen von Konfigurationen an bestimmte MAC-Adressen) sind in einer Datenbank hinterlegt. Das macht DHCP zu einem I/O-intensiven Dienst. Microsoft stellt ein Beispiel und allgemein zu beachtende Richtlinien zur Verfügung, welche Parameter man bei der Planung von DHCP berücksichtigen sollte, die zwar im verlinkten Artikel noch keinen Bezug auf Virtualisierung nehmen, dort aber ebenso zutreffen. Dazu käme bei virtuellen DHCP-Servern eventuell deren Verteilung auf die physischen Hosts, ob man eine Redundanz nun per 80/20-Verteilung oder durch DHCP-Standbyserver realisiert.
Microsoft empfiehlt ersteres; dabei ist bei einer Bereitstellung von 2 DHCP-Servern pro Netzwerksegment einer primär und für den überwiegenden Teil (ca. 80%) der IP-Vergabe zuständig. Dies wird durch die Konfiguration von Ausschlussbereichen in beiden Servern gehandhabt.
Im gleichen Dokument wird empfohlen, die serverseitige IP-Konflikterkennung nur dann einzuschalten, wenn sich veraltete Clients (vor Windows 2000) im Netzwerk befinden. Der Grund liegt auf der Hand: Die Konflikterkennung per ARP arbeitet zuverlässiger und ressourcenschonender als die vom Server praktizierten Ping-Anfragen an angeforderte Adressen, die eventuell gar per Desktop-Firewall abgeblockt werden. Auch für das bei der Anmeldung des Clients an das Netz fällige DNS-Update setzt man auf direkte Kommunikation zwischen DNS-Client und -Server.
DHCP-Sicherheit
DHCP ist per se ein unsicheres Protokoll, da ein Client seine Anfrage als Broadcast sendet und die Antwort jedes Servers akzeptiert. Es ist deshalb recht einfach, mit Hilfe eines präparierten DHCP-Servers ein Netzwerk etwa mit DoS-Angriffen zu attackieren. Abhilfe schafft letzten Endes nur die Einschränkung des physischen Zugriffs auf das Netz sowie eine sorgfältige Protokollierung, etwa um erhöhte Aufkommen von fehlgeschlagenen Anfragen festzustellen.
Versehentlichen Fehlkonfigurationen begegnet Microsoft mit einer proprietären Erweiterung von DHCP für Active Directory – der Autorisierung. Nicht autorisierte Microsoft-DHCP-Server stellen ihren Dienst selbsttätig ein, sobald sie in einem Netzwerksegment auf einen autorisierten Server treffen. Damit können nicht autorisierte Server praktisch nur noch außerhalb des Active Directory verwendet werden, etwa in abgeteilten Segmenten zur Versorgung proprietärer Clients.
Backup und Restore
Die DHCP-Datenbank besitzt eine eigene, automatische Backup-Funktion, mit deren Hilfe sich die Datenbank nach einem eventuellen Crash des Dateisystems in einen konsistenten Zustand zurücksetzen lässt. Administratoren haben außerdem die Möglichkeit, manuelle Backups anzufertigen.