Jak zmusić Linuksa do ponownego uzyskania nowego adresu IP z serwera DHCP?

24

Środowisko to Debian , chociaż odpowiedź będzie dotyczyła wszystkich dystrybucji.

p.campbell
źródło
To jest teraz wiki społeczności. Nie krępuj się dodać dowolne inne metody, które działają.
GeneQ

Odpowiedzi:

35

Możesz także użyć tego polecenia:

dhclient -r interface

Gdzie interfacejest urządzenie, dla którego chcesz uzyskać nowy adres.

dhclient -r eth0

Te -rsiły flag dhclientdo pierwszego wydania dowolny dzierżawi masz, może użyć tego polecenia, aby poprosić o nową dzierżawę:

dhclient eth0

Od man dhclient:

   -r     Tell  dhclient  to  release the current lease it has from the 
          server.  This is not required by the DHCP protocol, but some 
          ISPs require their clients to notify the server if they wish 
          to release an assigned IP address.
SLM
źródło
Również dobry sposób, aby to zrobić :)
Frenchie
1
Po tym poleceniu mój Debian nie uzyskał nowego adresu IP, ale po ponownym uruchomieniu zostałem przydzielony do nowego, więc działa!
Damien
3
Dla mnie to tylko uwalnia dzierżawę i odsłania interfejs. Później nie uzyskuje się nowego adresu IP.
cgogolin
Co jest całkowitym szumem, jeśli głównym interfejsem jest ssh ...
Eric Nord
13

Każda z poniższych sytuacji powinna ją odnowić.

/etc/init.d/networking restart

lub

ifdown eth0; ifup eth0

Nie polecałbym uruchamiania przez połączenie SSH, chociaż prawdopodobnie pierwszy z nich ucieknie, jeśli nie wróci z nowym adresem IP.

Frenchie
źródło
1
Połączenia SSH będą tolerować kilka sekund „rozłączenia”, pod warunkiem, że połączenie zostanie przywrócone w ciągu kilku sekund pod tym samym adresem IP. W tych warunkach nigdy nie straciłem połączenia /etc/init.d/networking restart, nawet gdy powrót trwało dłużej niż 5 sekund ...
Avery Payne
Czy nie wymaga to przywilejów administracyjnych?
Peter Mortensen,
10

Chciałbym skomentować p.campbell, ale mam tylko 1 reputację i dlatego nie mogę, najpierw sprawdzam zainstalowane interfejsy:

ip addr

zwolnij IP z wybranego interfejsu (np. eth0, eth1, enp1s0, sit0, wlan0, ...):

sudo dhclient -r *interface*

zażądać nowego adresu IP z serwera DHCP (ostrzeżenie o błędzie):

sudo dhclient -1 *interface*

sprawdź adres IP:

ip addr

Potwierdzono Ubuntu 16.04 LTS

BFGoody
źródło
4

Jeśli używasz dhcpcdnarzędzia, to:

dhcpcd -k interface
dhcpcd interface

Pierwsze mówi o zatrzymaniu demona, a drugie o ponownym uruchomieniu.

Dzwonek
źródło
2

Jeśli adres MAC interfejsu nie zostanie zmieniony, serwer DHCP może przypisać mu ten sam adres podczas odnawiania. Dlatego proste wydanie i odnowienie za pomocą dhclient może nie uzyskać nowego adresu. Zmień adres MAC i uzyskaj nowy adres IP za pomocą następujących poleceń. Nie zapomnij zapisać oryginału, jeśli chcesz wrócić do niego później.

ifconfig <interface> down
ifconfig <interface> hw ether <MAC address>
ifconfig <interface> up
Trevor Karjanis
źródło
To było bardzo pomocne, dziękuję! Brak numeru dhclient -rlub ifconfig downnowy adres IP w mojej sieci służbowej, dopóki nie zmieniłem adresu MAC na losowy przy użyciu tego polecenia.
Migwell
To samo powinno być oficjalną odpowiedzią.
Jonathan Argentiero