it-swarm-ru.tech

Как заставить Linux повторно получить новый IP-адрес с сервера DHCP?

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

27
GeneQ

Вы также можете использовать эту команду:

dhclient -r interface

Где interface - устройство, для которого вы хотите получить новый адрес.

dhclient -r eth0

-r flag вынуждает 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.
37
Jason Abate

Любое из следующего должно заставить это возобновить.

/etc/init.d/networking restart

или

ifdown eth0; ifup eth0

Я бы не рекомендовал работать по SSH-соединению, хотя вам, вероятно, не удастся использовать первое, если оно не вернется с новым IP-адресом.

13
Frenchie

Я бы прокомментировал 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 подтвердил

11
BFGoody

Если вы используете инструмент dhcpcd, то:

dhcpcd -k interface
dhcpcd interface

Первый говорит, чтобы остановить демона, а второй говорит, чтобы запустить его снова.

4
koenigdmj

Если MAC-адрес интерфейса не изменился, DHCP-сервер может назначить ему тот же адрес при обновлении. Поэтому простой выпуск и обновление с помощью dhclient может не получить новый адрес. Измените MAC-адрес и получите новый IP-адрес с помощью следующих команд. Не забудьте записать оригинал, если вам нужно вернуться к нему позже.

ifconfig <interface> down
ifconfig <interface> hw ether <MAC address>
ifconfig <interface> up
2
Trevor Karjanis