将 VPN 流量代理到 Socks 或第二个 VPN

将 VPN 流量代理到 Socks 或第二个 VPN

我有一台 Ubuntu 16.04 服务器,其中运行 xl2tp 和 openvpn 作为 VPN 服务器。但是,我希望服务器本身连接到 SOCKS 代理或另一个 OpenVPN 连接。即:

client --> server --> vpn or socks server --> internet

现在,如果我从服务器的终端执行curlwget请求(例如https://api.ipify.com/),它的流量显然会通过第二个 vpn 或 socks(我都试过了)。但是,如果我通过 l2tp 或 openvpn 将客户端连接到服务器,然后从客户端尝试相同的curlwget,它的流量会直接从服务器退出,而不是通过第二个 vpn / socks 代理的路由器。

换句话说,虽然我想要的是:

client --> server --> vpn or socks server --> internet

我得到的却是:

client --> server +---(server-native traffic)---> vpn2/socks --> internet
                  |
                  +---(client vpn traffic)----> internet

如何才能实现强制将 VPN 客户端的流量进入第二个 VPN 或 Socks 代理的结果?

我想透明地做到这一点- 我无法控制客户端如何连接到服务器,但我可以控制服务器。

答案1

自从我发布这个问题(神圣的存在主义恐惧蝙蝠侠!)以来,已经过去了五 (5) 年——几乎是今天。为了任何通过网络搜索来到这里的人的利益:

使用 Wireguard

我很久以前就解决了我的问题WireGuard,自 5.6(2020 年 3 月)起编译到 Linux 内核中。有适用于移动、桌面和服务器平台的实用程序。

对于那些不想使用 wireguard 或需要 tor 代理的人,@HappyFace 最近评论说有示例配置在一个新的以伊朗为中心的 Github 项目中。我不知道它们是否有用。

Wireguard 满足了我的所有需求。它的网络方案更加简单,也更容易学习。

相关内容