我正在通过有线连接为我的 Raspberry Pi B+ 设置 DHCP 预留。它在另一个房间里。设置预订后,我告诉它重新启动,但它没有收到新的预订。预订的地址与当前地址不同。
我尝试过sudo dhclient
,但没有获取新地址。
我尝试了一下sudo dhclient -r
,结果切断了连接。现在我必须走到它面前,拔掉插头,并希望它能获取一个新地址。
虽然在这种情况下会带来一些不便,但如何从 ssh/远程提示符/控制台强制更新 DHCP?
答案1
dhclient -r
如果 DHCP 服务器遵守它并清除租赁服务器端,则可能会起作用。
问题是您手动执行此操作并失去了会话的连接和控制。
你必须在一个脚本中完成它,你发布它并立即要求一个新的。
为了额外的安全性,您可以在后台运行它,尽管我通常只是运行一个脚本并且它可以工作。
像这样简单的事情实际上就足够了。
#!/bin/bash
dhclient -r
nohup dhclient &
在拥有有效的 DHCP 租约后无法获得静态 IP 是 DHCP 服务器中的一个常见问题,或者至少在 ISC-DHCPD 中是这样。不幸的是,ISC DHCPD 代码优先考虑租赁而不是静态地址。
因此,虽然租约未释放、未过期或未在 DHCP 服务器中手动删除,但您不会获得(新的)静态 IP 地址,而是会一遍又一遍地获得租约中的相同地址。
显然,其基本原理是使新的 DHCP 请求与提供给机器的旧 IP 地址保持一致,根据以下链接。
https://lists.isc.org/pipermail/dhcp-users/2012-March/015052.html