dhclient und dhcpcd der wahre Unterschied

13

Ich kann den Unterschied nicht nur anhand der Manpages herausfinden. Ich kann sehen, was ein Daemon und einer ein Client ist, aber was bedeutet das praktisch, wenn ich die Befehle verwende? Was ist in diesem Fall auch der Unterschied zwischen Client und Daemon, nicht nur die Begriffe (Client und Daemon), sondern auch funktional? BEARBEITEN: Wie werden die Aufgaben aufgeteilt, wenn der Client die Informationen auf dem Client aktualisiert, was ist der Zweck des Daemons? Ich spreche über den Client-Daemon in diesem Fall dhcpcd nicht dhcpd. Beide werden standardmäßig mit einigen Linux-Versionen installiert und scheinen die Aufgaben des DHCP-Clients zu teilen.

NAME dhcpcd - DHCP-Client-Daemon

Name
dhclient - Dynamic Host Configuration Protocol Client 
rubixibuc
quelle

Antworten:

17

ISC stellt dhclient zur Verfügung und dient als solche als Referenz. Das leichtere dhcpcd ist etwas aktueller. Sowohl dhcpcd als auch dhclient sind voll funktionsfähige DHCP-Client-Daemons. Dhclient ist kein "einmaliges" Dienstprogramm:

Mann dhclient

-w Laufen Sie weiter, auch wenn keine Broadcast-Schnittstellen gefunden wurden. Normalerweise wird der DHCP-Client beendet, wenn er keine zu konfigurierenden Netzwerkschnittstellen identifizieren kann. (...)

Das ist eher das Standardverhalten von dhcpcd.


DHCP war eine Art bewegliches Ziel, da verschiedene Anbieter (insbesondere Microsoft) verschiedene Abweichungen vom Standard eingeführt haben.

jemand
quelle
2

Debian bietet ein dhcpcdPaket an. Die Paketbeschreibung lautet wie folgt:

Simple configuration: supports executions of a script when the IP address changes.

dhclientwird normalerweise auf diese Weise verwendet: dhclient -v eth0oder ähnlich - was passiert, ist, dass es eine Sendung von sendet eth0, und wenn ein DHCP-Server antwortet, werden die Informationen angewendet, an die gegeben wird eth0. Es wird dann beendet. Danach wird die Schnittstelle nicht mehr überwacht. Ich habe es nicht benutzt, dhcpcdaber ich nehme an, das ist sein Zweck.

Sie würden verwenden, dhclientwenn die Dinge durcheinander sind und Sie manuell eine neue IP von einem DHCP-Server abrufen möchten . Gutes Werkzeug, und deshalb enthalten es wohl viele Distributionen.

LawrenceC
quelle
2

dhclient ist ein One-Shot-Client - er erreicht einen Server nur einmal und nur einmal , um die IP-Adresse eines Clients anzufordern oder zu validieren.

Im Gegensatz dazu wird dhcpcd im Hintergrund ausgeführt und verwaltet Neuanforderungen nach Ablauf der Lease-Zeit usw. aktiv, ohne dass ein erneuter Aufruf erforderlich ist.

Übrigens verwechseln Sie dhcpcd und dhcpd nicht. Letzterer ist ein DHCP-Server, dh er gibt Adressen an Netzwerkgeräte aus, wenn er dafür konfiguriert ist. Im Allgemeinen verwenden Sie dhcpd nicht auf einem Computer, es sei denn, Sie verwenden diesen bestimmten Computer, um IP-Adressen für das gesamte Netzwerk zu verwalten.

uSlackr
quelle
2
Downvoting: Ich bin anderer Meinung. Ich habe gesehen, dass dhclient weiterhin ausgeführt wird und DHCP-Lease-Verlängerungen abwickelt. Möglicherweise sind Ihre Informationen für eine dhclient-Softwareversion korrekt, nicht jedoch für ISC dhclient (normalerweise die Referenzversion). Versuchen Sie zu überprüfen, was läuft, nachdem dhclient damit fertig zu sein scheint. Möglicherweise wird das Terminal weiterhin ausgeführt, obwohl es an eine Eingabeaufforderung zurückgegeben wurde.
TOOGAM
2

Es sieht so aus, als wäre ISC dhclient kein One-Shot-Client. Die Manpage sagt:

The DHCP client will normally run in the foreground until it has 
configured an interface, and then will revert to running in the 
back-ground.

Sie können das Flag -1 verwenden, um dhclient zu bitten, nur einmal zu versuchen, eine IP zu erhalten, und dann bei einem Fehler zu beenden. Von der Manpage:

The -1 flag cause dhclient to try once to get a lease.  If it 
fails, dhclient exits with exit code two.
Vladimir
quelle