Jak odnowić dzierżawę DHCP?

56

Jak mogę zresetować i odnowić moją dzierżawę DHCP? Przydałoby się znać GUI i metodę terminalową.

Chciałbym szczególnie wiedzieć, czy istnieje sposób, aby to zrobić bez konieczności posiadania uprawnień administratora.

ændrük
źródło

Odpowiedzi:

18

W rozwijanym selektorze sieci z zasobnika systemowego możesz nacisnąć sieć, do której jesteś już podłączony, spowoduje to, że menedżer sieci poprosi o nową dzierżawę z serwera DHCP.

alternatywny tekst

(Działa to również w przypadku sieci przewodowych, ale nie sądzę, że działa w przypadku połączeń PPP (mobilny Internet szerokopasmowy))

LassePoulsen
źródło
47

Aby odnowić dzierżawę DCCP na terminalu:

sudo dhclient -r; sudo dhclient
Sebastian Thürrschmidt
źródło
10
Myślę, że sudo service networking restartto lepszy sposób. To, co sugerujesz, nie działało dla mnie na 11.10 z dhclient3. Zamiast tego uruchomiłem dwóch klientów DHCP: jeden dhclient3i jeden dhclient. Zobacz ubuntuforums.org/showthread.php?t=1868368
Adam Monsen
@AdamMonsen Czy ponowne uruchomienie usługi sieciowej faktycznie działa z NetworkManager?
rakslice
1
@AdamMonsen restartowanie sieci nie wydaje mi się odnawiać dzierżawy dhcp dla mnie
dogmatic69
sudo service network-manager restartw Ubuntu 13.10 64-bitowy pulpit wydaje się poprawnie restartować rzeczy sieciowe i odnawiać moją dzierżawę DCHP. (Od askubuntu.com/a/230751/2273 )
Adam Monsen,
4
Warto wiedzieć o debugowaniu: na Ubuntu 14.04 sudo service network-manager restartnie odnawiał całkowicie dzierżawy adresu IP z DHCP. Po prostu wysyła Requestpakiet DHCP zamiast Discover. Jeśli chcesz tylko odnowić dzierżawę, wystarczy, ale jeśli debugujesz DHCP, chcesz użyć oryginalnego rozwiązania.
gerlos
31

W moim przypadku musiałem określić, którą kartę odnowić:

Najpierw zwolnij aktualny adres IP:

sudo dhclient -r eth0

następnie odnowić adres IP

sudo dhclient eth0
Daniel Mora
źródło
3
To poprawna odpowiedź, jeśli masz więcej niż jeden interfejs.
Tek
Lepiej: sudo dhclient -r enp7s0 && sudo dhclient enp7s0
połącz
Edytuj tę odpowiedź, aby dołączyć do nich razem, właśnie wyrzucono mnie ze zdalnej skrzynki, próbując osobno.
Graham Russell
8

Maverick jest wyposażony nmcliw interfejs wiersza poleceń do menedżera sieci.

Nie widzę prostego sposobu, aby powiedzieć mu o przedłużeniu dzierżawy, ale działam:

nmcli con

Pobiera listę połączeń i działa:

nmcli con down id 'Connection Name'
nmcli con up id 'Connection Name'

Przerywa połączenie i tworzy kopię zapasową. Zamiast tego można zrobić coś podobnego z urządzeniem.

Wygląda na to, że lista połączeń obejmuje wszystkie połączenia, więc prawdopodobnie będzie to również działać z połączeniami PPTP i VPN.

Matt
źródło
1
Mój serwer DHCP nadal pokazuje tam dzierżawę ... (Próbuję wymusić zwolnienie, aby statyczne przypisanie stało się skuteczne)
Gert van den Berg
8

Działa to na Ubuntu 12.04 LTS:

sudo service network-manager restart

Kiedy to robię, Network Manager prosi o nową dzierżawę DHCP.

Wolę to od ręcznego (ponownego) uruchamiania, dhclientponieważ miałem problemy ze starymi procesami dhclient (tymi, które nie są zarządzane przez Network Managera) spontanicznie i niepoprawnie rekonfigurowałem moje ustawienia sieciowe w przypadkowych punktach, gdy jest to najmniej wygodne.

Marius Gedminas
źródło
1
Nadal aktualne w Ubuntu 16.04. dhclient -rpo prostu cicho nic nie robi z udanym kodem wyjścia, w przeciwnym razie :-(
studog
Udało się to 18.04!
Roel Van de Paar,
3

Jeśli korzystasz z systemdwersji Ubuntu opartej na oprogramowaniu bez GUI (tj. Wersji serwera), to jest sposób na przedłużenie dzierżawy DHCP:

sudo systemctl restart systemd-networkd

Uwaga: jeśli łączysz się przez interfejs, którego dzierżawa DHCP odnawiasz, możesz zostać rozłączony, chyba że jesteś podłączony przez statycznie skonfigurowany interfejs lub konsolę.

Pierz
źródło
Testowałem to, dhcpdumpsłuchając na innym terminalu. Wydawało się, że nie działa, tylko dhclientsposób.
Pablo A
1

Po aktualizacji do wersji Maverick Meerkat Beta 1, coś się zepsuło w mojej standardowej, waniliowej konfiguracji eth0, której jeszcze nie debugowałem. Szybkim i brudnym obejściem było

sudo dhclient

który zauważa, że ​​był już (prawdopodobnie martwy) klient i uzyskuje nową dzierżawę:

There is already a pid file /var/run/dhclient.pid with pid 2436
killed old client process, removed PID file
Internet Systems Consortium DHCP Client V3.1.3
Listening on LPF/eth0/00:1a:92:24:9c:85
Sending on   LPF/eth0/00:1a:92:24:9c:85
Sending on   Socket/fallback
DHCPDISCOVER on vboxnet0 to 255.255.255.255 port 67 interval 3
DHCPREQUEST of 192.168.2.2 on eth0 to 255.255.255.255 port 67
DHCPACK of 192.168.2.2 from 192.168.2.1
bound to 192.168.2.2 -- renewal in 118389830 seconds.

To nie jest poprawka, tylko hack. Będę śledzić, kiedy stwierdzę, co poszło źle.

msw
źródło
1

nmcliUważam, że nie mając tej konkretnej możliwości , najlepszym rozwiązaniem CLI jest zwolnienie i zabicie instancji dhclient zarządzanej przez NetworkManager, a nie uruchomienie nowej. NM automatycznie przywróci go ponownie, unikając konieczności ponownego uruchamiania całej infrastruktury NM.

sudo dhclient -v -r -pf /run/sendsigs.omit.d/network-manager.dhclient-eth0.pid
  • -v - gadać
  • -r - zwolnić i zamknąć
  • -pf - plik pid instancji NM
Niklas Holm
źródło