连接两个专用LAN - VPN问题


1

我在192.168.1.x子网中有一个“家庭”局域网,我的面向网络的路由器也是网关,其IP为192.168.1.1。

最重要的是,我在ESXi上运行“实验室”环境,我使用的是10.x.x.x子网。

我正在使用RRAS充当我的路由器,其中包含到192.168.1.0子网的静态路由以及面向路由器的另一条静态路由,以访问10.x.x.x子网。

当我在我的笔记本电脑上时这一切都运行良好,但在我的桌面上我安装了一个VPN客户端,它在子网10.xxx中提供了一个IP地址,因此任何联系我自己的内部10.xxx子网的尝试都会被重定向到相反,VPN。

我知道我可以更改它以便Windows更喜欢我的非VPN网络适配器,但这也意味着外部流量也不会通过VPN路由,导致VPN无用。

那么如何在连接到VPN的同时获得对10.x.x.x子网的访问权限,并确保在任何外部流量仍然通过VPN的同时?

谢谢。

EDIT1

网络图:

https://creately.com/diagram/hoq2lfcn2/Ht609UGn1TpgWz29zeQsJVtrfwc%3D

PC1正在运行Viscosity,一个连接到VPN服务的OpenVPN客户端。 VPN服务的IP地址有所不同,但始终在10.x.x.x子网内,子网掩码始终为255.255.255.252。

当OpenVPN客户端断开连接时,我可以从PC1连接到10.x.x.x子网上的所有虚拟机,但是当VPN连接时不能连接,因为流量通过VPN而不是隧道外部路由。

从PC2(没有VPN客户端)我可以始终连接到10.x.x.x子网上的所有VM。


1
请画出你现在拥有的东西。而你想要实现的目标。
STTR

@STTR,添加了图表。我只是希望能够在连接到VPN客户端时从PC1访问10.x.x.x子网上的VM。
cogumel0

Answers:


0

这取决于您想要实现的目标。如果我已正确阅读您的消息,您就不想联系VPN服务器后面的局域网,而只是将其用作跳板来访问互联网(如果我弄错了,请纠正我)。

如果确实如此,则没有问题。您所要做的就是设置两个单独的路由,一个用于子网10.xxx到eth0接口,另一个用于您的VPN路由器(假设它有IP 10.0.0.1)通过接口ppp0 / tun0 / tap0 ,具体取决于您使用的VPN类型。这应该是单个IP​​地址的路由,10.0.0.1 / 255.255.255.255。就这样。这是因为路由表总是首先应用最严格的规则(没有什么比单个IP的路由更具限制性),然后是更全面的规则。

如果您有兴趣到达VPN路由器后面的LAN,情况就更复杂了。它主要取决于两个子网10.x.x.x / mask1和10.y.y.y / mask2是否重叠。要解决这种情况,您必须发布路由表和ipconfig。


这是付费的VPN服务,因此我无法控制该方面的路由表。希望我刚添加的图表有助于显示设置的外观。
cogumel0

但它非常清楚。事实上,上面概述的解决方案已经足够了。
MariusMatutiae

你能解释我如何直接在运行Windows 7的PC1上设置两条不同的路由吗?因为那是必须要做的。还要记住,VPN服务提供的IP地址不断变化。
cogumel0

我查看了客户端上的路由表,当VPN连接时,它会自动为我提供的单个IP创建一个路径,其掩码为255.255.255.255。所以,如果我这样做 route add 10.0.0.0 mask 255.0.0.0 metric 50 if 11 这应该将所有要转发到10.xxx的请求路由到我的路由器的更严格的VPN规则,而路由器又将路由到我的VM,同时仍然路由所有其他非内部流量(192.168.1。 x和10.xxx)通过VPN,对吗?
cogumel0

正确。这是我在回答中描述的第一个解决方案。
MariusMatutiae
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.