linux – 通过两个VPN分离隧道

前端之家收集整理的这篇文章主要介绍了linux – 通过两个VPN分离隧道前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在Ubuntu Server 14.04上运行两个OpenVPN客户端实例.我有两个可以独立工作的.conf文件(两者都设置为不同的接口 – tun0和tun1).我想同时运行两个,并将流量从一个应用程序路由到一个VPN(专用Internet访问),将所有其他流量路由到另一个VPN(我在另一台机器上设置的OpenVPN服务器).

我一直在做一些研究,但还没有找到一种方法来完成这项工作.如果这有帮助,我已经包含了我当前的路由表和一个服务器.confs. OpenVPN在启动时自动启动它们.

Private Internet Access .conf

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         10.160.1.5      128.0.0.0       UG    0      0        0 tun0
default         155.92.105.254  0.0.0.0         UG    0      0        0 eth0
10.160.1.1      10.160.1.5      255.255.255.255 UGH   0      0        0 tun0
10.160.1.5      *               255.255.255.255 UH    0      0        0 tun0
64-237-37-119.c 155.92.105.254  255.255.255.255 UGH   0      0        0 eth0
128.0.0.0       10.160.1.5      128.0.0.0       UG    0      0        0 tun0
155.92.104.0    *               255.255.254.0   U     0      0        0 eth0

解决方法

您需要通过隧道为应用程序添加路由.

例如,如果应用程序A位于10.70.82.5,并且您希望通过专用Internet访问路由应用程序A,则应运行以下命令:

route add 10.70.82.5 gw "IP address of gateway at PIA"

然后,要通过其他VPN路由所有其他流量,您需要做两件事:

>通过普通的默认网关将流量路由到其他VPN服务器

route添加“其他VPN服务器的IP地址”gw 155.92.105.254

在这里,我假设这是您的普通默认网关,基于您帖子中的路由表.

>通过其他VPN服务器网关创建默认路由

route add default gw“其他VPN服务器网关IP”

请记住,两个OpenVPN服务器都需要执行NAT,以便返回数据包通过VPN正确到达.

猜你在找的Linux相关文章