首页 > 解决方案 > 如何防止hyper-v虚拟交换机的ip地址被更改?

问题描述

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

我为 Hyper-V 配置了内部网络类型的虚拟交换机,Hyper-V 自动指定了具有静态 IP 的虚拟交换机。我想用机器名连接到 ubuntu。所以我用静态IP指定了ubuntu VM,并在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 虚拟交换机添加名称解析机制(然后我可以在 VM 中使用动态 IP 地址进行配置)?

标签: staticswitch-statementipvirtualhyper-v

解决方案


我刚刚通过 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 是否已连接。

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

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

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


推荐阅读