如何通过主机 VPN 路由 HyperV 虚拟机流量

Ran*_*dom 6 networking routing hyper-v virtual-machine windows-8

我正在使用带有 HyperV 的 Windows 8.1 Pro。我有几个用于开发的虚拟机,它们都使用网络地址通过内部适配器与主机连接:

192.168.10.0/24
Run Code Online (Sandbox Code Playgroud)

在哪里:

192.168.10.1 
Run Code Online (Sandbox Code Playgroud)

是我的主机的 Hyper-V 内部 NIC 地址。

当我不在办公室时,我使用 3G USB 加密狗拨号 VPN 连接。我想通过 VPN 路由来自所有现有和未来虚拟机的流量。在最好的情况下,流量只会部分路由到本地公司网络地址

10.1.1.0/24 
Run Code Online (Sandbox Code Playgroud)

我不想使用共享,因为我要在 WiFi、USB 3G 加密狗和 VPN 之间切换。转移到其他虚拟化对我来说也不是一个选择。

Mar*_*iae 3

IPv4 forwarding您必须在主机上启用,这是特定于操作系统的。只需谷歌一下即可。

您还需要确定您的主机是否具有提供通过您的主机的默认路由的路由规则。它应该存在,在这种情况下你就已经准备好了。如果它不存在,您将必须手动完成,这也是特定于操作系统的。但你可以change default gateway in Windows/Mac OS/Linux/FreeBSD/whatever轻松谷歌。

编辑:

要在 Windows 主机上启用 IPv4 转发,请执行以下操作:

1) 启动注册表编辑器 (Regedit.exe)。

2) 在注册表编辑器中,找到以下注册表项: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

3) 设置以下注册表值:

 Value Name: IPEnableRouter
 Value type: REG_DWORD
 Value Data: 1
Run Code Online (Sandbox Code Playgroud)

值 1 将为该计算机安装和使用的所有网络连接启用 TCP/IP 转发。

4) 退出注册表编辑器。

现在尝试从您的访客处 ping 任何 IP 地址(例如 8.8.8.8),它应该可以工作。