Windows-Server-Workshop

Netzwerkpraxis: DHCP-Server in Windows Server 2008 R2

21.01.2013 von Thomas Joos
Mit Windows Server 2008 R2 hat Microsoft die DHCP-Funktion um zusätzliche Möglichkeiten erweitert. Mit der richtigen DHCP-Konfiguration können sich Administratoren die Arbeit deutlich erleichtern, wie folgender Praxisbeitrag erläutert.

Für den Fall, dass kein DHCP-Server für das automatische Zuweisen einer IP-Adresse erreicht werden kann, bestimmen Windows Vista und Windows 7 eine Adresse in der für Microsoft reservierten IP-Adressierungsklasse, die von 169.254.0.1 bis 169.254.255.254 reicht. Diese Adresse verwendet Windows, bis ein DHCP-Server auf Anfragen antwortet.

Diese Methode des Beziehens einer IP-Adresse bezeichnet Microsoft als automatische IP-Adressierung (APIPA). Bei dieser Methode verwendet Windows weder DNS noch WINS oder Standard-Gateways. Um die APIPA-Funktion zu deaktivieren, müssen Sie in der Registrierung unter HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters einen Schlüssel namens IPAutoconfigurationEnabled anlegen und ihm den Wert 0 zuweisen.

DHCP-Server autorisieren

Sobald der DHCP-Server Mitglied in einer Active-Directory-Domäne ist, müssen Sie den Server im Active Directory autorisieren. Nur Mitglieder der Gruppe Organisations-Admins können standardmäßig DHCP-Server autorisieren. Erst dadurch ist sichergestellt, dass der Server IP-Adressen automatisch an die Clients verteilen kann. Nach der Installation ist ein DHCP-Server zunächst nicht autorisiert, was Sie am roten Pfeil erkennen, der nach unten gerichtet ist, wenn Sie die Verwaltung des DHCP-Servers öffnen. Klicken Sie in der DHCP-Verwaltung mit der rechten Maustaste auf den Servernamen und wählen Sie im Kontextmenü den Befehl Autorisieren aus. An dieser Stelle können Sie diese auch wieder aufheben, wenn ein DHCP-Server keine Adressen mehr verteilen soll.

Bildergalerie:
Dynamische DNS-Updates konfigurieren
Konfiguration der DNS-Anbindung eines DHCP-Servers.
Dynamische DNS-Updates konfigurieren
Festlegen des Namenschutzes für DNS.
Dynamische DNS-Updates konfigurieren
Erweiterte Einstellungen von DHCP für IPv4.
Migration - Verschieben einer DHCP-Datenbank auf einen anderen Server
Der Export der DHCP-Datenbank für die Migration.
Ausfallsicherheit bei DHCP-Servern herstellen
Arbeiten Sie mit den Konflikterkennungsversuchen eines DHCP-Servers.
MAC-Filterung für DHCP in Windows Server 2008 R2 nutzen
Verwalten der MAC-Filter in Windows Server 2008 R2.
MAC-Filterung für DHCP in Windows Server 2008 R2 nutzen
Hinzufügen eines Rechners zu einem Filter.

Wenn der DHCP-Serverdienst von Windows Server 2008 R2 startet, fragt er zunächst das Active Directory ab, um festzustellen, ob er sich in der Liste der autorisierten DHCP-Server befindet. Ist dies der Fall, sendet er eine DHCPinform-Nachricht in das Netzwerk, um festzustellen, ob es andere Verzeichnisdienste gibt und er bei diesen gültig ist.

Falls der DHCP-Server dagegen keinen Eintrag im Active Directory vorfindet, beantwortet der Server keine Client-Anfragen. Dieser Mechanismus funktioniert allerdings nur dann optimal, wenn Sie mit Active Directory arbeiten. Bei alleinstehenden Servern mit Windows Server 2008 R2 und DHCP-Dienst können Sie den DHCP-Serverdienst nur nutzen, solange keine Domäne des Active Directory im Netzwerk vorhanden ist. Der Schutz des Active Directory greift natürlich nicht, wenn auch andere, nicht auf Windows Server 2008 R2 basierende DHCP-Server im Netzwerk sind, beispielsweise in einem Router.

Dynamische DNS-Updates konfigurieren

Damit DHCP-Server für die Clients eine automatische DNS-Registrierung auf den DNS-Servern durchführen können, müssen Sie ihn erst dafür konfigurieren. Wenn Sie die Eigenschaften von IPv4 oder IPv6 des DHCP-Servers aufrufen, können Sie auf der Registerkarte DNS konfigurieren, welche Einträge der DHCP-Server auf den DNS-Servern erstellen soll.

Wenn Sie noch Clients einsetzen, die kein dynamisches DNS unterstützen, sollten Sie in den Eigenschaften des DHCP-Servers auf der Registerkarte DNS die Option DNS-A- und -PTR-Einträge für DHCP-Clients, die keine Aktualisierungen anfordern … sowie zusätzlich die Option DNS-A- und -PTR-Einträge immer dynamisch aktualisieren aktivieren.

Ein Computer, dessen Lease-dauer für die IP-Adresse abgelaufen ist, muss seine Adresse abgeben. Daher löscht der DHCP-Server in der Standardeinstellung auch die zugehörigen DNS-Einträge. Falls Sie die Einträge trotzdem behalten wollen, deaktivieren Sie das Kontrollkästchen A- und PTR-Einträge beim Löschen der Lease verwerfen. Über die Schaltfläche Konfigurieren auf der Registerkarte DNS in den Eigenschaften des DHCP-Servers können Sie noch den Namenschutz aktivieren, der bereits existierende Einträge im DNS vor Änderungen schützt.

Bildergalerie:
Dynamische DNS-Updates konfigurieren
Konfiguration der DNS-Anbindung eines DHCP-Servers.
Dynamische DNS-Updates konfigurieren
Festlegen des Namenschutzes für DNS.
Dynamische DNS-Updates konfigurieren
Erweiterte Einstellungen von DHCP für IPv4.

In der Gruppe DnsUpdateProxy in Active Directory befinden sich Computer, die als Proxy für die dynamische Aktualisierung von DNS-Einträgen fungieren können. DHCP-Server sind nicht automatisch Mitglied in dieser Gruppe. Sie sollten die Computerkonten der DHCP-Server in die Gruppe DnsUpdateProxy aufnehmen, wenn die DNS-Aktualisierung nicht funktioniert. Alternativ können Sie auf der Registerkarte Erweitert in den Eigenschaften für IPv4 oder IPv6 Anmeldedaten hinterlegen, die eine Aktualisierung ermöglichen.

Auf der Registerkarte Erweitert in den Eigenschaften von IPv4 oder IPv6 legen Sie zudem fest, wo die vom DHCP-Server erstellten Dateien abgelegt werden. Wenn Sie den DHCP-Server mit mehreren IP-Adressen konfiguriert haben, können Sie über die Schaltfläche Bindungen definieren, auf welchen dieser Adressen er auf Anfragen reagiert.

Migration - DHCP-Datenbank auf einen anderen Server verschieben

Unter manchen Umständen müssen die DHCP-Datenbank und deren Inhalt auf einen neuen Server verschoben werden. Damit Sie diese Schritte ausführen können, müssen Sie auf dem DHCP-Quell- und -Zielserver Mitglied der Gruppe Administratoren oder der Gruppe DHCP-Administratoren sein:

Vorbereitung: DHCP-Datenbank für die Migration exportieren.

1. Sichern Sie die DHCP-Datenbank auf dem Quellserver über das Kontextmenü des Servers in der Verwaltungskonsole. Der DHCP-Dienst erstellt während des normalen Betriebs auch eine automatische Sicherungskopie der DHCP-Datenbank. Standardmäßig wird diese Kopie der Datenbanksicherung im Verzeichnis Windows\System32\Dhcp\Backup gespeichert.

2. Beenden Sie den DHCP-Server. Dadurch wird verhindert, dass der Server nach dem Sichern der Datenbank neue Adress-Leases an Clients zuweist.

3. Deaktivieren Sie den DHCP-Serverdienst.

4. Kopieren Sie den Ordner mit der DHCP-Sicherungsdatenbank auf den DHCP-Zielserver.

5. Öffnen Sie auf dem Zielserver die DHCP-Verwaltungskonsole.

6. Klicken Sie im Kontextmenü auf Wiederherstellen.

7. Wählen Sie den Ordner mit der DHCP-Sicherungsdatenbank aus, und klicken Sie dann auf OK.

Eine weitere Möglichkeit, die DHCP-Daten zu exportieren, besteht über die Befehlszeile. Geben Sie dazu die folgenden Befehle ein:

NetshDhcpServer <IP-Adresse des Quell-Servers>Export <Pfad und Datei> all

Anschließend kopieren Sie die Datei auf den Zielserver und importieren die Datenbank wieder. Verwenden Sie dazu folgende Befehle:

1. Beenden Sie den DHCP-Server mit net stop dhcpserver.

2. Löschen Sie die Datei dhcp.mdb im Verzeichnis C:\Windows\System32\dhcp.

3. Starten Sie den DHCP-Server mit net start dhcpserver wieder.

4. Geben Sie netsh ein.

5. Geben Sie dhcp ein.

6. Geben Sie server <IP-Adresse des Zielservers> ein.

7. Geben Sie import <Pfad der Datei> ein.

8. Beenden Sie den DHCP-Server mit net stop dhcpserver.

9. Starten Sie den DHCP-Server mit net start dhcpserver wieder.

Core-Server - DHCP mit netsh.exe über die Befehlszeile verwalten

Der DHCP-Dienst von Windows Server 2008 R2 lässt sich mit dem Befehl netsh auch über die Befehlszeile verwalten. Vor allem auf Core-Servern ist dieses Tool der beste Weg zur Verwaltung, wenn nicht die DHCP-Konsole von einem anderen Server verwendet werden soll. Geben Sie dazu in der Befehlszeile zunächst netsh ein und bestätigen Sie. Anschließend geben Sie dhcp ein und bestätigen erneut. Jetzt können die spezifischen DHCP-Befehle in der Befehlszeile verwendet werden. Die folgenden Befehle stehen zur Verfügung. Innerhalb der Konsole können weitere Befehle über list angezeigt werden:

add server - Fügt einen DHCP-Server zur Liste der autorisierten Server in Active Directory hinzu. Syntax: add server <Server-DNS> <Server-IP>. Parameter: <Server-DNS>.

delete server - Löscht einen DHCP-Server aus der Liste der autorisierten Server in Active Directory. Syntax: delete server <Server-DNS> <Server-IP>. Der Parameter <Server-DNS> gibt den DHCP-Server an, der hinzugefügt werden soll.

server - Wechselt vom aktuellen Netsh-DHCP-Befehlszeilenkontext zu dem eines anderen DHCP-Servers. Verwenden Sie keine Parameter, wechselt server vom aktuellen Befehlszeilenkontext zum Kontext des lokalen Computers.

show server - Zeigt eine Liste der autorisierten Server in Active Directory an.

Neben den Standardbefehlen stehen noch zahlreiche andere Befehle zur Verfügung, die Sie über help anzeigen können. Auch die entsprechende Syntax der Befehle können Sie über die Hilfe in der Befehlszeile anzeigen. Auf Microsoft-TechNet finden Sie die Optionen, die neben Windows Server 2003 auch für Windows Server 2008 R2 gelten.

Ausfallsicherheit bei DHCP-Servern herstellen

Die Ausfallsicherheit bei DHCP-Servern herzustellen gestaltet sich oft etwas schwieriger, als dies zum Beispiel bei DNS der Fall ist. Aufgrund der laufenden und schnellen Änderungen an der DHCP-Datenbank ist eine Replikation zwischen zwei DHCP-Servern nicht möglich, da während des Replikationsvorgangs bereits ein weiterer Client eine IP-Adresse anfordern könnte, die der andere DHCP-Server soeben vergeben hat. Die Folge wäre ein IP-Adress-Konflikt.

Hilfreich: Arbeiten Sie mit den Konflikterkennungsversuchen eines DHCP-Servers.

Eine Möglichkeit ist die Funktion der Konflikterkennung, bei der ein DHCP-Server zunächst überprüft, ob eine Adresse bereits im Netzwerk vorhanden ist, die er vergeben will. Wenn Sie nun auf mehreren DHCP-Servern die Anzahl der Konflikterkennungsversuche in den Servereigenschaften von IPv4 oder IPv6 auf der Registerkarte Erweitert auf den Wert 1 oder 2 setzen, können Sie auf beiden Servern den gleichen Bereich definieren, ohne dass es zu doppelten Adressvergaben kommt.

Eine weitere Möglichkeit ist die 80/20-Regel. Bei dieser Regel verwaltet ein DHCP-Server 80 Prozent der Adressen eines Bereichs und ein zweiter DHCP-Server 20 Prozent des Bereichs. Die IP-Adressen dürfen sich nicht überlappen. Fällt ein Server aus, kann der zweite Server übernehmen.

Bereichsgruppierung (Superscopes)

Unter Windows Server 2008 R2 können Sie mehrere Bereiche eines DHCP-Servers zu einer Bereichsgruppierung, auf englischen Servern auch Superscope genannt, zusammenfassen. Clients, die IP-Adressen anfragen, erhalten dadurch IP-Adressen aus allen der zusammengefassten Bereichen. Bereichsgruppierungen können Sie über das Kontextmenü des DHCP-Servers über IPv4 oder IPv6 erstellen. Durch den Einsatz von Bereichsgruppen kommen Sie in den Genuss mehrerer Vorteile:

1. Sind die IP-Adressen eines Bereichs erschöpft, erhalten Clients IP-Adressen aus einem anderen Bereich.

2. Netzwerke können logisch voneinander getrennt werden.

3. Beim Starten überträgt jeder DHCP-Client eine DHCP-Ermittlungsnachricht (DHCPDISCOVER) an das lokale Subnetz auf der Suche nach einem DHCP-Server. Da DHCP-Clients beim ersten Starten Broadcasts verwenden, ist nicht sicher, welcher Server antwortet. Dieses Problem können Sie ebenfalls mit einer Bereichsgruppierung, die auf allen Servern gleich konfiguriert ist, umgehen.

Wenn Sie mit DHCP arbeiten, benötigen Sie das Befehlszeilenprogramm ipconfig, das in der Befehlszeile aller Windows-Versionen zur Verfügung steht. Hauptsächlich benötigen Sie das Tool mit folgenden Optionen:

ipconfig - Gibt IP-Adresse, Standard-Gateway und Subnetzmaske des Clients aus.

ipconfig /all - Gibt detaillierte Informationen, auch über den konfigurierten DNS und WINS-Server, aus.

ipconfig /release - Entfernt die IP-Adresse vom Client und fordert keine neue an. Wenn ein Client Probleme hat, eine Verbindung mit einem DHCP-Server herzustellen, sollten Sie immer zuerst die IP-Adresse beim Client zurücksetzen.

ipconfig /renew - Fordert vom DHCP-Server eine erneute Verlängerung des Leases oder eine neue IP-Adresse an.

ipconfig /registerdns - Erneuert die Registrierung des Clients am konfigurierten DNS-Server, wenn für die DNS-Zone die dynamischen Updates aktiviert sind.

ipconfig /flushdns - Löscht den lokalen DNS-Cache.

MAC-Filterung für DHCP in Windows Server 2008 R2 nutzen

Eine neue Funktion in Windows Server 2008 R2 ist die MAC-Filterung des DHCP-Servers. Diese Funktion steuern Sie in der DHCP-Konsole über den Menüpunkt IPv4/Filter. Der Filter ermöglicht spezielle Zulassungsfilter und Verweigerungsfilter.

Regulativ: Verwalten der MAC-Filter in Windows Server 2008 R2.

Mit der Liste können Sie sicherstellen, dass speziell festgelegte Geräte eine DHCP-Adresse erhalten oder dass der Server bestimmte Geräte blockiert. Sie können weiße Listen erstellen, bei denen kein Gerät eine IP-Adresse erhält, außer die Geräte auf der Liste, und Sie können schwarze Listen pflegen. Im Gegensatz zu weißen Listen blockieren schwarze Listen nur die Geräte auf der Liste; alle anderen Geräte erhalten vom DHCP-Server eine Adresse zugeteilt.

Erlaubnis erteilen: einen Rechner zu einem Filter hinzufügen.

Standardmäßig ist der DHCP-Server für eine schwarze Liste konfiguriert, enthält aber keine MAC-Adressen, die er blockiert. Die MAC-Adressen können Sie über die grafische Oberfläche manuell eingeben oder mit Platzhaltern einen ganzen Bereich blockieren oder erlauben. Sie können Listen aber auch über das Kontextmenü einzelner Leases des Servers pflegen. Eine weitere Möglichkeit ist das Importieren einer Textdatei zum Blockieren. Wenn Sie mit der rechten Maustaste auf einen Rechner unter Adressleases eines Bereiches klicken, können Sie den Rechner mit Zu Filter hinzufügen zu einem der Filter hinzufügen.

Anschließend sehen Sie die entsprechenden Rechner innerhalb des Filters. Die Filter sind standardmäßig deaktiviert. Wollen Sie diese aktivieren, können Sie das über das Kontextmenü erledigen. Sobald Sie eine MAC-Adresse im Verweigerungsfilter aufgenommen haben und der Filter aktiv ist, erhält dieses Gerät keine IP-Adresse mehr von diesem DHCP-Server. Aktivieren Sie den Filter Zulassen, blockiert der Server alle Anfragen, außer die MAC-Adressen, die im Zulassungsfilter aufgenommen sind. Aktivieren Sie beide Filter, vergibt der DHCP-Server auch dann nur Adressen an Rechner, die in der Zulassungsliste enthalten sind, mit Ausnahme von Geräten, deren MAC-Adresse in der Verweigerungsliste stehen.

MAC-Filterung konfigurieren

Wenn Sie mit der rechten Maustaste auf den Bereich IPv4 in der DHCP-Konsole klicken, können Sie auf der Registerkarte Filter weitere Einstellungen vornehmen.

Sie können auch mit dem Zeichen * bei der Eingabe des Filters arbeiten. Haben Sie eine Liste von MAC-Adressen, die Sie in die Filter aufnehmen wollen, können Sie das kostenlose Zusatzprogramm von Microsoft mit der Bezeichnung MAC Filter Import Tool verwenden. Die Syntax in der Textdatei sieht folgendermaßen aus:

MAC_ACTION = {ALLOW}000b21ffe430 # Client01000b21ffd260 # Client02000b21ffe330 # Client03000b23ffd260 # Client04

Nachdem Sie auf Import geklickt haben, sind die MAC-Adressen Bestandteil der entsprechenden Filterliste. Neben der Konfiguration mit der grafischen Oberfläche können Sie die Filterlisten in der Befehlszeile pflegen. Dazu nutzen Sie das Tool netsh.exe. Die Aktivierung der Listen erfolgt nach folgender Syntax:

netsh dhcp server v4 set filter [enforceallowlist=1|0] [enforcedenylist=1|0]

Wollen Sie zum Beispiel die zulassungsliste aktivieren, verwenden Sie den Befehl

netsh dhcp server v4 set filter enforceallowlist=1

Um MAC-Adressen zu den Listen hinzuzufügen, verwenden Sie den Befehl

netsh dhcp server v4 add filter allow|deny mac-address ["comment"]

Ein Beispiel dafür wäre:

netsh dhcp server v4 add filter allow 01-1b-23-de-db-61 "client01"

(mje)