Skip to main content

Dhclient - Linux / Unix-Befehl

Linux How to Release and Renew Your DHCP Lease (Juni 2026)

Linux How to Release and Renew Your DHCP Lease (Juni 2026)
Anonim

ZUSAMMENFASSUNG

dhclient -p Hafen -d -q -1 -r -lf Leasing-Datei -pf PID-Datei -cf Konfigurationsdatei -sf Skriptdatei -s Server -G Relais -n -nw -w if0 … ifN

BESCHREIBUNG

Der DHCP-Client des Internet Software Consortium, dhclient, bietet eine Möglichkeit zum Konfigurieren einer oder mehrerer Netzwerkschnittstellen mithilfe des Dynamic Host Configuration-Protokolls (BOOTP-Protokoll) oder, falls diese Protokolle ausfallen, durch statisches Zuweisen einer Adresse.

OPERATION

Mit dem DHCP-Protokoll kann ein Host einen zentralen Server kontaktieren, der eine Liste von IP-Adressen verwaltet, die in einem oder mehreren Subnetzen zugewiesen werden können. Ein DHCP-Client kann eine Adresse von diesem Pool anfordern und diese dann temporär für die Kommunikation in einem Netzwerk verwenden. Das DHCP-Protokoll bietet auch einen Mechanismus, mit dem ein Client wichtige Details über das Netzwerk erfahren kann, an das er angeschlossen ist, z. B. den Standort eines Standardrouters, den Standort eines Namenservers usw.

Beim Start liest dhclient die dhclient.conf für Konfigurationsanweisungen. Es wird dann eine Liste aller Netzwerkschnittstellen angezeigt, die im aktuellen System konfiguriert sind. Für jede Schnittstelle wird versucht, die Schnittstelle mithilfe des DHCP-Protokolls zu konfigurieren.

Um die Leases über Systemneustarts und Server-Neustarts hinweg zu verfolgen, führt dhclient eine Liste der Leases, die in der Datei dhclient.leases (5) zugewiesen wurden. Beim Start liest dhclient nach dem Lesen der dhclient.conf-Datei die dhclient.leases-Datei, um den Speicher über die zugewiesenen Leases zu aktualisieren.

Wenn ein neues Leasing erworben wird, wird es an das Ende der Datei dhclient.leases angehängt. Um zu verhindern, dass die Datei beliebig groß wird, erstellt dhclient von Zeit zu Zeit eine neue dhclient.leases-Datei aus seiner In-Core-Lease-Datenbank. Die alte Version der dhclient.leases-Datei wird unter dem Namen beibehalten dhclient.leases ~ bis zum nächsten Mal schreibt dhclient die Datenbank neu.

Alte Leases bleiben erhalten, falls der DHCP-Server beim ersten Aufruf von dhclient nicht verfügbar ist (in der Regel während des ersten Systemstartvorgangs). In diesem Fall werden alte Leases aus der Datei dhclient.leases getestet, die noch nicht abgelaufen sind. Wenn sie als gültig befunden werden, werden sie verwendet, bis sie entweder ablaufen oder der DHCP-Server verfügbar wird.

Ein mobiler Host, der manchmal auf ein Netzwerk zugreifen muss, in dem kein DHCP-Server vorhanden ist, kann mit einer Lease für eine feste Adresse in diesem Netzwerk vorgeladen werden. Wenn alle Versuche, eine Verbindung zu einem DHCP-Server herzustellen, fehlgeschlagen sind, versucht dhclient, die statische Lease zu überprüfen. Wenn dies gelingt, verwendet sie diese Lease, bis sie neu gestartet wird.

Ein mobiler Host kann auch zu einigen Netzwerken reisen, in denen DHCP nicht verfügbar ist, BOOTP jedoch. In diesem Fall kann es vorteilhaft sein, mit dem Netzwerkadministrator einen Eintrag in der BOOTP-Datenbank zu vereinbaren, so dass der Host schnell in diesem Netzwerk booten kann, anstatt die Liste der alten Leases zu durchlaufen.

BEFEHLSZEILE

Die Namen der Netzwerkschnittstellen, die dhclient konfigurieren soll, können in der Befehlszeile angegeben werden. Wenn auf der Befehlszeile keine Schnittstellennamen angegeben sind, identifiziert dhclient normalerweise alle Netzwerkschnittstellen, eliminiert nach Möglichkeit keine Broadcastschnittstellen und versucht, jede Schnittstelle zu konfigurieren.

Es ist auch möglich, Schnittstellen über den Namen in anzugebendhclient.conf (5) Datei. Wenn Schnittstellen auf diese Weise angegeben werden, konfiguriert der Client nur Schnittstellen, die entweder in der Konfigurationsdatei oder in der Befehlszeile angegeben sind, und ignoriert alle anderen Schnittstellen.

Wenn der DHCP-Client auf einen anderen Port als den Standard (Port 68) hören und senden soll, wird der-pFlag kann verwendet werden. Es sollte die udp-Portnummer folgen, die dhclient verwenden soll. Dies ist vor allem für Debugging-Zwecke hilfreich. Wenn für den Client ein anderer Port zum Abhören und Übertragen angegeben wird, verwendet der Client auch einen anderen Zielport - einen, der größer als der angegebene Zielport ist.

Der DHCP-Client überträgt normalerweise alle Protokollnachrichten, die er sendet, bevor er eine IP-Adresse an die IP-beschränkte Broadcast-Adresse 255.255.255.255 erhält. Zu Debugging-Zwecken kann es nützlich sein, dass der Server diese Nachrichten an eine andere Adresse überträgt. Dies kann mit angegeben werden-sFlag, gefolgt von der IP-Adresse oder dem Domänennamen des Ziels.

Zu Testzwecken kann das Feld giaddr aller Pakete, die der Client sendet, mithilfe von festgelegt werden-G Flag, gefolgt von der zu sendenden IP-Adresse. Dies ist nur für Tests nützlich und sollte nicht auf konsistente oder nützliche Weise funktionieren.

Der DHCP-Client wird normalerweise im Vordergrund ausgeführt, bis er eine Schnittstelle konfiguriert hat, und wird dann im Hintergrund ausgeführt. Um zu bewirken, dass dhclient immer als Vordergrundprozess ausgeführt wird, muss der-d Flag sollte angegeben werden. Dies ist hilfreich, wenn Sie den Client unter einem Debugger oder initabab auf System V-Systemen ausführen.

Der Client druckt normalerweise eine Startnachricht aus und zeigt die Protokollsequenz dem Standardfehlerdeskriptor an, bis er eine Adresse abgerufen hat, und protokolliert dann nur Nachrichten unter Verwendung vonSyslog (3)Einrichtung. Das-q Flag verhindert, dass andere Meldungen als Fehler an den Standard-Fehlerbeschreibungen ausgegeben werden.

Der Client gibt die aktuelle Lease normalerweise nicht frei, da dies vom DHCP-Protokoll nicht erforderlich ist.Einige Kabel-ISPs verlangen, dass ihre Clients den Server benachrichtigen, wenn sie eine zugewiesene IP-Adresse freigeben möchten. Das-r flag gibt den aktuellen Leasingvertrag explizit frei, und sobald der Leasingvertrag freigegeben wurde, wird der Client beendet.

Das-1 Flag bewirkt, dass dhclient einmal versucht, eine Lease zu erhalten. Wenn dies fehlschlägt, wird dhclient mit dem Exit-Code zwei beendet.

Der DHCP-Client erhält seine Konfigurationsinformationen normalerweise von/etc/dhclient.conf, seine Leasingdatenbank von/var/lib/dhcp/dhclient.leases, speichert seine Prozess-ID in einer Datei namens/var/run/dhclient.pid, und konfiguriert die Netzwerkschnittstelle mit/ sbin / dhclient-script Verwenden Sie zur Angabe anderer Namen und / oder Speicherorte für diese Dateien-cf, -lf, -pf und-sf Flags jeweils gefolgt vom Namen der Datei. Dies kann besonders nützlich sein, wenn zum Beispiel/ var / lib / dhcp oder/ var / run wurde noch nicht bereitgestellt, wenn der DHCP-Client gestartet wird.

Der DHCP-Client wird normalerweise beendet, wenn er keine zu konfigurierenden Netzwerkschnittstellen identifizieren kann. Bei Laptops und anderen Computern mit Hot-Swap-fähigen E / A-Bussen kann es vorkommen, dass nach dem Systemstart eine Broadcast-Schnittstelle hinzugefügt wird. Das-w Flag kann verwendet werden, um den Client nicht zu beenden, wenn er keine solchen Schnittstellen findet. DasOmshell (8) Das Programm kann dann verwendet werden, um den Client zu benachrichtigen, wenn eine Netzwerkschnittstelle hinzugefügt oder entfernt wurde, sodass der Client versuchen kann, eine IP-Adresse an dieser Schnittstelle zu konfigurieren.

Der DHCP-Client kann angewiesen werden, nicht zu versuchen, Schnittstellen mithilfe von zu konfigurieren-n Flagge. Dies ist am wahrscheinlichsten in Kombination mit der-w Flagge.

Der Client kann auch angewiesen werden, sofort ein Dämon zu werden, anstatt zu warten, bis er eine IP-Adresse erhalten hat. Dies kann durch die Lieferung der-nw Flagge.

AUFBAU

Die Syntax der Datei dhclient.conf (8) wird separat besprochen.

OMAPI

Der DHCP-Client bietet die Möglichkeit, ihn während des Betriebs zu steuern, ohne ihn zu stoppen. Diese Funktion wird mit OMAPI bereitgestellt, einer API zum Bearbeiten von Remote-Objekten. OMAPI-Clients stellen über TCP / IP eine Verbindung zum Client her, authentifizieren sich und können dann den aktuellen Status des Clients prüfen und Änderungen daran vornehmen.

Anstatt das zugrunde liegende OMAPI-Protokoll direkt zu implementieren, sollten Benutzerprogramme die dhcpctl-API oder OMAPI selbst verwenden. Dhcpctl ist ein Wrapper, der einige der Hausaufgaben erledigt, die OMAPI nicht automatisch erledigt. Dhcpctl und OMAPI sind in dokumentiertdhcpctl (3) undomapi (3). Die meisten Dinge, die Sie mit dem Client machen möchten, können direkt mit dem Client ausgeführt werdenOmshell (1) Befehl, anstatt ein spezielles Programm schreiben zu müssen.

DAS KONTROLLOBJEKT

Mit dem Steuerobjekt können Sie den Client herunterfahren, alle darin enthaltenen Leases freigeben und alle möglicherweise hinzugefügten DNS-Einträge löschen. Außerdem können Sie den Client anhalten. Dadurch werden alle vom Client verwendeten Schnittstellen unkonfiguriert. Sie können es dann neu starten, wodurch diese Schnittstellen neu konfiguriert werden. Normalerweise unterbrechen Sie den Client, bevor Sie in den Ruhezustand wechseln oder auf einem Laptop schlafen. Sie würden es dann fortsetzen, wenn die Energie zurückkommt. Auf diese Weise können PC-Karten heruntergefahren werden, während der Computer im Ruhezustand ist oder sich im Ruhezustand befindet. Anschließend wird der vorherige Zustand wiederhergestellt, sobald der Computer den Ruhezustand oder den Ruhezustand verlässt.

Das Steuerobjekt verfügt über ein Attribut - das Statusattribut. Um den Client herunterzufahren, setzen Sie sein Statusattribut auf 2. Er führt automatisch eine DHCPRELEASE durch. Setzen Sie das Statusattribut auf 3, um es anzuhalten. Setzen Sie das Statusattribut auf 4, um es fortzusetzen.

Wichtig: Verwenden Sie die Mann Befehl ( % Mann ), um zu sehen, wie ein Befehl auf Ihrem Computer verwendet wird.