DHCP ist der Dienst, der Geräten im Netz automatisch eine IP-Adresse zuweist. Ohne ihn müsste jede Adresse, jedes Gateway und jeder Namensserver von Hand eingetragen werden – bei hundert Geräten ein Unding. Dieser Artikel beschreibt den Ablauf, den Aufbau einer Konfiguration und die Punkte, an denen es in der Praxis hakt.
Der Ablauf in vier Schritten (DORA)
Ein frisch gestartetes Gerät hat noch keine Adresse. Es läuft daher ein festgelegtes Wechselspiel ab, das mit den Anfangsbuchstaben der vier Nachrichten benannt wird:
- Discover: Das Gerät sendet eine Rundnachricht an die Adresse
255.255.255.255(UDP-Port 67) – „Gibt es hier einen DHCP-Server?“ Ohne Adresse geht nur Rundruf. - Offer: Ein Server antwortet (Port 68) mit einem Angebot: eine mögliche Adresse plus Konfigurationsdaten.
- Request: Der Client fordert das Angebot förmlich an. Senden mehrere Server ein Angebot, wählt der Client eines aus – die übrigen erfahren so, dass sie nicht zum Zug kommen.
- Acknowledge: Der Server bestätigt mit den endgültigen Werten.
Bei einer Erneuerung läuft das kürzer: Der Client fragt bei „seinem“ Server nach und muss keine Rundnachricht senden.
Adressvergabe und Mietdauer
DHCP „leiht“ Adressen für eine begrenzte Zeit (Lease). Die Mietdauer bestimmt, wie lange ein Gerät eine Adresse behalten darf, bevor es sie erneuern muss. Die Wahl hat Folgen:
- Kurze Mietdauer (Stunden): Adressen werden schneller frei – sinnvoll in Gäste- oder Wechselnetzen, wo Geräte kurz auftauchen.
- Lange Mietdauer (Tage): Weniger Verwaltungsverkehr und stabilere Adressen – sinnvoll für feste Arbeitsplatznetze.
- Vorzeitige Erneuerung: Ein Client versucht, ab der Hälfte der Mietdauer zu erneuern. Das ist kein Fehler, sondern soll verhindern, dass Adressen mitten im Betrieb ungültig werden.
Drei Vergabeverfahren gibt es:
- Dynamisch: Die Adresse kommt aus einem Bereich und wird nach Ablauf wieder frei.
- Automatisch: Wie dynamisch, aber die Adresse bleibt demselben Gerät möglichst lange zugeordnet.
- Fest (Reservierung): Ein Gerät erhält immer dieselbe Adresse, gebunden an seine MAC-Adresse. Das ist der richtige Weg für Server, Drucker und Netzwerkgeräte – besser als eine Adresse fest im Gerät einzutragen.
Eine Konfiguration (ISC dhcpd)
# /etc/dhcp/dhcpd.conf
option domain-name "example.org";
option domain-name-servers 10.0.0.53, 9.9.9.9;
option routers 10.0.0.1;
default-lease-time 3600; # 1 Stunde
max-lease-time 7200;
# Ein Netzbereich
subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.100 10.0.0.200;
option broadcast-address 10.0.0.255;
}
# Feste Zuordnung anhand der MAC-Adresse
host drucker-eg {
hardware ethernet 00:11:22:33:44:55;
fixed-address 10.0.0.20;
}
# Ein zweites Netz mit eigener Richtlinie
subnet 10.0.10.0 netmask 255.255.255.0 {
range 10.0.10.50 10.0.10.150;
option routers 10.0.10.1;
default-lease-time 600; # kurze Miete fuer Gaeste
}
# Konfiguration vor dem Neustart pruefen
dhcpd -t -cf /etc/dhcp/dhcpd.conf
# Aktuelle Verleihungen ansehen
dhcp-lease-list --lease /var/lib/dhcp/dhcpd.leases
cat /var/lib/dhcp/dhcpd.leases | grep -E 'lease|client-hostname'
# Dienst neu laden
systemctl reload isc-dhcp-server
Wo DHCP in einem fremden Netz steuert
Der routers-Eintrag (Standardgateway) und domain-name-servers sind die wirksamsten Felder: Wer den DHCP-Server kontrolliert, entscheidet, über welches Gateway der gesamte Verkehr läuft. Genau deshalb ist ein DHCP-Server im falschen VLAN ein ernstes Sicherheitsproblem – ein neu eingesteckter Router mit eigenem DHCP beantwortet Anfragen oft schneller als der richtige Server und leitet den Verkehr anschließend über sich selbst.
Gegenmaßnahmen:
- DHCP-Snooping am Schalter: Nur der freigegebene Port darf Server-Antworten senden. Das ist die wirksame technische Sperre.
- Kein DHCP im Verwaltungs-VLAN: Serverschnittstellen und Netzwerkgeräte bekommen feste Adressen.
- Prüfen, wer antwortet: Bei unerwartetem Verhalten die Verleihungen mehrerer Server vergleichen – oft antworten zwei.
Wenn kein Server erreichbar ist
Findet ein Gerät keinen DHCP-Server, vergibt sich Windows selbst eine Adresse aus dem Bereich 169.254.0.0/16 (APIPA). Linux-Systeme mit Avahi tun dasselbe mit 169.254.x.y. Eine Adresse in diesem Bereich bedeutet in aller Regel: Das Netz ist nicht erreichbar oder der DHCP-Dienst läuft nicht. Der eigene Adressbereich 10.x, 172.16–31.x oder 192.168.x als Gegenprobe genügt zur Diagnose.
IPv6: DHCPv6 und SLAAC
IPv6 braucht DHCP nicht zwingend: SLAAC (Stateless Address Autoconfiguration) bildet Adressen aus dem Netzpräfix und der eigenen Gerätekennung selbst. DHCPv6 ergänzt das für Fälle, in denen eine zentrale Vergabe oder zusätzliche Angaben nötig sind – üblich ist die Kombination: Adresse per SLAAC, Namensserver und weitere Optionen per DHCPv6.
Verwandte Grundlagen: Subnetting verstehen, DHCP, VLAN: Netzwerke trennen, DNS.