Azure嵌套虚拟化网络故障排查:嵌套Windows 10 VM无法联网及Apache Guacamole访问需求
解决Azure嵌套Hyper-V VM的网络访问与Guacamole连接问题
结合你在Azure上部署嵌套虚拟化的场景,以及需要让Guacamole直接访问嵌套Win10 VM的核心需求,你大概率是忽略了Azure环境下嵌套虚拟化的网络特殊性配置。下面是具体的排查和解决步骤:
1. 先确认父VM的嵌套虚拟化权限是否真的启用
Azure不是所有VM规格都支持嵌套虚拟化,首先得确保你的Server 2019 VM属于Dv3/Ev3、Dv4/Ev4、Dav4/Eav4、Dv5/Ev5这类支持嵌套的系列。另外,光在Hyper-V里开嵌套还不够,必须在Azure层面启用:
- 先把Server 2019 VM停机,然后用PowerShell执行:
Set-AzVM -ResourceGroupName "你的资源组名称" -Name "Server2019VM的名字" -EnableNestedVirt $true - 开机后在Server 2019主机上验证:
输出得是Get-VMHost | Select-Object EnableNestedVirtualizationTrue才算生效。
2. 别用外部交换机!改用内部交换机+父VM路由转发
Azure的物理网卡是受管理的,直接绑Hyper-V外部交换机大概率会导致父VM断网,而且没法满足Guacamole访问需求。正确的姿势是用内部交换机,然后在父VM上做路由转发:
- 在Hyper-V管理器里创建内部虚拟交换机(比如命名为
NestedInternalSwitch),不用绑定任何物理网卡。 - 给这个内部交换机分配静态IP:打开Server 2019的"网络连接",找到新创建的内部网卡,设置IP为
192.168.20.1/24(注意这个网段不能和Azure虚拟网络的网段重复)。 - 启用父VM的IP转发功能(管理员PowerShell):
# 给内部交换机和Azure物理网卡都开转发 Set-NetIPInterface -InterfaceAlias "NestedInternalSwitch" -Forwarding Enabled Set-NetIPInterface -InterfaceAlias "你的Azure物理网卡名称" -Forwarding Enabled - 给嵌套的Win10 VM配静态IP:IP设为
192.168.20.2/24,网关填192.168.20.1,DNS用Azure的公共DNS168.63.129.16。
3. 配置Azure NSG端口转发+父VM端口映射,让Guacamole能访问嵌套VM
因为嵌套VM在内部网段,Guacamole没法直接访问,得靠父VM做端口中转:
- 先去Azure门户,找到Server 2019 VM的网络安全组(NSG),添加入站规则:
- 源:可以限制为Guacamole所在的IP范围,或者选"任意"(测试用)
- 源端口:*
- 目标:父VM的私有IP
- 目标端口:比如
33891(自定义一个和父VM不冲突的端口) - 协议:TCP
- 动作:允许
- 然后在Server 2019主机上配置端口映射(管理员PowerShell):
这样Guacamole就可以通过# 先创建NAT规则(如果还没的话) New-NetNat -Name "NestedNat" -InternalIPInterfaceAddressPrefix "192.168.20.0/24" # 添加端口转发,把父VM的33891端口映射到嵌套VM的3389(RDP端口) Add-NetNatStaticMapping -NatName "NestedNat" -ExternalIPAddress "0.0.0.0" -ExternalPort 33891 -InternalIPAddress "192.168.20.2" -InternalPort 3389 -Protocol TCP父VM的公网IP:33891连接到嵌套的Win10 VM了。
4. 检查防火墙是否挡了流量
- 确保Server 2019主机的防火墙允许内部网段的流量进出,以及允许刚才配置的转发端口(33891)的入站连接。
- 嵌套的Win10 VM防火墙要允许RDP(或你用Guacamole连接的服务)的入站访问,同时允许出站访问互联网。
5. 验证连通性
- 在Win10嵌套VM里ping
192.168.20.1(父VM的内部网关),能通说明内部网络没问题。 - ping
168.63.129.16,能通说明路由到互联网正常。 - 从Guacamole所在机器telnet父VM公网IP+33891,能连通就说明端口转发生效了。
内容的提问来源于stack exchange,提问作者Ryvik
相关产品推荐
相关产品推荐

