如何防止hyper-v虚拟交换机的IP地址被更改?

Wil*_*lli 7 ip virtual static hyper-v switch-statement

我有一台安装了 Windows 10 2004 的笔记本电脑。我配置了 Hyper-V 并创建了两台虚拟机:一台虚拟机运行 Windows 10,以封装我必须用于工作联系人的多个恶意软件 IM 软件。在另一个虚拟机上运行 ubuntu server 20.04 进行开发。

我使用内部网络类型的虚拟交换机配置了 Hyper-V,并且 Hyper-V 自动指定了具有静态 IP 的虚拟交换机。我想用机器名连接到 ubuntu。因此,我指定了具有静态IP的ubuntu虚拟机,并在Windows 10主机的hosts文件中添加了一项。然后我可以使用VS Code的远程SSH功能在Windows 10主机中开发node.js应用程序。一切都很顺利,直到我重新启动笔记本电脑。

重新启动笔记本电脑后,hyper-v 虚拟交换机的 IP 地址已更改。我无法再重新连接到 VM ubuntu,因为 VM ubuntu 配置了静态 IP 和基于虚拟交换机旧 IP 的默认网关。

我通过UI检查了虚拟交换机的IPv4属性,它被配置为“使用以下IP”,所以我认为IP不应该改变。但是我错了。每次我的笔记本电脑重新启动后,虚拟交换机的“静态IP”总是会发生变化。此更改会中断与 VM ubuntu 的连接。

那么,有什么办法可以防止虚拟交换机的IP地址被更改呢?或者通过某种方式向 Hyper-V 虚拟交换机添加名称解析机制(然后我可以在虚拟机中使用动态 IP 地址进行配置)?

Muz*_*Muz 11

我刚刚通过 Hyper-V“虚拟交换机管理器”添加了一个额外的内部交换机,并将其命名为“静态交换机”。然后通过控制面板->网络和 Internet->网络和共享中心->更改适配器设置更改其设置。右键单击新适配器,然后选择“属性”->“Internet 协议版本 4 (TCP/IPv4)”,然后设置当前网络上未使用的静态 IP,例如 IP 地址:192.168.199.1 子网掩码:255.255.255.0。不需要其他设置。单击“确定”并关闭所有父窗口。

通过 VM 设置添加新网卡到 Hyper-V 计算机,添加硬件 -> 网络适配器 - 添加。选择“静态开关”并单击“确定”。

编辑您的客户端虚拟机网络设置,在我的例子中是 Ubuntu 20.10,因此它是 eth1 的有线设置(新的“有线连接”)。我禁用了 IPv6 并使用手动配置(静态 IP)编辑 IPv4 设置,将 IP 地址设置为 192.168.199.2,网络掩码为 255.255.255.0,网关为 192.168.199.1(“静态交换机”)。不需要其他设置。单击“应用”,检查网络eth1是否已连接。

您应该能够从客户端虚拟机 ping 192.168.199.1,并从主机 ping 192.168.199.2。

此配置将在重新启动后保留,您可以使用任何您想要的名称在主机上编辑主机文件,例如 192.168.199.2 my.vm.machine

注意:您需要以管理员身份编辑主机文件。


Wil*_*lli 1

  1. 不要使用 Hyper-V 创建的默认开关。正如Miket25所说:“默认切换是由 HNS 进行的,并且可能有一些设置导致它在重新启动时具有 DHCP 地址”。
  2. 每年使用 NAT 创建一个内部虚拟交换机。是指南。然后将虚拟机连接到该交换机。分配给该交换机的静态 IP 地址不会因重新启动而更改。