使用 VPS 链接两个 VPN

使用 VPS 链接两个 VPN

我想创建一个包含两个不同 VPN 提供商的 VPN 链以及一个带有静态 IP 的虚拟专用服务器,因此配置将如下所示:

User ----> Commercial VPN ----> VPS ----> Another commercial VPN ----> Internet

这里使用 VPS 是因为它还有另一个 IP 地址。VPS 只有一个物理接口。基本上,它应该像三重 VPN 链一样工作。

我的问题是这是否可能,如果可以,我该如何配置 VPS 来接受来自一个 VPN 的数据包并通过另一个 VPN 重定向它们?

答案1

快速简便的匿名解决方案:

  • 使用您信任的 VPN 提供商

  • 使用商业 VPN 而不是商业 VPN

  • 使用 TOR

量身定制的解决方案:

可以像这样链接 VPN,但有点棘手:client => vpn => vps => vpn => internet

1- 在 VPS 中设置 VPN 服务器并测试:client => vps(vpn) => internet

2- 为客户端的公共 IP 添加到 VPS 的静态路由:

Linux: ip route add <client pub ip> via <vps gateway>

Windows: route add -p <client pub ip> mask 255.255.255.255 <vps gateway>

当您在下一步将 VPS 连接到 VPN 服务时,这将使您的客户端远程会话保持连接到 VPS。

3-将 VPS 连接到 VPN 提供商并检查互联网连接:vps => vpn => Internet

4- 测试连接:'客户端 => vps(vpn)=> vpn => internet'

5- 将客户端连接到 vpn,然后拨号连接已经连接到另一个 vpn 的 vps(vpn) 到互联网:client => vpn => vps(vpn) => vpn => internet

将您的客户端连接到 vpn 后,只有当其监听其连接的 vpn 的发布 IP 时,您才能拨打 vps(vpn)。

或者

只需按照步骤 2 将您的第一个 VPN 的公共 IP 添加为到 VPS 的静态路由即可。

答案2

vps 链接的工作配置。VPS 链式测试

客户端 1================== vps1 ===================== vps2

1.1.1.1 ================== 2.2.2.2=================== 3.3.3.3

10.9.0.2 ==========>>>10.9.0.1

======================= 10.8.0.2 ============>10.8.0.1

在 vps1 中更改 iptables/route/rule

iptables -t nat -D POSTROUTING -s 10.9.0.0/24 ! -d 10.9.0.0/24 -j SNAT --to-source 2.2.2.2

iptables -A FORWARD -i tun0 -o tun1 -j ACCEPT

iptables -A FORWARD -i tun1 -o tun0 -j ACCEPT 

iptables -A FORWARD -d 10.9.0.0/24 -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -t nat -A POSTROUTING -s 10.9.0.0/24 -j SNAT --to-source 10.8.0.2

ip route add default via 10.8.0.2 table 120 

ip rule add from 10.9.0.0/24 table 120 

在 vps1 上编辑 Openvpn server.conf 文件

nano /etc/openvpn/server/server.conf
push "route 10.8.0.0 255.255.255.0"

route 10.8.0.0 255.255.255.0

相关内容