如何在Hyper-V中将主机VPN连接共享给虚拟机实例?

10
我在 Server 2008 上运行我的工作站,同时在该服务器上的 Hyper-V 虚拟机中安装了几个服务器。我使用 VPN 从主操作系统(宿主机)连接到公司 LAN,但是我的虚拟机无法看到公司 LAN 中的服务器。我的家庭网络的互联网和本地访问都正常。每个虚拟机都有一个虚拟网络适配器。
我应该尝试什么来使其正常工作?
也许我需要提供更多细节,请在需要时询问。
更多细节: - 无法启动多个 VPN 连接 - 不通过宿主机进行 NAT - VM 从家庭网络路由器获取 IP 地址(DHCP)
4个回答

4

就像我说的,您需要设置一些路由。通过主机作为网关,添加一个到公司局域网的路由。仅仅是你告诉我它从家庭DHCPP获取这一事实就告诉我这是个问题。您的虚拟机只能看到1个默认网关,即互联网。虚拟机完全不知道主机上有VPN。在VM机器上添加该路由会导致您的VM所做的任何对公司网络子网的请求通过主机而不是家庭路由器进行路由。

添加类似以下内容:

route ADD 10.0.0.0 MASK 255.0.0.0 192.168.1.30

在您的虚拟机上,可以这样做:任何发送到10...* 网络的请求都将通过IP地址为192.168.1.30的计算机进行路由。因此,请使用您公司的局域网替换10.0.0.0和子网,并用您主机的IP替换192 IP。这应该可以解决问题。


这是在Windows命令控制台上以管理员身份完成的操作。如果是Linux系统,则该命令非常相似,但您需要查看man页面以获取确切的结构。 - mattlant
我刚刚了解到路由命令,但为避免问题变得更加复杂,我还没有尝试过。下班后我会尝试并告诉你结果。谢谢。 - sergiopereira
1
注意:我遇到了类似的问题,最后将虚拟机切换为使用NAT模式,这样它就能够“看到”主机的VPN连接了。 - J c

1
你使用的是什么类型的VPN?你使用内置的Windows VPN客户端,还是需要安装客户端?
只要允许多个同时连接,你就可以在每个虚拟机上独立设置VPN客户端。
我认为设置路由不会起作用,因为这样你还需要在公司网络上设置路由。

除非需要向那个方向发出请求,否则您不需要路由。 - mattlant
我正在使用Windows内置客户端。不幸的是,我不能使用多个连接。 - sergiopereira

0
在您的路由表中设置一些路由。这真的取决于它是如何设置的,但是如果您可以在主机上正常访问公司网络,则将路由设置在虚拟机器中。
另外,我不熟悉那个虚拟机,网络适配器是否像VMWare桥接适配器?如果是,则需要设置路由以路由到您的主机。

听起来很有前途,只是我对路由表一无所知。我猜我还有很多要读的东西。 - sergiopereira

0
让我澄清一些事情。您的服务器表现得好像它们与您的主机物理上分开。因此,考虑到这一点,它们需要像分开一样设置。这意味着它们需要在其路由表中设置路由。为什么?因为现在它们的默认路由是通过您的网关连接到互联网,而不是通过您的主机连接。
简而言之,以与它们不是虚拟机而是您网络上的真实服务器相同的方式解决问题。
但是,正如我在最初的回复中所问的那样,它们是否像VMWare桥接适配器一样。如果是,那么我的说法就成立。如果不是,那么情况就不同了。例如,如果它们在NAT中与您的主机一起设置,则VPN应该已经可以使用。任何其他情况都需要进一步调查和更多信息。

我的Hyper-V网络适配器的VM设置提供了3个选项:未连接、内部网络和Broadcom NetXtreme Gigabit(我的物理卡)。据我所知,我没有使用NAT(我不是网络专家),所以我认为这就像VMWare的桥接适配器。 - sergiopereira
如果是这样,请看下一篇文章,这应该会有所帮助。 - mattlant

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接