
私は Ubuntu 16.04 サーバーを所有しており、VPN サーバーとして xl2tp と openvpn を実行しています。ただし、サーバー自体を SOCKS プロキシまたは別の OpenVPN 接続に接続したいと考えています。つまり、次のようになります。
client --> server --> vpn or socks server --> internet
現在、サーバーの端末から (たとえば に)curl
または要求を実行すると、そのトラフィックは明らかに 2 番目の VPN または SOCKS を通過します (両方試しました)。ただし、クライアントを L2TP または OpenVPN 経由でサーバーに接続し、クライアントから同じまたは を試すと、トラフィックはルーターから 2 番目の VPN / SOCKS プロキシを経由するのではなく、サーバーから直接出力されます。wget
https://api.ipify.com/
curl
wget
言い換えれば、私が望んでいるのは、
client --> server --> vpn or socks server --> internet
代わりに得られるものは次のとおりです:
client --> server +---(server-native traffic)---> vpn2/socks --> internet
|
+---(client vpn traffic)----> internet
VPN クライアントからのトラフィックを 2 番目の VPN または SOCKS プロキシに強制的に送信する方法を教えてください。
これを透明にしたい- クライアントがサーバーに接続する方法を制御することはできませんが、サーバーを制御することはできます。
答え1
この質問を投稿してからほぼ 5 年が経ちました (実存的な恐怖、バットマン!)。Web 検索からここに来る人のために:
Wireguardを使用する
私はずっと前にこの問題を解決することができましたワイヤーガード、5.6(2020年3月)以降、Linuxカーネルにコンパイルされています。モバイル、デスクトップ、サーバープラットフォーム用のユーティリティが用意されています。
Wireguardを使いたくない人やTorプロキシが必要な人のために、@HappyFaceは最近、設定例が存在するとコメントしました。イランに焦点を当てた新しいgithubプロジェクト効果があるかどうかは分かりません。
Wireguard は私のニーズをすべて満たしています。そのネットワーク スキームははるかにシンプルで、習得も簡単です。