DHCP-Server

Der DHCP-Server ist als Daemon (z.B. dhcpd) implementiert und wartet auf UDP-Port 67 auf Client-Anfragen. In der DOS-Konsole mit dem Befehl "netstat -an" lässt sich überprüfen, ob der Dienst gestartet ist. In seiner Konfigurationsdatei befinden sich Informationen über den zu vergebenden Adresspool. Zusätzliche Angaben über netzwerkrelevante Parameter wie die Subnetzmaske, die lokale DNS-Domäne oder das zu verwendende Gateway komplettieren die Konfigurationsdatei des DHCP-Servers.

DHCP Konfiguration

Mit Hilfe eines DHCP-Servers wird die Zuweisung der IP-Adressen an die Clients automatisiert. Die Servermaschinen sollten feste IP-Adressen erhalten. Bei der Konfiguration des DHCP-Servers werden genügend IP-Adressen für die sich gleichzeitig am Netz angemeldeten Clientmaschinen ``reserviert'', es wird ein sogenannter Scope gebildet. Diese Adressen müssen fortlaufend in einem zusammenhängenden Bereich gewählt werden.

Bei AD integrierten DCHP-Servern muß der DHCP-Server authorisiert werden, um IP-Adressen an die Clients zu vergeben. Falls dieses nicht der Fall ist, wird der Client eine Fehlermeldung wie ``DCHP unavailable'' ausgeben.

Aus Redundanzgründen werden in einem Subnetz manchmal zwei DHCP-Server betrieben. Wenn ein Client einen Broadcast zur Adressabfrage sendet wird die Adresse von dem DCHP-Server vergeben, der zuerst antwortet. Die Scopes auf den Servern werden hier so eingestellt, daß auf beide Maschinen der gesamte Adressbereich als Scope definiert wird, wobei zwei sich aneinander anschließende Bereiche definiert werden, die von der Adressvergabe ausgeschlossen sind. Dieser Bereich umfaßt auf der einen Maschine ca. 20% des gesamten Adressbereichs, während er auf der anderen Maschine 80% aller Adressen einschließt.

Wird ein Adressbereich erweitert, oder sollen andere Änderungen am Scope vorgenommen werden, sollten alle Clients ihre IP-Adressen erneuern. Hier müssen dann alle Clients gleichzeitig vom Netz genommen werden bevor die Änderungen am Scope durchgeführt werden können. Soll ein ``gleitender'' Übergang erfolgen, oder kann der Bereich der zu vergebenden Adressen aus irgendeinem Grund nicht zusammenhängend gewählt werden kann, so müssen die einzelnen Bereiche zu einem sogenannten Superscope zusammengefaßt werden.

Wird bei laufendem DHCP-Server ein Scope neu erstellt, muß dieser nach Abschluß der Konfiguration aktiviert werden.

DHCP und DDNS (dynamisches DNS)

DHCP Clients, die mit Windows 2000 oder Windows 98 laufen können ihre IP-Adresse automatisch bei einem DNS-Server registrieren, der den RFC 2136 unterstützt. Im Falle der Adressverwaltung mittels DHCP kann dieses auch vom DCHP-Server vorgenommen werden. Dieses wird in den Eigenschaften für den DHCP-Server oder für einen Scope des DHCP-Servers eingestellt. An den (primären) DNS-Server werden in einem solchen Falle DNS-Updates gesandt. Falls im Logfile eines DNS-Servers solche Nachrichten in regelmäßigen Abständen auftauchen und abgewiesen werden, sollte nach einem falsch konfigurierten DHCP-Server im Netzwerk Ausschau gehalten werden.


Es gibt verschiedene Betriebsmodi eines DHCP-Servers:

  • Automatische Zuordnung
    In diesem Modus wird jedem Client eine IP-Adresse fest und auf unbestimmte Zeit zugeordnet. Der größte Nachteil liegt hier in der Tatsache begründet, dass eine IP-Adresse an die MAC-Adresse des jeweiligen Clients gebunden wird. Sobald die Anzahl der verschiedenen Rechner die der verfügbaren Adressen im Pool überschreitet, können keine Adressen mehr vergeben bzw. muss der Cache des Servers gelöscht werden.

  • Manuelle Zuordnung
    Hier wird der MAC-Adresse des Clients innerhalb der Konfigurationsdatei eine IP-Adresse fest zugeordnet. Der Vorteil dieses Einstellungsmodus gegenüber der manuellen Konfiguration direkt am Client liegt vor allem darin, trotz der Vergabe einer "festen" IP-Adresse die Einstellungen noch immer zentral am DHCP-Server verwaltet werden können. So muss weder der physikalische Weg zum Client-Rechner vorgenommen werden noch überhaupt unmittelbar in den Bereich des Benutzers eingegriffen werden.
    Manuelle Zuordnungen werden vor allem dann vorgenommen, wenn der DHCP-Client beispielsweise Server-Dienste zur Verfügung stellt und daher unter einer festen IP-Adresse zu erreichen sein soll. Auch Port-Weiterleitungen von einem Router an einen Client benötigen in der Regel eine fest IP-Adresse.

  • Dynamische Zuordnung
    Dieses Verfahren gleicht der automatischen Zuordnung, allerdings hat der Server hier in seiner Konfigurationsdatei eine Angabe, wie lange eine bestimmte IP-Adresse an einen Client "vermietet" werden darf, bevor der Client sich erneut beim Server melden und eine "Verlängerung" beantragen sollte. Meldet er sich nicht, wird die Adresse frei und kann an einen anderen (oder auch den gleichen) Rechner neu vergeben werden. Diese Zeit, die vom Administrator bestimmt werden kann, heißt Lease-Zeit.


Ablauf der DHCP-Kommunikation

  • Initiale Adresszuweisung
    Damit der Client einen DHCP-Server nutzen kann, muss sich dieser im selben Subnetz befinden. Befindet sich der DHCP-Server in einem anderen Subnetz so muss ein DHCP-Relay installiert werden.


    Wenn ein Client erstmalig eine IP-Adresse benötigt, schickt er eine DHCPDISCOVER-Nachricht als Netzwerk-Broadcast an die verfügbaren DHCP-Server,

    die mit DHCPOFFER antworten und einen Vorschlag für eine IP-Adresse machen. Dieser Broadcast hat als Absenderadresse 0.0.0.0 und als Zieladresse 255.255.255.255. Der Client darf nun unter den eingetroffenen Angeboten wählen.

    Wenn er sich für eines entschieden hat (z.B. wegen längster Lease-Zeit oder auch wegen Ablehnung eines speziellen, evtl. falsch konfigurierten DHCP-Servers), kontaktiert er per Broadcast und einem im Paket enthaltenen Serveridentifier den entsprechenden Server mit der Nachricht DHCPREQUEST,

    worauf der Server ihm in einer DHCPACK-Nachricht die IP-Adresse mit den weiteren relevanten Daten übermittelt. Bevor der Client sein Netzwerkinterface mit der zugewiesenen Adresse konfiguriert, sollte er noch prüfen, ob nicht versehentlich noch ein anderer Rechner die Adresse verwendet.

  • DHCP-Refresh (nur bei dynamischer Zuordnung)
    Zusammen mit der IP-Adresse erhält der Client in der DHCPACK-Nachricht die Lease-Zeit. Der Standard sieht vor, dass der Client nach der Hälfte der Lease-Zeit einen erneuten DHCPREQUEST sendet und so bekundet, dass weiter Interesse an der reservierten IP-Nummern besteht. Dieser DHCPREQUEST wird per Unicast an den im Datenpaket enthaltenen Server gesendet. Der Server sollte dann in der Regel ein DHCPACK mit identischen Daten wie vorher, aber einer neuen Lease-Zeit senden. Damit gilt die Adresse als verlängert. Sollte der Client es versäumen, bis zum Ablauf der Lease-Zeit eine Verlängerung zu beantragen, so muss er seine Netzwerkkarte dekonfigurieren und wieder bei DHCPDISCOVER mit einer initialen Adresszuweisung beginnen. Sollte der DHCP-Server keine Adressen mehr zur Verfügung haben oder während des Vorganges schon ein anderer Client seine letzte Adresse zugesagt bekommen haben sendet der Server ein DHCPNACK und der Vorgang der Adressanfrage beginnt erneut.

Sonstiges

  • Die negative Bestätigung DHCPNAK tritt ein, wenn der Client versucht, seine ehemalige IP-Adresse zu leasen, die jedoch inzwischen nicht mehr verfügbar ist (Lease abgelaufen und anderweitig vergeben) oder wenn der Clientcomputer in ein anderes Subnetz verschoben wurde.

  • Um die Ausfallwahrscheinlichkeit zu verringern ist es möglich auch mehrere DHCP-Server in einem Netz platzieren. Dazu gibt es die "authorative" Einstellung mit der man einstellen kann, ob ein DHCPNAK auch verschickt werden soll, wenn der DHCP-Server für die vom Client vorgeschlagene Adresse nicht zuständig ist.

  • Ein Client sendet DHCPRELEASE, wenn er eine IP-Adresse vor Ablauf der Lease-Zeit zurückgeben will.

  • Sollte der Client feststellen, dass die zugewiesene Adresse bereits benutzt wird, so teilt er dies dem Server durch DHCPDECLINE mit, welcher seinerseits den Administrator von dieser potentiellen Fehlkonfiguration unterrichten sollte.


Autorisieren von DHCP-Servern


APIPA deaktivieren:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
D-Word Eintrag erstellen: IPAutoconfigurationEnabled
Wert = 0