强制DHCP服务器更新客户端计算机的IP地址,而不在客户端计算机上执行任何操作

我想知道,如果有办法,我可以强制DHCP服务器立即更新客户机的IP地址,而不必去客户机? 其实想象一下,我没有访问客户端的机器。

所以,这是我的情况,

当客户端连接到局域网时,客户端首先从DHCP服务器获取一个随机IP地址。 试想一下,有人将客户端连接到局域网,并且他没有将任何IP地址映射到dhcpd.conf中的MAC地址。

我想在这里提到,在同一个子网中还有其他机器已经在dhcpd.conf中configuration了IP地址到MAC地址映射。

接下来,我修改dhcpd.conf文件,将客户端的新IP地址B映射到其MAC地址。

但是,现在我需要将旧的IP地址A立即更改为B.

我不想调整default-lease-time或在dhcpd.conf中弄乱租用时间。

任何其他方式,如重新启动服务都没有问题,因为除了一台机器之外,其他所有机器的IP地址都与dhcpd.conf中的MAC地址相关联。

注意:我无法重新启动LAN中的任何计算机,甚至没有运行DHCP服务器的计算机。

希望我说得很清楚。

谢谢

FORCERENEW提供了服务器向客户端指示重新创build的机制。

不知道它是否在你的发行版中实现。

你不能通过DHCP本身。 它没有这方面的条款。

你唯一能做的就是强制客户端断开/重新连接。
– 拉电缆。
– 如果客户端在您有权访问的pipe理型交换机上,则可以禁用/启用交换机端口。
– 如果您可以远程login到客户端,并且在客户端上拥有所需的授权,则可以从客户端禁用/启用networking接口。 这将需要一个脚本来做到这一点,而不需要“开始会话”,因为它会像断开连接一样发生。 (例如,在* nix或crontab上的nohup。)在Windows系统上,如果你有一个该客户端的pipe理员帐户,那么远程重启TCPIP服务将会起作用。

这不是“即时”的,但是这个速度一样快。

  1. dhcpd.conf添加保留。
  2. 重新启动 dhcpd
  3. 切断客户机的networking连接。 (如果你禁用了clinet-machine连接的被pipe理的交换机端口,最好的做法是把跳线从patch-pannel拖到非pipe理的交换机上。
  4. 通过omshell(1)通过改变它的ends时间到过去某个时间(例如00:00:00:00)从dhcpd过期旧租约。
  5. 恢复客户机的networking连接。

    • 第一个租约到期是非常重要的,否则客户端机器将为其第一个地址创buildDHCPREQUEST ,而dhcpd将授予它,因为它仍然是有效的租约。
    • 将客户端机器移到另一个VLAN而不删除租约可能会起作用,但是当客户端机器返回到其原始VLAN时,dhcpd将授予哪个有效租约。
    • 添加具有固定地址的主机条目会自动生成租约条目,这就是为什么第一个租约的到期时间被修改,而不是更改其IP地址。

据我所知你不能:DHCP服务器没有办法在客户端一旦给了他们一个IP地址。因为你没有访问客户端,唯一的方法,你可以改变它的IP是等待时间到期。