Hyper-V

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > Hyper-V > Hyper-V 虚拟机无法上网

Hyper-V 虚拟机无法上网的解决方法小结

作者:lsw5530

微软Hyper-V允许用户在单个物理服务器上创建虚拟机并执行和管理多个操作系统,但在某些情况下,新创建的虚拟机可能会像上面案例中描述的那样,无法访问互联网

Hyper-V并不能对物理机的网卡进行识别,所以需要借助虚拟网卡通过物理机的网络共享实现网络链接。

在关闭Hyper-V虚拟机的情况下,选择Hyper-V管理界面中的“虚拟交换机管理器”。

在弹出的对话框中“新建虚拟网络交换机”,选择“内部”,点击“创建虚拟交换机”。

为虚拟交换机命名后点击“应用”。稍事等待后即可在左侧看到新添加的虚拟交换机。

此时,在控制面板-网络和Internet-网络和共享中心中,可以看到如下未识别的链接:

在“更改适配器设置”下面也可以见到如下设备:

这就是刚刚创建出来的虚拟交换机。

虽然有了虚拟设备,但是此时虚拟机仍不能正常链接。

在网络与共享中心下面点击现有的Internet链接:

在弹出的对话框中选择“属性”:

切换到“共享”标签下,勾选“允许其他网络用户通过此计算机的Internet连接来连接”并在下方“家庭网络连接”中选择刚刚创建的虚拟交换机——vEthernet (Hyper-V Switch),点击“确定”。

此时,在管理员模式运行的命令提示符(在屏幕左下角右键,选择“命令提示符 管理员”)中输入“route print”后会在IPv4路由表中找到关于192.168.137.1的信息:

接下来,进入到Hyper-V虚拟机设置界面,在“硬件”下的“网络适配器”中,设置“虚拟交换机”为刚刚设置好的Hyper-V Switch虚拟交换机,点击“确定”。

此时再重新启动Hyper-V虚拟机,在对应的网络连接下面的TCP/IP协议中设置为“自动获取IP地址”和“自动获取DNS服务器”,则可进行网络连接。

若使用手动设置,则设置IP地址为“192.167.137.X”,X为2~255任意数字,子网掩码为“255.255.255.0”,默认网关为 “192.168.137.1”,DNS服务器设置为“192.168.137.1”。注意此处的网关与DNS服务器为微软默认,没有需要请勿更改。

确定之后会发现虚拟机已经可以进行网络连接了!

若在此后更换了物理机的网络连接,需要重新设置共享,共享方式不变。

此外,如果发现虚拟机中的链接变为“未识别的网络连接”,在网络图标上带有黄色的叹号,可以按照前文在命令提示符中查看路由表是否正常,若不包含192.168.137.1内容(如下图)则说明网络共享不正常,可以先禁用网络共享再按照前文重新开启即可

除了采用共享式的内部网络连接,还可以使用外部网络连接,但是此时物理机若只含有一个网卡设备,则物理机网络连接将会断开。(一块网卡在同一时间只支持一条网络连接,虚拟机也相当于一台计算机,故不能两者同时使用。)

案例:我的Hyper-V虚拟机没有网络

“我创建了Win10系统的新Hyper-V虚拟机,并尝试使用虚拟交换机管理器中的无线适配器设置外部虚拟网络。但是,当我执行此设置时,Win10虚拟机仍然无法连接到互联网。我已经尝试了好几个小时,结果还是Hyper-V虚拟机没有网络。有大佬知道这个问题该怎么解决吗?”

微软Hyper-V允许用户在单个物理服务器上创建虚拟机并执行和管理多个操作系统。但在某些情况下,新创建的虚拟机可能会像上面案例中描述的那样,无法访问互联网。

hyper-v 

那么,是什么原因导致Hyper-V网络不可用的呢?我们该如何解决它呢?在接下来的内容中,大家可以找到自己想要的答案。

Hyper-V虚拟机没有网络的原因

一般来说,Hyper-V虚拟机没有网络的原因主要分为以下两点,大家可以简单看一看:

三步轻松修复Hyper-V无网络问题!

如果您的Win11 Hyper-V无法访问互联网(或其他较新版本,如Windows 10或Windows Server 2019)的话,Hyper-V怎么联网呢?针对这个问题,您可以尝试与Hyper-V共享主机网络连接。需要注意的是,在Hyper-V中共享网络连接之前,需要先创建一个新的虚拟网络交换机并指定一个网络适配器。

步骤1. 添加新的虚拟网络交换机

步骤1. 打开Hyper-V管理器,关闭目标虚拟机,然后右键单击虚拟机并选择“虚拟交换机管理器”

步骤2. 在打开的向导页面中,点击“新建虚拟网络交换机”>“外部”>“创建虚拟交换机”

创建虚拟交换机 

步骤3. 输入新虚拟网络交换机的名称,然后选择“外部网络”>“Realtek PCIe GBE系列控制器”>“允许管理操作系统共享此网络适配器”

允许管理操作系统共享此网络适配器 

注意:如果在此过程中遇到显示“应用虚拟交换机属性更改时出错”的错误,您可以找到此网络适配器并右键单击它,选择“属性”>“取消选中Hyper-V可扩展虚拟交换机”

步骤2. 指定网络适配器配置

步骤1. 返回Hyper-V管理器,选择虚拟机和设置。

步骤2. 单击网络适配器,然后选择您创建的虚拟交换机,单击“确定”

步骤3. 在Hyper-V中共享网络连接

步骤1. 在搜索框中输入“查看网络连接”并将其打开,然后查找虚拟机网络。

步骤2. 右键单击它并选择“属性”>“共享”>“允许其他网络用户通过此计算机的Internet连接进行连接”,然后从下面的框中选择创建的网络交换机,单击“确定”

允许其他网络用户通过此计算机的Internet连接进行连接 

步骤3. 打开虚拟机电源,查看Hyper-V虚拟机没有网络问题是否已经被成功解决。

如何解决虚拟网络适配器与来宾操作系统不匹配的问题?

正如我们之前提到的,有时Hyper-V网络不可用也可能是因为虚拟网络适配器与虚拟机的来宾系统不匹配。在这种情况下,来宾操作系统(例如,Windows 7 Starter 32位)可能需要安装旧版网络适配器。

步骤1. 打开Hyper-V管理器,关闭目标虚拟机电源。

步骤2. 点击“添加硬件”,然后选择“旧版网络适配器”,点击“添加”

添加旧版网络适配器 

步骤3. 为旧版网络适配器选择一个虚拟交换机,然后单击“确定”

如何修复物理机网络问题?

除了Hyper-V虚拟机没有网络之外,在Hyper-V上创建新虚拟机时可能还会遇到其他问题。

在Hyper-V中创建虚拟机后,一些用户发现,由于网络适配器的优先级不正确,计算机上的网络流量只能通过虚拟网络适配器发送,导致虚拟机的互联网正常,而本地计算机没有互联网。这该如何解决?请参考以下步骤。

步骤1. 在搜索框中输入Windows PowerShell并以管理员身份将其打开。

步骤2. 先执行此命令:Get-NetAdapter,记住虚拟网络适配器的IfIndex值。

步骤3. 再执行此命令:Get-NetIPInterface,监视IfIndex值。

监视IfIndex值 

注意:在Windows上,较小的接口度量值意味着较高的优先级,因此要解决运行Hyper-V虚拟机后本地计算机上没有网络的问题,请降低虚拟网络适配器的优先级。

步骤4. 在搜索框中输入“查看网络连接”并将其打开,然后查找虚拟机网络。

步骤5. 右键虚拟网络适配器,选择“属性”,选择“Internet协议版本4(TCP/IPv4)”>“属性”>“高级”,取消选中自动指标并在接口指标框中键入一个值,然后单击“确定”

步骤6. 返回网络页面,选择“Internet协议版本6(TCP/IPv6)”,参考步骤5修改接口指标值。

如何保护自己的Hyper-V虚拟机安全?

网络错误可能会严重影响您的正常工作和计划,某些病毒也可能通过互联网破坏您的数据,并且人为误操作也是一个重要影响因素。那么我们该如何保护自己的Hyper-V虚拟机数据安全呢。

为了获取更加专业的数据保护,强大有效的虚拟机备份解决方案不可缺少。傲梅企业备份旗舰版就是一个很不错的虚拟机备份软件,致力于自动化、简便化大量虚拟机的备份还原过程,实时监控状态并在出现错误时发送电子邮件通知。

阅读全文