Hyper-V网络怎么设置?Hyper-V虚拟交换机配置教程
- 云服务器
- 2026-07-05
- 6
在 Hyper-V 中配置网络设置是构建虚拟化环境的关键步骤,它决定了虚拟机(VM)如何与外部网络、宿主机以及其他虚拟机进行通信,Hyper-V 提供了三种主要类型的虚拟交换机(Virtual Switch),每种类型适用于不同的网络需求。
以下是详细的设置指南,涵盖创建虚拟交换机、分配网络适配器以及常见问题排查。
理解三种虚拟交换机类型
在开始设置之前,必须了解 Hyper-V 提供的三种虚拟交换机类型,选择正确的类型是成功配置的前提:
| 交换机类型 | 描述 | 适用场景 | 网络连通性 |
|---|---|---|---|
| 外部 (External) | 将虚拟交换机绑定到宿主机的物理网卡,允许 VM 访问外部网络(如互联网)和局域网。 | 需要 VM 拥有独立 IP 并对外提供服务,或需要访问外部资源的场景。 | VM ↔ 外部网络 VM ↔ 宿主机 VM ↔ 其他 VM |
| 内部 (Internal) | 创建一个仅存在于宿主机和 VM 之间的私有网络,VM 无法直接访问外部网络,除非宿主机开启路由/NAT。 | 需要 VM 与宿主机或彼此之间通信,但不需要访问互联网的场景(如测试环境)。 | VM ↔ 宿主机 VM ↔ 其他 VM |
| 专用 (Private) | 创建一个仅存在于 VM 之间的私有网络,宿主机无法访问该网络中的 VM,VM 也无法访问宿主机或外部网络。 | 完全隔离的测试环境,或仅允许特定 VM 之间通信的安全沙箱。 | VM ↔ 其他 VM |
通过 Hyper-V 管理器设置网络(图形界面法)
这是最直观且适合大多数用户的方法。
创建虚拟交换机
- 打开 Hyper-V 管理器。
- 在右侧操作栏中,点击 “虚拟交换机管理器”。
- 在左侧选择要创建的类型(外部、内部或专用)。
- 在右侧输入 名称(MyExternalSwitch)。
- 关键步骤:
- 若选择 外部:在下拉菜单中选择宿主机当前正在使用的物理网卡(通常是以太网适配器),确保勾选 “允许管理操作系统共享这个网络适配器”(除非你希望宿主机完全失去网络连接,通常建议勾选)。
- 若选择 内部/专用:无需选择物理网卡,直接点击确定。
- 点击 “确定”,系统可能会提示网络连接会暂时中断,点击 “是” 确认。
将虚拟交换机分配给虚拟机
- 在 Hyper-V 管理器左侧列表中,右键点击目标虚拟机,选择 “设置”。
- 在左侧硬件列表中,找到 “网络适配器”。
- 在右侧的 “虚拟交换机” 下拉菜单中,选择你刚才创建的交换机名称。
- 点击 “确定” 保存设置。
- 启动虚拟机,进入操作系统内部配置 IP 地址(若使用外部交换机,通常可设置为自动获取 DHCP,前提是宿主机或路由器提供 DHCP 服务)。
通过 PowerShell 设置网络(命令行法)
对于批量部署或自动化脚本,PowerShell 是更高效的选择。

查看现有虚拟交换机
Get-VMSwitch
创建外部虚拟交换机
假设你的物理网卡名称为 “Ethernet”,创建名为 “ExtSwitch” 的外部交换机,并允许宿主机共享:
New-VMSwitch -Name "ExtSwitch" -NetAdapterName "Ethernet" -AllowManagementOS $true
创建内部虚拟交换机
创建名为 “IntSwitch” 的内部交换机:
New-VMSwitch -Name "IntSwitch" -SwitchType Internal
创建专用虚拟交换机
创建名为 “PrivSwitch” 的专用交换机:
New-VMSwitch -Name "PrivSwitch" -SwitchType Private
将交换机分配给虚拟机
假设虚拟机名为 “Win10-VM”,交换机名为 “ExtSwitch”:

高级配置:NAT 网络(实现内部网络访问互联网)
如果你创建了“内部”或“专用”交换机,但希望虚拟机能访问互联网,需要在宿主机上配置 NAT(网络地址转换)。
-
创建内部交换机(参考上文)。
-
为宿主机上的虚拟网卡分配静态 IP:
# 获取内部交换机的虚拟网卡名称 Get-NetAdapter | Where-Object {$_.InterfaceDescription -like "Hyper-V"} # 假设虚拟网卡名为 "vEthernet (IntSwitch)",分配 IP 192.168.100.1/24 New-NetIPAddress -IPAddress 192.168.100.1 -PrefixLength 24 -InterfaceAlias "vEthernet (IntSwitch)" -
创建 NAT 网络:
New-NetNAT -Name "MyNATNetwork" -InternalIPInterfaceAddressPrefix 192.168.100.0/24 -
配置虚拟机:

- 将虚拟机的网络适配器连接到该内部交换机。
- 在虚拟机内部设置 IP 地址为 168.100.x(如 192.168.100.2),子网掩码 255.255.0,默认网关 168.100.1,DNS 服务器使用 8.8.8 或宿主机 IP。
常见问题与排查
- 虚拟机无法上网:
- 检查是否选择了“外部”交换机。
- 检查宿主机物理网卡是否正常工作。
- 检查是否勾选了“允许管理操作系统共享”。
- 虚拟机之间无法通信:
- 确认所有虚拟机都连接到了同一个虚拟交换机。
- 检查防火墙设置,确保 ICMP(Ping)和相应端口未被阻止。
- 创建外部交换机时物理网卡消失:
这是正常现象,物理网卡被 Hyper-V 虚拟交换机接管,不再直接显示为独立网卡,而是作为交换机的一部分,宿主机通过虚拟交换机继续使用该物理连接。
相关问题与解答
问题 1:我创建了外部虚拟交换机,但虚拟机仍然无法访问互联网,而宿主机可以,可能是什么原因?
解答:
这种情况通常由以下几个原因导致:
- DHCP 问题:虚拟机可能没有正确获取到 IP 地址,请进入虚拟机内部,检查网络适配器状态,尝试运行 ipconfig /release 和 ipconfig /renew(Windows)或 dhclient(Linux)手动获取 IP,确保你的路由器或宿主机上的 DHCP 服务正在运行。
- 防火墙拦截:宿主机的 Windows 防火墙可能阻止了虚拟机的网络流量,尝试暂时禁用宿主机的防火墙进行测试。
- 网卡绑定错误:在创建外部交换机时,可能选择了错误的物理网卡(例如选择了未连接网络的网卡,或选择了无线网卡但驱动不支持桥接),请确认选择的是正确且已连接网络的以太网适配器。
- MAC 地址冲突:极少数情况下,虚拟机的 MAC 地址可能与网络中的其他设备冲突,可以在虚拟机设置中手动更改虚拟网络适配器的 MAC 地址。
问题 2:如何在不使用外部交换机的情况下,让内部网络中的虚拟机访问互联网?
解答:
可以通过配置 NAT(网络地址转换) 来实现,具体步骤如下:
- 创建一个“内部”或“专用”虚拟交换机。
- 在宿主机上,找到该虚拟交换机对应的虚拟网卡(名称通常为 vEthernet (交换机名称))。
- 为该虚拟网卡分配一个静态 IP 地址(168.100.1),并将其作为内部网络的网关。
- 在 PowerShell 中使用 New-NetNAT 命令创建 NAT 规则,将内部网段(如 168.100.0/24)映射到宿主机的外部网络连接。
- 在虚拟机内部,将默认网关设置为宿主机的虚拟网卡 IP(168.100.1),并配置 DNS 服务器。
这样,虚拟机发出的请求会经过宿主机进行 NAT 转换,从而访问互联网。