
如果您在 Windows 中启用 Hyper-V 后无法为虚拟机提供网络连接,则很可能是虚拟交换机未正确创建或类型选择不当。Hyper-V 虚拟交换机是虚拟机与外部网络、主机系统或其他虚拟机通信的枢纽,其类型直接决定网络可达范围。以下是针对内部、外部和专用三种模式的具体配置步骤:
一、配置外部虚拟交换机
外部虚拟交换机将虚拟机连接到物理网络适配器,使虚拟机能访问互联网、局域网内其他设备以及 Hyper-V 主机本身。该模式适用于需要完整网络访问能力的虚拟机。
1、以管理员身份打开 Hyper-V 管理器。
2、在右侧面板中,点击“虚拟交换机管理器”。
3、在左侧选择“新建虚拟网络交换机”,然后点击“创建虚拟交换机”。
4、在“虚拟交换机类型”下拉菜单中,选择外部。
5、点击“下一步”,在“外部网络”下拉列表中选择一个已启用的物理网络适配器(有线或无线)。
6、勾选“允许管理操作系统共享此网络适配器”,确保主机仍可联网。
7、点击“完成”,等待虚拟交换机创建完毕并自动绑定。
二、配置内部虚拟交换机
内部虚拟交换机不绑定物理网卡,仅用于 Hyper-V 主机操作系统与同一主机上的虚拟机之间通信,也支持虚拟机之间的互通。它不提供对外部网络的访问能力,但保留主机与 VM 的双向连通性。
1、在 Hyper-V 管理器中打开“虚拟交换机管理器”。
2、选择“新建虚拟网络交换机”,点击“创建虚拟交换机”。
3、在类型中选择内部。
4、点击“下一步”,为该交换机指定一个唯一名称,例如“InternalSwitch”。
5、点击“完成”,系统将创建一个未绑定物理网卡的内部交换机。
6、此时需手动为 Hyper-V 主机添加一个内部虚拟网卡:打开“网络连接”,找到名称为vEthernet(内部交换机名)的适配器,右键“属性”,双击“Internet 协议版本 4(TCP/IPv4)”,为其分配静态 IP 地址(如 192.168.100.1/24),子网掩码为 255.255.255.0。
三、配置专用虚拟交换机
专用虚拟交换机完全隔离于主机操作系统,仅允许同一 Hyper-V 主机上的虚拟机之间相互通信。它不参与任何主机网络栈,也不生成主机侧虚拟网卡,适用于高隔离测试环境。
1、在“虚拟交换机管理器”中选择“新建虚拟网络交换机”。
2、类型选择专用。
3、点击“下一步”,输入交换机名称,例如“PrivateOnlySwitch”。
4、点击“完成”,交换机即刻创建成功。
5、将目标虚拟机的网络适配器设置为连接至该专用交换机。
6、为每台虚拟机手动配置同一网段内的静态 IP 地址(如 192.168.200.10 和 192.168.200.11),子网掩码均为 255.255.255.0,且不得设置默认网关,否则可能导致路由异常。
四、通过 PowerShell 创建外部交换机(替代方案)
PowerShell 提供更精确的控制能力,尤其适合批量部署或脚本化配置。该方法绕过图形界面,直接调用 Hyper-V 模块命令,避免 UI 层级的缓存或状态延迟问题。
1、以管理员身份启动 Windows PowerShell。
2、执行命令获取可用物理网卡名称:Get-NetAdapter | Where-Object {$_.Status -eq “Up”} | Select-Object Name, InterfaceDescription。
3、记下目标网卡的 Name 值(如 “Ethernet”)。
4、运行创建命令:New-VMSwitch -Name “ExternalPS” -NetAdapterName “Ethernet” -AllowManagementOS $true。
5、确认无报错后,使用 Get-VMSwitch 查看新交换机是否已列出且状态为“已连接”。
五、验证交换机绑定状态与故障排查
即使交换机创建成功,若底层网络适配器被禁用、驱动异常或存在残留 vSwitch 对象,仍会导致虚拟机无法通信。需检查底层绑定完整性与系统网络栈一致性。
1、在 Hyper-V 管理器中,右键主机名,选择“Hyper-V 设置”,查看“虚拟交换机”节点下是否显示目标交换机及其状态。
2、运行命令 Get-VMSwitch | Format-List Name, NetAdapterInterfaceDescription, AllowManagementOS,确认 NetAdapterInterfaceDescription 字段非空且匹配物理网卡。
3、若出现“添加虚拟以太网交换机连接时失败”错误,说明存在隐藏残留对象;此时应运行 Get-VMSwitch | Remove-VMSwitch -Force 清除全部交换机,重启网络服务后再重建。
4、检查 Windows 网络连接面板中是否存在名称为 vEthernet(交换机名) 的适配器,且其状态为“已启用”、“已连接”。

评论(0)