OpenVPNはすべてのルーティングをSOCKSポートに転送します

OpenVPNはすべてのルーティングをSOCKSポートに転送します

すべてのクライアント接続を socks ポート経由でルーティングするように openVPN を構成することは可能ですか? つまり、次のように設定したいのです:

Client -> openvpn server -> localhost socks5 port -> socks5 port forward -> the internet
machine 1    machine 2           machine 2              machine 3

どうすればそれを実行できるでしょうか?

これまで、私は同じことを VPN ではなく SSH トンネルで行ってきました。問題なく動作していますが、VPN と同様に SSH トンネリングを実行しない新しいデバイスを追加するつもりです。

答え1

それはできないと思います。

SOCKS はネットワーク (レイヤー 3) プロトコルではなく、他のアプリケーションと同じレイヤー 4 プロトコルです。レイヤー 3 で動作する OpenVPN を除けば、クライアントがトラフィックを SOCKS プロキシ経由でルーティングする場合、通常はクライアントが SOCKS に対応している必要があります。各クライアント ソフトウェアは、SOCKS プロキシの場所を認識している必要があり、そのプロキシ経由で SOCKS 接続を開く方法などを認識している必要があります。

OpenVPN を追加しても、エンド クライアント アプリケーションが突然明るくなるわけではありません。また、リモート OpenVPN サーバーが、そこを通過するクライアント トラフィックに対して魔法のように SOCKS 化を行う機能を持つわけでもありません。

オープンVPNローカル SOCKS プロキシ経由でリモート エンド ノードへのトンネルを構築できる程度には SOCKS に対応していますが、それ以上のことはないと思います。

答え2

MadHatterさんの答えは正しいですが、これはXY問題. トラフィックのルーティングと NAT が可能なマシン (最新のサーバー オペレーティング システム) で OpenVPN を終了すると、OpenVPN とこのマシンをネットワーク プロキシとして動作するように構成することが完全に可能になります。つまり、クライアント接続は、パブリック インターネット上でプロキシ マシンから来ているかのように表示されます。これが解決しようとしている問題である場合、iptables NAT といくつかのルーティング調整がうまく機能します。

関連情報