Debian 11 不再自动接收静态 DHCP IP 地址,必须手动启动 dhclient

Debian 11 不再自动接收静态 DHCP IP 地址,必须手动启动 dhclient

我在带有 Hyper-V 的 Windows Server 2012 上托管 Debian 11(无桌面环境)虚拟机。它位于具有自己的 DHCP 系统的公司网络上,并且 VM 的 MAC 地址使用静态 IP 地址注册。该机器自 11 月以来一直运行良好,最初安装的是 Debian 10。我最近完成了从 Debian 10 到 Debian 11 的完整升级,而无需重新安装。升级需要一段时间,但进展顺利,升级后我意识到 PHP 包服务器(packages.sury.org)仍设置为 Debian 10,因此我对其进行了更新以提取 Debian 11 的包并开始更新我拥有的 PHP 包。我通过 SSH 连接,在它完成之前,终端冻结了,我无法 ping 通服务器。当我通过 Hyper-V 登录时,VM 已重新启动,我无法 ping 通任何网站或 IP 地址。eth0 适配器启动,DOWN当重新启动时,我只会获得 IPv6 地址而不是 IPv4。

经过大量的故障排除后,我发现的唯一解决方案是手动调用 dhclient 命令 ( sudo dhclient eth0),这最终会提取问题出现前的正确静态 IP 地址。但是,这只是一个临时修复,如果/当 VM 重新启动时,我必须再次执行此操作。我不认为升级到 Debian 11 导致了这个问题,因为我此时已经使用了几个小时并重新启动了几次。它只在我尝试更新 PHP 包后才开始,但我真的不知道为什么这会导致 DHCP 停止工作。VM 仍在我公司的网络中注册。

长话短说,我如何让虚拟机再次自动获取其静态地址,以及如何确保它在虚拟机启动后处于 UP 状态?如果需要更多信息,请告诉我。我将前面提到的命令添加到 crontab 以在启动时运行,这解决了这个问题,但我希望找到一个解决方案,而不是一个临时解决方案。

答案1

这篇文章讨论了这个问题:DHCP 活动租约中奇怪的超长 Linux MAC 地址

基本上,在中/etc/dhcp/dhclient.conf添加以下行:

send dhcp-client-identifier = hardware;

相关内容