我需要创建可以相互通信并与公共互联网通信的虚拟机(在 Windows 10 和 11 上)。我需要执行此操作的机器可能安装了适用于 Windows 的 Docker Desktop 和 WSL2。我所做的任何事情都不能干扰它们。
因此,我使用 Hyper-V 创建虚拟机,并将它们连接到“默认交换机”。这很好用。问题是内置 DHCP 分配给我的虚拟机的 IP 地址可能每次我重新启动 VMS 时都会发生更改。有时会更改,有时不会。
我需要虚拟机长期保留其 IP 地址租约,比如 10-15 天。客户操作系统是 Debian 或 Alpine Linux。有什么方法可以实现这一点吗?
创建新的交换机和新的 NetNAT 不是一个选项,因为这会干扰 Windows 版 Docker。静态 IP 地址可以是一个选项,前提是我仍然可以从虚拟机连接到互联网。
答案1
据我所知,Hyper-V 默认交换机根本不可修改。
您可以尝试为虚拟机提供 IP 范围末尾的静态 IP 地址,该范围通常是192.168.0.0–192.168.255.255
或
172.17.0.0–172.31.255.255
,基于主机系统 IP 地址及其内置的本地冲突检测机制来确定这些范围内的 IP 地址是否已分配给本地主机系统上的网络接口。
范围末尾的 IP 可能永远不需要分配,或者 Hyper-V 可能足够聪明来避免冲突。
如果上述方法没有帮助,请尝试将虚拟机的 MAC 地址设置为静态。
这是在 VM 中完成的 设置 > 硬件 > 网络适配器 > 高级功能 > MAC 地址,并将其值设置为“静态”。
作为最后的手段,您可以尝试安装不与 Hyper-V 冲突的其他虚拟化产品。VirtualBox 是 说 能够与Hyper-V共存,但这需要通过测试来验证。