![网卡如何在断电后记住 DHCP 地址?](https://linux22.com/image/641579/%E7%BD%91%E5%8D%A1%E5%A6%82%E4%BD%95%E5%9C%A8%E6%96%AD%E7%94%B5%E5%90%8E%E8%AE%B0%E4%BD%8F%20DHCP%20%E5%9C%B0%E5%9D%80%EF%BC%9F.png)
现在我已经看到 HP ProLiant DL385 G7 (573088-421) 和 HP ProLiant DL360p Gen8 都能够记住其 NIC 的 DHCP 地址,即使我已关闭服务器电源并拔掉电源线。
在两种情况下dhclient -r
都没有做任何事情,在第一种情况下,只有当我在运行时拔掉网线时它才会更新。在另一种运行 OmniOS (Solaris 10) 的情况下,我不得不ifconfig ixgbe0 dhcp release
。
更新
在 DHCP 服务器上我删除了保留,因此客户端必须请求一个新的 DHCP 地址。
更新 2
DHCP 服务器不知道的 MAC 地址被分配了一个192.168.x.x
IP,尽管我已经在 DHCP 服务器上注册了 MAC,但它一直获取的还是这个(始终相同的)IP 10.10.111.12
。
问题
NIC 如何记住 DHCP 地址并且因此不会更新?
有没有什么办法可以禁用这个功能/错误?
答案1
这客户端操作系统(不是 NIC)知道租约时间。如果您想要新的 IP,请在服务器上删除租约和预留,并在客户端上强制续订。
答案2
DHCP 服务器会跟踪 NIC 的 MAC 地址,只要在指定的时间间隔内更新,就会继续为其分配相同的 IP 地址。DHCP 服务器决定谁获得什么。如果您拔下电缆,然后在 IP 租约到期之前将其重新插入,您将获得相同的 IP。此外,如果您拔下电缆并且租约确实到期,您无论如何都会获得相同的 IP 地址,除非其他人/其他东西占用了该 IP 地址。DHCP IP 通常按升序分配,在发出请求时给出最低的可用地址。
尽管您的操作系统可能会关心“保存”此信息,但 NIC 本身并不关心(但它仍然无法阻止 DHCP 服务器在其愿意的情况下为其提供新的 IP)。
如果您通过操作系统为 NIC 分配静态 IP,则这当然不适用。