Як змусити Linux знову придбати нову IP-адресу від сервера DHCP?


24

Середовище Debian , хоча відповідь стосуватиметься всіх дистрибутивів.


Це вікі спільноти. Не соромтеся вносити будь-які інші методи, які працюють.
GeneQ

Відповіді:


35

Ви також можете скористатися цією командою:

dhclient -r interface

Де interfaceзнаходиться пристрій, для якого ви хочете отримати нову адресу.

dhclient -r eth0

У -rпрапорі сила dhclientв перший випуск будь оренди у вас є, ви можете використовувати цю команду , щоб запросити новий:

dhclient eth0

Від 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.

Також хороший спосіб зробити це :)
Frenchie

1
Після цієї команди мій Debian не зміг отримати новий IP, але після перезавантаження мені було призначено нове, так що воно працює!
Демієн

3
Для мене це звільняє лише оренду та розблоковує інтерфейс. Після цього не отримується новий IP.
cgogolin

Це загальний об'єм, якщо ти основний інтерфейс - ssh ...
Ерік Норд,

13

Будь-яке з наступного не повинно поновити його.

/etc/init.d/networking restart

або

ifdown eth0; ifup eth0

Я б не рекомендував переходити ні через SSH-з'єднання, хоча ви, ймовірно, підете з першим, якщо він не повернеться з новою IP-адресою.


1
SSH-з'єднання буде терпіти кілька секунд "відключення" за умови, що ви отримаєте резервне копіювання з'єднання через кілька секунд за тією ж IP-адресою. За цих умов я ніколи не втрачав зв’язок /etc/init.d/networking restart, навіть коли потрібно було більше 5 секунд, щоб повернутися назад ...
Avery Payne

Це не потребує адміністративних прав?
Пітер Мортенсен

10

Прокоментував би p.campbell, але я маю лише 1 репутацію і тому не можу, спершу я переглянув встановлені інтерфейси:

ip addr

випустити IP з обраного інтерфейсу (наприклад, eth0, eth1, enp1s0, sit0, wlan0, ...):

sudo dhclient -r *interface*

запит нового IP-адреси від сервера DHCP (попередження про помилку):

sudo dhclient -1 *interface*

перевірити IP:

ip addr

Підтверджено Ubuntu 16.04 LTS


4

Якщо ви використовуєте цей dhcpcdінструмент, виконайте вказані нижче дії .

dhcpcd -k interface
dhcpcd interface

Перший каже припинити демон, а другий каже почати його заново.


2

Якщо MAC-адреса інтерфейсу не змінена, DHCP-сервер може призначити йому таку саму адресу при поновленні. Тому простий випуск та поновлення з dhclient може не отримати нової адреси. Змініть MAC-адресу та придбайте нову IP-адресу з наступними командами. Не забудьте записати оригінал, якщо вам потрібно пізніше повернути його до нього.

ifconfig <interface> down
ifconfig <interface> hw ether <MAC address>
ifconfig <interface> up

Це було так корисно, дякую! Ніяка кількість dhclient -rабо не ifconfig downдала мені нову IP-адресу в моїй робочій мережі, поки я не змінив MAC-адресу на щось випадкове за допомогою цієї команди.
Мігвелл

Те саме тут має бути офіційною відповіддю.
Джонатан Аргентьєро
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.