Hyper-V 与 AnyConnect VPN,访客连接问题

Hyper-V 与 AnyConnect VPN,访客连接问题

我有以下配置:

  • Windows 10 主机
  • 主机上运行的 Hyper-V
  • Windows 10 客户机
  • AnyConnect VPN 可选择在主机上运行

期望行为:

  • 无论主机是否连接到 VPN,客户操作系统都必须具有互联网连接
  • 当主机连接到 VPN 时,客户操作系统可以访问 VPN 资源

正如所描述的这里(以及其他博客等类似操作)我在主机上运行了以下命令:

New-VMSwitch -SwitchName "WindowsNAT" -SwitchType Internal
New-NetIPAddress -IPAddress 192.168.50.1 -PrefixLength 24 -InterfaceAlias "vEthernet (WindowsNAT)"
New-NetNAT -Name "WindowsNAT" -InternalIPInterfaceAddressPrefix 192.168.50.0/24

然后我:

  • 更改客户机以使用 WindowsNAT
  • 将所有客户机 TCP 设置更改为:
    • 静态 IP:192.168.50.3
    • 网络掩码:255.255.255.0
    • 网关:192.168.50.1
    • DNS 主要:8.8.8.8
    • DNS 辅助:4.2.2.1

实际行为:

  • 当主机未连接到 VPN 时,客户机上的 Internet 连接。
  • 当主机连接到 VPN 时,客户机上没有 Internet 连接
  • 当主机连接到 VPN 时,客户机上没有 VPN 连接

附加信息:

  • VPN 为全隧道
  • 我想要的行为可以通过 VirtualBox 实现

关于如何实现这一点,有什么建议吗?我的系统管理员是否需要设置分割隧道?如果是,那么 VirtualBox 如何使用完整隧道实现相同的行为?

答案1

我已经研究这个问题很长时间了。有一个简单的解决方案(或者可能是变通方法?)但我无法真正解释它为什么有效。

我复制了问题中描述的场景并遇到了问题:当主机连接到 Cisco AnyConnect VPN 时,虚拟机上没有互联网。

在您的主机上,转到控制面板 -> 网络和共享中心 -> 更改适配器设置 右键单击​​您的 Cisco AnyConnect 安全移动客户端连接并选择“属性”。转到“共享”选项卡并选中“允许其他网络用户通过此计算机的 Internet 连接进行连接”和“允许其他网络用户控制或禁用共享 Internet 连接”。神奇之处在于:在“家庭网络连接:”下拉菜单中,您为 Hyper-V 选择默认交换机(我将自己的命名为 vEthernet(默认交换机))。单击确定并在您的 VM 上测试互联网连接。

可能有人比我更清楚为什么这样做有效,但确实有效!但也有一些缺点:当主机上的 VPN 断开连接并重新连接 VPN 时,您可能必须重新执行共享位。当主机重新启动时,您必须重新执行上述步骤。

希望这对你们有所帮助!干杯!

答案2

以下是我在使用 AnyConnect 和来宾 VM 时遇到的问题,我将告诉您如何为我解决这些问题。

MatthiasPettersson 的解决方案不再有效,因为默认开关未显示在网络适配器列表中。它要么被隐藏(Windows 11),要么使用其他机制。我不确定这种行为何时发生了变化……但现在就是这样。

  • 当主机上的 AnyConnect 连接到 VPN 时,客户操作系统无法访问互联网。
  • 主机无法与客户机建立安全网络连接“此工作站与主域之间的信任关系失败”
  • 域名解析无法正常工作。以前我需要使用客人姓名.mshome.net访问我的虚拟机客人姓名,但最近它也停止了工作。

解决方案:卸载 Hyper-V,然后重新安装。您可以通过“Windows 功能”菜单执行此操作(运行命令:optionalfeatures)在我执行此操作后,上面列出的所有问题都得到了解决,无需进一步更改。

相关内容