it-swarm.cn

如何强制Linux从DHCP服务器重新获取新IP地址?

环境是 Debian ,尽管答案将适用于所有发行版。

27
GeneQ

您也可以使用以下命令:

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.
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*

从DHCP服务器请求新IP(错误提示):

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