DHCP (Dynamic Host Configuration Protocol)

DHCP (Dynamic Host Configuration Protocol) ist ein Netzwerkmanagementprotokoll, das verwendet wird, um jedem Gerät oder Knoten in einem Netzwerk dynamisch eine IP-Adresse zuzuweisen, damit sie über IP kommunizieren können. DHCP automatisiert und verwaltet diese Konfigurationen zentral, anstatt dass Netzwerkadministratoren allen Netzwerkgeräten manuell IP-Adressen zuweisen müssen. DHCP kann sowohl in kleinen lokalen Netzwerken als auch in großen Unternehmensnetzwerken implementiert werden.

Versionen von DHCP sind für die Verwendung in IP Version 4 (IPv4) und IP Version 6 (IPv6) erhältlich. IPv6 wurde 2017 - fast 20 Jahre nach der ersten Veröffentlichung seiner Spezifikationen - zum Industriestandard. Während die Einführung von IPv6 nur langsam voranschritt, stellten bis Juli 2019 mehr als 29% der Google-Nutzer ihre Anfragen mit IPv6.

Wie funktioniert DHCP?

DHCP läuft auf der Anwendungsschicht des TCP/IP-Stapels (TCP/IP-Stack), um DHCP-Clients dynamisch IP-Adressen zuzuweisen und um DHCP-Clients TCP/IP-Konfigurationsinformationen zuzuordnen. Dazu gehören Subnetzmaskeninformationen, Standard-Gateway-IP-Adressen und DNS-Adressen.

DHCP ist ein Client-Server-Protokoll, bei dem Server einen Pool von eindeutigen IP-Adressen sowie Informationen über Client-Konfigurationsparameter verwalten und Adressen aus diesen Adresspools zuteilen. DHCP-aktivierte Clients senden eine Anfrage an den DHCP-Server, sobald sie sich mit einem Netzwerk verbinden.

Ein DHCP-Server verwaltet eine Liste aller IP-Adressen, die er Netzwerkknoten zuweist. Wenn ein Knoten im Netzwerk verschoben wird, identifiziert der Server ihn anhand seiner MAC-Adresse (Media Access Control), wodurch die versehentliche Konfiguration mehrerer Geräte mit derselben IP-Adresse verhindert wird. Die Konfiguration eines DHCP-Servers erfordert auch die Erstellung einer Konfigurationsdatei, in der Netzwerkinformationen für Clients gespeichert werden.

DHCP ist weder ein routingfähiges noch ein sicheres Protokoll. DHCP ist auf ein bestimmtes lokales Netzwerk beschränkt, was bedeutet, dass ein einzelner DHCP-Server pro LAN ausreicht oder zwei Server für den Einsatz im Falle eines Failover. Größere Netzwerke können ein Wide Area Network (WAN) mit mehreren Einzelstandorten haben. Je nach den Verbindungen zwischen diesen Punkten und der Anzahl der Clients an jedem Standort können mehrere DHCP-Server für die Verteilung der Adressen eingerichtet werden. Wenn Netzwerkadministratoren möchten, dass ein DHCP-Server die Adressierung mehrerer Subnetze in einem bestimmten Netzwerk übernimmt, müssen sie DHCP-Relay-Dienste konfigurieren, die sich auf miteinander verbundenen Routern befinden, die DHCP-Anfragen durchlaufen müssen. Diese Agenten leiten Nachrichten zwischen DHCP-Clients und Servern weiter, die sich in verschiedenen Subnetzen befinden.

Bei der Verwaltung vieler DHCP-Server oder DHCP-Server in einem WAN können Nutzer auf eine Kommandozeile zurückgreifen. Benutzer sollten sich auch darüber im Klaren sein, dass das Starten, Stoppen und Neustarten den Betrieb des Daemons beeinträchtigt.

Komponenten

DHCP besteht aus zahlreichen Komponenten, wie DHCP-Server, Client und Relay. Der DHCP-Server - normalerweise entweder ein Server oder ein Router - ist ein Netzwerkgerät, das auf dem DHCP-Dienst läuft. Der DHCP-Server enthält IP-Adressen sowie zugehörige Informationen zur Konfiguration. Der DHCP-Client ist ein Gerät (z. B. ein Computer oder ein Telefon), das eine Verbindung zu einem Netzwerk herstellen und mit einem DHCP-Server kommunizieren kann. Das DHCP-Relay verwaltet Anfragen zwischen DHCP-Clients und -Servern. In der Regel werden Relays verwendet, wenn eine Organisation große oder komplexe Netzwerke verwalten muss. Weitere Komponenten sind der IP-Adressenpool, das Subnetz, Lease und das DHCP-Kommunikationsprotokoll.

Statische vs. dynamische DHCP-Leases

Bei dynamischem DHCP besitzt ein Client die ihm zugewiesene IP-Adresse nicht, sondern mietet sie für einen bestimmten Zeitraum. Jedes Mal, wenn ein Gerät mit einer dynamischen IP-Adresse eingeschaltet wird, muss es mit dem DHCP-Server kommunizieren, um eine andere IP-Adresse zu leasen. Drahtlose Geräte sind Beispiele für Clients, denen dynamische IP-Adressen zugewiesen werden, wenn sie sich mit einem Netzwerk verbinden. Statischen Geräten - wie Webservern und Switches - werden dagegen permanente IP-Adressen zugewiesen.

Bei einer dynamischen DHCP-Einrichtung muss ein Client möglicherweise auch bestimmte Aktivitäten ausführen, die dazu führen, dass seine IP-Adresse beendet wird und er sich dann mit einer anderen IP-Adresse wieder mit dem Netzwerk verbindet. Die DHCP-Lease-Zeiten können variieren, je nachdem, wie lange ein Benutzer an einem bestimmten Standort wahrscheinlich eine Internetverbindung benötigt. Geräte geben ihre IP-Adressen frei, wenn ihre DHCP-Lease-Zeiten ablaufen, und fordern dann eine Erneuerung vom DHCP-Server an, wenn sie online bleiben. Der DHCP-Server kann eine neue Adresse zuweisen, anstatt eine alte zu erneuern.

Der typische dynamische DHCP-Leasing-Zyklus sieht wie folgt aus:

  • Ein Client erwirbt eine IP-Adressen-Lease durch den Zuweisungsprozess, indem er eine solche vom DHCP-Server anfordert.
  • Wenn ein Client bereits eine IP-Adresse aus einem bestehenden Lease besitzt, muss er beim Neustart nach dem Herunterfahren seine IP-Adresse aktualisieren und den DHCP-Server kontaktieren, um eine IP-Adresse neu zuweisen zu lassen.
  • Sobald ein Lease aktiv ist, gilt der Client als an den Lease und an die Adresse gebunden.
  • Wenn das Lease abgelaufen ist, wird ein Client den Server, der das Lease ursprünglich gewährt hat, kontaktieren, um es zu erneuern, damit er seine IP-Adresse weiterhin verwenden kann.
  • Wenn ein Client in ein anderes Netzwerk umzieht, wird seine dynamische IP-Adresse beendet, und er wird eine neue IP-Adresse vom DHCP-Server des neuen Netzwerks anfordern.

Verwendung und Funktionen von DHCP

DHCP wird zur Vergabe von IP-Adressen innerhalb eines Netzwerks sowie zur Konfiguration des korrekten Standard-Gateways, der Subnetzmaske und der DNS-Serverinformationen auf dem Gerät verwendet.

DHCP, einschließlich RFC (Request for Comments) 8415 - die im November 2018 veröffentlichte Entwurfsversion - kann auch von gewöhnlichen elektronischen Geräten verwendet werden, deren Hersteller wollen, dass sie Teil des Internet der Dinge (IoT) sind. DHCP ist eine Methode, um ein Gerät - wie Kühlschränke und Rasensprinkleranlagen - mit Hilfe einer von der Internet Engineering Task Force (IETF) vorgeschlagenen Hersteller-Nutzungsbeschreibung an das Internet anzuschließen.

Vor- und Nachteile von DHCP

DHCP erleichtert Netzwerkadministratoren das Hinzufügen oder Verschieben von Geräten innerhalb eines Netzwerks, sei es ein LAN oder WAN. DHCP ist jedoch nicht von Natur aus sicher, und wenn böswillige Akteure auf den DHCP-Server zugreifen, können sie Verwüstungen anrichten. Wenn der DHCP-Server nicht über ein Backup verfügt und der Server ausfällt, können auch die von ihm bedienten Geräte ausfallen.

Sicherheit

Eine der größten Schwachstellen von DHCP war der Einsatz so genannter Man in the middle (MitM)-Angriffe, bei denen der Angreifer heimlich Nachrichten zwischen zwei Parteien, die glauben, direkt miteinander zu kommunizieren, abfängt und weiterleitet.

DHCP-Server waren auch Gegenstand mehrerer Schwachstellen im Zusammenhang mit Speicherfehler. In diesen haben die Angreifer den Windows-DHCP-Server-Dienst ins Visier genommen. Wenn die Angriffe erfolgreich sind, können sie zu einer vollständigen Kompromittierung von Microsoft Active Directory (AD) führen. Eine dieser Schwachstellen, die von Microsoft gepatcht wurde, war die Windows DHCP Server Remote Code Execution (RCE)-Schwachstelle Common Vulnerabilities and Exposures (CVE)-2019-0725.

Geschichte von DHCP

DHCP ist eine Erweiterung eines Netzwerk-IP-Verwaltungsprotokolls von 1985, des Bootstrap-Protokolls (BOOTP). DHCP ist fortschrittlicher, und DHCP-Server können BOOTP-Client-Anfragen bearbeiten, wenn BOOTP-Clients in einem Netzwerksegment vorhanden sind. Unter Verwendung eines zentralen BOOTP-Servers zur Bedienung von Hosts in vielen IP-Subnetzen führte BOOTP das Konzept eines Relay-Agenten ein, der die Weiterleitung von BOOTP-Paketen über Netzwerke hinweg ermöglichte. BOOTP erforderte jedoch einen manuellen Prozess, um Konfigurationsinformationen für jeden Client hinzuzufügen, und bot keinen Mechanismus zur Rückforderung nicht mehr verwendeter IP-Adressen.

Stand: 05.05.2020