我想在Ubuntu Server 14.04上运行两个OpenVPN客户端实例。 我有两个独立工作的.conf文件(都设置为不同的接口 – tun0和Tun1)。 我希望同时运行两个应用程序,并将来自一个应用程序的stream量路由到一个VPN(私人互联网访问),并将所有其他stream量导入另一个VPN(我在另一台机器上设置的OpenVPN服务器)。
我一直在做一些研究,但还没有find一种方法来完成这项工作。 如果这有帮助,我已经包含了我的当前路由表和一个服务器.confs。 OpenVPN在启动时自动启动它们。
私人互联网访问.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路由所有其他stream量,您需要做两件事情:
通过普通的默认网关将stream量路由到其他VPN服务器
路由添加“其他VPN服务器的IP地址”gw 155.92.105.254
在这里,我假设这是您正常的默认网关,根据您的文章中的路由表。
通过其他VPN服务器网关进行默认路由
路由添加默认gw“其他VPN服务器网关IP”
请记住,两个OpenVPN服务器都需要执行NAT,才能使返回的数据包通过VPN正确到达。