如何强制所有 DHCP 客户端更新?

How to force ALL of the DHCP Clients to renew?

是否有任何网络广播调用或其他东西可以强制所有连接的 DHCP 客户端立即更新它们的地址?

如果不是,为什么不呢?当然,从它诞生之日起,DHCP 管理员就希望使用此功能。如果没有普遍的客户端自动化,这使得在大型网络上更改路由器地址变得非常困难。

这不是直接可能的 - DHCP 通过租约发布 IP 地址。该租约告诉客户 'valid' 的期限,之后必须续订。通常 - 它会更新相同的 IP,但这是 DCHP 协商发生的时间点。

强制网段上的每台机器更新是制造拒绝服务攻击的好方法。

但是您可以在过渡到新的网络拓扑时将租用时间缩短为几分钟。实际上,这将意味着一次小的中断,但无论如何你都会通过重新获取多个 IP 来实现这一点。

没有letting the network down and up at the client network interface是不可能的。

理论上,DHCP 服务器可以向所有连接的客户端发送 FORCERENEW 消息。 FORCERENEW 在 RFC3203. (See also https://serverfault.com/a/569869/107832)

中有描述

可惜大名鼎鼎的ISC DHCP Server不支持:

RFC 3315 states in section 19.4.1 reconfigure messages. This is, however, for IPv6 only. A message 指出 DOCSIS 3.0“需要重新配置支持(对于 DHCPv6),如 RFC3315 中所指定”

我通过关闭 dhcpd 服务、删除 /var/lib/dhcpd/dhcpd.leases 文件并重新启动守护程序来设法删除所有租约。然后你必须让每个设备从 DHCP 服务器获取一个 IP 地址。对于某些设备,简单的电源循环即可。

psexec \\computername ipconfig /renew

注意:这仅部分解决了 OP 的问题。

要仅强制所有 Wi-Fi DHCP 客户端续订其 DHCP 租约,您可以这样做。假设 Wi-Fi DHCP 客户端连接到您路由器的 SSID,并且您的路由器管理界面支持这些功能。

  • 禁用 DHCP 服务器
  • 关闭 2.4G 和 5G Wifi
  • 重新启用 Wifi 网络
  • 重新启用 DHCP 服务器

我通过通过以太网连接到路由器的客户端使用 WebUI。