dhclient

Pobiera lub zwalnia adres IP z serwera DHCP dla interfejsu.

dhclient to klient DHCP z pakietu ISC dhcp, który w imieniu Twojej maszyny dogaduje się z serwerem DHCP i pobiera konfigurację sieci: adres IP, maskę, bramę domyślną oraz serwery DNS. Krótko mówiąc, to ta robota, która zwykle dzieje się sama w tle, gdy podłączasz kabel albo łączysz się z Wi-Fi. Komenda przydaje się, gdy chcesz ręcznie odnowić dzierżawę (lease), zwolnić adres albo zdebugować, dlaczego interfejs uparcie nie dostaje IP.

Składnia i najważniejsze opcje

Podstawowa składnia wygląda tak: dhclient [opcje] [interfejs]

  • -r — zwalnia aktualną dzierżawę i zatrzymuje działający proces dhclient (release).
  • -v — tryb gadatliwy; wypisuje przebieg negocjacji aż do uzyskania adresu. Świetne do debugowania.
  • -4 — używa protokołu DHCPv4 (zachowanie domyślne).
  • -6 — używa DHCPv6, czyli pobiera adresy i parametry dla IPv6.
  • -1 — próbuje uzyskać lease tylko raz; przy niepowodzeniu kończy się kodem wyjścia 2.
  • -nw — od razu przechodzi w tryb demona, nie czekając na przydzielenie adresu (no wait).
  • -d — działa na pierwszym planie i loguje na stderr, zamiast odłączać się jako demon.
  • -p — nasłuchuje na innym porcie niż domyślny 68 (rzadkie, ale bywa potrzebne).

Przykłady użycia

  • sudo dhclient eth0 — prosi o nowy adres IP dla interfejsu eth0.
  • sudo dhclient -r eth0 — zwalnia bieżącą dzierżawę na eth0 (np. przed zmianą sieci).
  • sudo dhclient -v eth0 — odnawia adres i pokazuje na żywo całą rozmowę z serwerem DHCP.
  • sudo dhclient -r eth0 && sudo dhclient eth0 — klasyczny restart dzierżawy: najpierw zwolnij, potem pobierz na nowo.
  • sudo dhclient -6 eth0 — pobiera konfigurację IPv6 dla interfejsu.

Częste błędy i pułapki

Najczęstszy błąd to uruchamianie bez sudo — konfiguracja interfejsu wymaga uprawnień roota, więc bez nich dostaniesz odmowę. Druga pułapka: na nowoczesnych systemach z NetworkManager albo systemd-networkd sieć ogarnia inny daemon. Jeśli ręcznie odpalisz dhclient, możesz dorobić sobie drugi, konkurujący proces i adres zacznie „migać”. W takich systemach lepiej trzymać się nmcli lub networkctl. Pamiętaj też, że dhclient bywa już wycofywany — w wielu dystrybucjach domyślnym klientem jest dhcpcd albo wbudowany mechanizm NetworkManagera, więc samego polecenia może po prostu nie być w systemie.

Powiązane komendy: ip, nmcli, networkctl, dhcpcd, ifup, ifdown, systemctl.