![如何强制 Linux DHCP 客户端获取不同的 IP 地址](https://linux22.com/image/1445723/%E5%A6%82%E4%BD%95%E5%BC%BA%E5%88%B6%20Linux%20DHCP%20%E5%AE%A2%E6%88%B7%E7%AB%AF%E8%8E%B7%E5%8F%96%E4%B8%8D%E5%90%8C%E7%9A%84%20IP%20%E5%9C%B0%E5%9D%80.png)
情况:未配置网络接口eth1
。以 root 身份,我发出命令dhclient eth1
并获取 IP。现在我想从客户端更改此 IP,强制 DHCP 客户端获取新地址。
答案这个问题只有命令来释放并重新获取租约,但我每次都得到相同的 IP,所以它没有回答问题。
我正在寻找一个通用的 Linux 解决方案,不依赖于这个确切的环境,但仅供参考,这是我当前的环境:
- 操作系统:Ubuntu 14.04,以 VirtualBox 任务形式运行
- DHCP 服务器:VirtualBox 仅主机网络
我还知道以下解决方案可以与上述方法配合使用:使用虚拟机设置新的 MAC 地址,这样它也可能获得新的 IP,或者只是为主机专用网络手动配置另一个 IP。但我特别想问的是,如何在不重新启动的情况下从客户端强制使用新的 DHCP IP,如果 DHCP 完全可以做到这一点的话。
或者,如果有人可以确认 DHCP 不支持客户端想要更改 IP 地址,最好附带参考,这也是有效的答案。
答案1
DHCP 服务器决定将哪个地址分配给哪个客户端。客户端只能释放和更新其地址,而不能向 DHCP 服务器请求不同的地址。
大多数 DHCP 服务器在 IP 地址当前未被使用时,会将相同的 IP 地址分发给之前见过的客户端。
当前地址释放后,可以向服务器请求特定的 ipaddress(如何向 DHCP 服务器请求特定的 IP 地址?),但向您提供该地址或其他地址的决定权仍在服务器手中。