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

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

环境是Debian,尽管答案适用于所有分布。

答案1

您也可以使用此命令:

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.

答案2

以下任一项操作均可使其续订。

/etc/init.d/networking restart

或者

ifdown eth0; ifup eth0

我不建议通过 SSH 连接运行任何一个,尽管如果它没有返回新的 IP 地址,您可能只会使用第一个。

答案3

会评论 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 已确认

答案4

如果接口的 MAC 地址没有改变,DHCP 服务器可能会在续订时为其分配相同的地址。因此,使用 dhclient 进行简单的释放和续订可能无法获取新地址。使用以下命令更改 MAC 地址并获取新 IP 地址。如果您以后需要恢复到原来的地址,请不要忘记记下原来的地址。

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

相关内容