我需要在我的 C++ Linux 应用程序中检测 IP 地址更新,并检查新地址是否与旧地址不同。我可以访问运行 OpenWrt 的路由器。我可以更改租用时间,但我找不到在每次续订过程中强制更改地址的方法。这甚至可能吗?也许一旦分配IP地址在续订时永远不会改变,唯一的方法是在租用时间之后获得地址而不续订并希望我的旧地址分配给另一个客户?
提前感谢您的任何建议。
我需要在我的 C++ Linux 应用程序中检测 IP 地址更新,并检查新地址是否与旧地址不同。我可以访问运行 OpenWrt 的路由器。我可以更改租用时间,但我找不到在每次续订过程中强制更改地址的方法。这甚至可能吗?也许一旦分配IP地址在续订时永远不会改变,唯一的方法是在租用时间之后获得地址而不续订并希望我的旧地址分配给另一个客户?
提前感谢您的任何建议。
根据定义,续订尝试续订同一 IP 地址的现有租约。
如果您想从客户端强制使用新的 IP 地址,您可以更改网络适配器的 MAC 地址。DHCP 服务器会将其视为新客户端并分配新地址。
您可能想查看 macchanger 包http://manpages.ubuntu.com/manpages/bionic/man1/macchanger.1.html,因为它在这方面有一些不错的功能。
如果您想从服务器端强制使用新的 IP 地址,您可以更改配置,使当前 IP 地址不再可用。这可以通过创建分配给另一个(可能是虚构的)机器/mac地址的预留来完成,修改范围以使旧地址不再包含在范围内,完全禁用范围或服务器以使服务器不响应,或其他阻止服务器发出续订的方法。