ユーザー空間UDPリバースプロキシを実行する簡単な方法はありますか?
特に、私は次のようなものが欲しい。
ssh -R 10000:localhost:10000 $server
しかし、UDPの場合。
私はこのアプローチが欲しい信頼できないある意味では、私とサーバーの間でパケットが失われても再送は行われません。また、クライアントコンピュータ受け取るUDPパケット。
考慮された研究/方法
- OpenVPNはIPレベルでこのトンネリングを実行します。構成が非常に重く感じ、設定がたくさん必要です。
socat
たぶんこれを魔法のようにできるかもしれません。しかし、ドキュメントを見ても方法が見つかりません。- 「VPN TAP」インターフェースというものがあり、これはユーザーとサーバー間の仮想回線のように聞こえます。ユーザ空間TAPインタフェースを生成すると主張するいくつかのオープンソースプログラムが見つかりました。
- このページTCPを介したUDPルーティングについて説明します(これにより再送信が生成されることに注意してください)。
- ガラス繊維簡単だと思いますが、初期検査ではそれが何をしているのかわかりません。
オープンVPN
人々がコメントで明確に述べたように、OpenVPNは生のパフォーマンスの点で最良のアプローチです(TCPパケット転送に機能するため、暗号化が必要であると仮定)。もちろん、欠点は、接続の両方、証明書、構成ファイル、いくつかのIPアドレス、およびそのIPアドレスのいくつかのルーティングルールにルートプロセスが必要であることです。
ベストアンサー1
SSHトンネルの反対側にSOCKSプロキシを配置できます。私の記憶が正しいなら、パラメータを少し調整したら、含まれているサンプルスクリプトの1つでlibio-socket-socks-perl
十分です。