VMware ESXi and vSphere Cluster Management
DHCP-Client unter Linux konfigurieren
Linux als DHCP-Client einrichten: Schnittstelle ermitteln, ifupdown konfigurieren, mit dhclient eine Lease anfordern und IP, Gateway sowie DNS prüfen.
Ein DHCP-Client bezieht seine Netzwerkkonfiguration automatisch von einem DHCP-Server. Dazu gehören typischerweise IP-Adresse, Netzmaske oder Präfix, Standardgateway, DNS-Server und die Gültigkeitsdauer der Zuweisung. Diese Anleitung zeigt die klassische Konfiguration mit ifupdown und /etc/network/interfaces sowie die manuelle Arbeit mit dhclient.
Grundprinzip eines DHCP-Clients
DHCP steht für „Dynamic Host Configuration Protocol“. Das Protokoll dient dazu, Netzwerkparameter automatisch bereitzustellen. Ein DHCP-Client ist der Computer beziehungsweise Netzwerkdienst, der diese Parameter anfordert. Der DHCP-Server verwaltet einen Adressbereich und vergibt daraus freie Adressen samt weiterer Optionen.
Beim Booten oder beim Aktivieren einer Netzwerkschnittstelle sendet der Client eine Anfrage. Bei der ersten Kommunikation wird häufig ein Broadcast verwendet, weil der Client zu diesem Zeitpunkt noch keine nutzbare IP-Adresse kennt. Ein erreichbarer DHCP-Server antwortet mit einem Konfigurationsangebot. Die daraus entstehende zeitlich begrenzte Zuweisung heißt DHCP-Lease.
| Parameter | Bedeutung | Typische Verwendung |
|---|---|---|
| IPv4-Adresse | Eindeutige Adresse im lokalen Netz | Kommunikation mit anderen Geräten |
| Netzmaske oder Präfix | Beschreibt, welcher Teil der Adresse zum lokalen Netz gehört | Entscheidung zwischen direkter Zustellung und Routing |
| Standardgateway | Router-Adresse für Ziele außerhalb des lokalen Netzes | Zugriff auf andere Netze und das Internet |
| DNS-Server | Server zur Auflösung von Namen in IP-Adressen | Aufruf von Namen wie example.org |
| Lease-Dauer | Zeitraum, für den die Zuweisung gültig ist | Rechtzeitige Erneuerung der Konfiguration |
Zusätzlich können beispielsweise Hostname, Suchdomänen, NTP-Server oder Routing-Optionen übermittelt werden. DHCP ist nicht dasselbe wie DNS: DHCP verteilt unter anderem DNS-Serveradressen, DNS selbst löst anschließend Namen auf.
Netzwerkschnittstelle und verwendete Verwaltung ermitteln
Eine Netzwerkschnittstelle ist ein physischer oder virtueller Netzwerkadapter. Moderne Linux-Systeme verwenden oft Namen wie enp0s3 oder ens18. Ältere Installationen verwenden häufig eth0; WLAN-Schnittstellen können beispielsweise wlan0 heißen.
ip link show
Die Ausgabe zeigt Namen, Status und Eigenschaften der vorhandenen Schnittstellen. Achten Sie auf die gewünschte Schnittstelle und darauf, ob sie aktiv beziehungsweise mit einem Link verbunden ist. Eine Ethernet-Schnittstelle benötigt beispielsweise ein angeschlossenes Kabel und einen aktiven Switch-Port. Bei virtuellen Maschinen müssen virtuelle Netzwerkkarte, VLAN und virtuelles Netzwerk korrekt verbunden sein.
Außerdem muss im betreffenden Netz ein erreichbarer DHCP-Server vorhanden sein. Die passende Konfigurationsmethode hängt von Distribution, Release und Netzwerkdienst ab. Prüfen Sie deshalb zunächst, ob das System ifupdown, NetworkManager, Netplan oder systemd-networkd verwendet.
Persistente DHCP-Konfiguration mit ifupdown
Die klassische ifupdown-Konfiguration wird vor allem bei Debian- und älteren Ubuntu-Systemen verwendet. Die zentrale Datei ist /etc/network/interfaces. Ein Abschnitt besteht mindestens aus dem Namen der Schnittstelle und der Adressfamilie samt Methode.
autoaktiviert die Schnittstelle beim Start des Netzwerks beziehungsweise beim Systemstart.iface eth0 inet dhcplegt füreth0IPv4 über DHCP fest.inetbezeichnet die IPv4-Adressfamilie. IPv6 würde separat konfiguriert.
Sichern Sie die Datei zunächst und bearbeiten Sie sie anschließend mit administrativen Rechten:
sudo cp /etc/network/interfaces /etc/network/interfaces.backup
sudo editor /etc/network/interfaces
Ein vollständiges Beispiel für eine ältere Schnittstellenbezeichnung lautet:
auto eth0
iface eth0 inet dhcp
Bei einem modernen Namen ersetzen Sie eth0 durch den tatsächlich mit ip link show ermittelten Namen:
auto enp0s3
iface enp0s3 inet dhcp
Für eine Schnittstelle namens ens18 sieht der entsprechende Abschnitt so aus:
auto ens18
iface ens18 inet dhcp
Entfernen oder ersetzen Sie widersprüchliche statische IPv4-Parameter für dieselbe Schnittstelle. Eine Konfiguration mit gleichzeitig statischer Adresse und DHCP kann zu schwer nachvollziehbaren Zuständen führen.
Konfiguration anwenden
Die Änderung kann durch ein erneutes Aktivieren der Schnittstelle angewendet werden:
sudo ifdown eth0
sudo ifup eth0
Ersetzen Sie eth0 durch den richtigen Namen. Je nach System können auch der zuständige Netzwerkdienst oder ein Neustart verwendet werden. Lesen Sie die lokale Systemdokumentation, bevor Sie einen Dienst neu starten.
Manuelle DHCP-Anfrage mit dhclient
dhclient ist ein DHCP-Clientprogramm, mit dem Sie eine Lease sofort für eine bestimmte Schnittstelle anfordern oder aktualisieren können. Dafür sind normalerweise administrative Rechte erforderlich.
Eine DHCP-Anfrage für eine ausdrücklich benannte Schnittstelle starten Sie so:
sudo dhclient eth0
Ohne Schnittstellenangabe kann dhclient mehrere geeignete Schnittstellen prüfen oder Anfragen über mehr als eine Schnittstelle starten. Das ist bei mehreren Netzwerkadaptern oft unerwünscht. Geben Sie deshalb in Diagnose- und Administrationsszenarien möglichst immer die Schnittstelle an.
| Ziel | Befehlsschema | Erwartetes Ergebnis |
|---|---|---|
| Neue Lease anfordern oder vorhandene Konfiguration aktualisieren | sudo dhclient eth0 | DHCP-Parameter werden auf der angegebenen Schnittstelle angefordert. |
| Lease erneuern | sudo dhclient eth0 | Eine vorhandene Lease wird, sofern möglich, verlängert oder neu ausgehandelt. |
| Lease freigeben | sudo dhclient -r eth0 | Die aktuelle Lease wird freigegeben und die DHCP-Konfiguration entfernt. |
| Neue Lease nach Freigabe anfordern | sudo dhclient -r eth0 | Die alte Lease wird beendet und anschließend eine neue Anfrage gestartet. |
„Lease erneuern“ bedeutet, die aktuelle zeitlich begrenzte Zuweisung zu verlängern oder ihre Parameter zu aktualisieren. „Lease freigeben“ bedeutet, dem DHCP-Server mitzuteilen, dass die Adresse nicht mehr verwendet werden soll. Nach -r besteht auf der Schnittstelle möglicherweise vorübergehend keine IPv4-Konfiguration.
Erhaltene Netzwerkkonfiguration prüfen
Prüfen Sie die Konfiguration nach einer DHCP-Anfrage in mehreren Schritten:
IP-Adresse und Schnittstellenstatus
ip link show eth0
ip -4 address show dev eth0
Die Schnittstelle sollte aktiv sein und eine passende IPv4-Adresse mit Präfix besitzen. Eine Adresse aus einem automatischen Notfallbereich wie 169.254.0.0/16 deutet häufig darauf hin, dass keine reguläre DHCP-Antwort angekommen ist.
Standardroute und Gateway
ip route show
Suchen Sie nach einer Zeile mit default via. Die dort angegebene Adresse ist das Standardgateway. Bei mehreren Schnittstellen können konkurrierende Standardrouten auftreten; dann sind Routing-Metriken und die Zuständigkeit der Netzwerkdienste zu prüfen.
DNS-Konfiguration
resolvectl status
Auf systemd-resolved-basierten Systemen zeigt dieser Befehl DNS-Server und Suchdomänen an. Auf anderen Systemen kann die Resolver-Konfiguration an einer anderen Stelle verwaltet werden. Entscheidend ist, ob die vom DHCP-Server übermittelten DNS-Informationen tatsächlich vom lokalen Resolver übernommen wurden.
Verbindungstests in sinnvoller Reihenfolge
- Prüfen Sie zunächst Schnittstelle und lokale Adresse mit
ip linkundip -4 address. - Testen Sie anschließend das Standardgateway. Verwenden Sie dafür die in
ip route showangegebene Adresse. - Testen Sie danach eine externe IP-Adresse, um Routing unabhängig von DNS zu prüfen.
- Testen Sie zuletzt eine Domain, um die Namensauflösung zu überprüfen.
Lease-Dateien und Systemprotokolle liefern zusätzliche Hinweise. Je nach DHCP-Client liegen Lease-Dateien beispielsweise unter /var/lib/dhcp/. Protokolle können Sie mit folgendem Befehl durchsuchen:
journalctl -b | grep -i dhcp
Je nach verwendetem Netzwerkdienst sind gezieltere Journal-Abfragen oder Dienstprotokolle aussagekräftiger.
Abgrenzung zu aktuellen Linux-Netzwerkwerkzeugen
/etc/network/interfaces wird nicht auf allen heutigen Ubuntu- und Debian-Installationen verwendet. Häufig übernehmen andere Netzwerkverwaltungssysteme die Konfiguration:
| Umgebung | Typische Verwaltung | DHCP-Konfigurationsort oder Ansatz | Hinweis |
|---|---|---|---|
| Klassisches Debian oder älteres Ubuntu | ifupdown | /etc/network/interfaces | Nur verwenden, wenn die Schnittstelle von ifupdown verwaltet wird. |
| Viele Desktop-Installationen | NetworkManager | Verbindungsprofil oder nmcli | Die Einstellung erfolgt pro Verbindung und Schnittstelle. |
| Viele aktuelle Ubuntu-Server | Netplan | YAML-Dateien unter /etc/netplan/ | Netplan erzeugt daraus eine Konfiguration für den ausgewählten Backend-Dienst. |
| Server- und Minimalinstallationen | systemd-networkd | Dateien unter /etc/systemd/network/ | Die DHCP-Einstellung erfolgt in einer passenden .network-Datei. |
Bei allen diesen Werkzeugen wird DHCP grundsätzlich für eine bestimmte Schnittstelle aktiviert, aber über andere Dateien oder Befehle. Richten Sie nicht gleichzeitig ifupdown, NetworkManager, Netplan und systemd-networkd für dieselbe Schnittstelle ein. Sonst können Adressen, Routen und DNS-Einstellungen überschrieben werden.
Fehlerdiagnose
Die Schnittstelle erhält keine IP-Adresse
- Prüfen Sie Schnittstellenname und Link-Status mit
ip link show. - Kontrollieren Sie Kabel, Switch-Port, WLAN-Verbindung, VLAN und Netzsegment.
- Starten Sie die Anfrage gezielt auf der richtigen Schnittstelle:
sudo dhclient eth0. - Prüfen Sie, ob ein DHCP-Server im erreichbaren Segment vorhanden ist.
- Suchen Sie in den Systemprotokollen nach DHCP-, Link- und Timeout-Meldungen.
- Schließen Sie aus, dass ein anderer Netzwerkdienst die Schnittstelle verwaltet.
Eine IP-Adresse ist vorhanden, aber kein Internetzugriff möglich
- Prüfen Sie mit
ip route show, ob eine korrekte Standardroute vorhanden ist. - Testen Sie zuerst das Gateway und danach eine externe IP-Adresse.
- Kontrollieren Sie bei mehreren Schnittstellen konkurrierende Standardrouten und Routing-Prioritäten.
- Berücksichtigen Sie, dass auch der Router oder die Upstream-Verbindung ausgefallen sein kann.
IP-Verbindungen funktionieren, aber Namen nicht
- Prüfen Sie mit
resolvectl statusoder der passenden Resolver-Konfiguration, ob DNS-Server eingetragen sind. - Testen Sie die IP-Erreichbarkeit getrennt von der Namensauflösung.
- Kontrollieren Sie, ob der DHCP-Server DNS-Optionen liefert und der lokale Resolver sie übernimmt.
Eine manuelle Adresse wird überschrieben
Wenn eine mit dhclient bezogene Adresse verschwindet oder sich wieder ändert, verwalten vermutlich mehrere Dienste dieselbe Schnittstelle. Ermitteln Sie den aktiven Netzwerkmanager und verwenden Sie anschließend nur eine autoritative Konfigurationsmethode.
Die SSH-Verbindung bricht nach der Änderung ab
Das ist beim Deaktivieren oder Neustarten der verwendeten Schnittstelle normal. Der DHCP-Server kann außerdem eine andere Adresse vergeben. Führen Sie solche Änderungen möglichst über eine lokale Konsole oder einen Out-of-Band-Zugang aus und prüfen Sie die neue Adresse anschließend lokal.
Sicherheits- und Betriebsaspekte
DHCP sollte in vertrauenswürdigen Netzen eingesetzt werden. In offenen oder fremden Netzwerken kann ein nicht vertrauenswürdiger DHCP-Server falsche Gateway- oder DNS-Informationen verteilen. Dadurch kann Datenverkehr umgeleitet oder die Namensauflösung manipuliert werden.
Sichern Sie Konfigurationsdateien vor Änderungen. Bei Remote-Systemen sollten Sie einen Konsolenzugang und einen Rückfallplan einplanen. Bedenken Sie außerdem, dass DHCP-Adressen dynamisch wechseln können. Dienste, die dauerhaft unter derselben Adresse erreichbar sein müssen, benötigen gegebenenfalls eine DHCP-Reservierung auf dem Server oder eine statische Netzwerkkonfiguration.
Praktischer Ablauf
- Schnittstelle mit
ip link showermitteln. - Link, Kabel, WLAN, VLAN und DHCP-Erreichbarkeit prüfen.
- Aktiven Netzwerkmanager feststellen.
- Bei ifupdown
/etc/network/interfacessichern und den passendenauto- sowieiface ... inet dhcp-Abschnitt eintragen. - Alternativ für eine sofortige Einzelanfrage
sudo dhclient <schnittstelle>verwenden. - Adresse, Route, Gateway und DNS prüfen.
- Bei Fehlern zuerst lokale Verbindung, dann Gateway, externe IP und zuletzt DNS testen.
Prüfungsrelevante Merksätze
- Der DHCP-Client fordert Konfigurationsparameter an; der DHCP-Server vergibt sie aus einem definierten Bereich.
- Eine DHCP-Lease ist zeitlich begrenzt und kann erneuert oder freigegeben werden.
autoaktiviert eine ifupdown-Schnittstelle automatisch;iface <name> inet dhcpaktiviert IPv4-DHCP.sudo dhclient -r <name>gibt eine vorhandene Lease frei.- Eine IP-Adresse allein beweist keine vollständige Netzwerkkonfiguration: Standardroute und DNS müssen ebenfalls geprüft werden.
- Pro Schnittstelle sollte nur ein Netzwerkverwaltungssystem autoritativ zuständig sein.