Socks5 によるポート転送

Socks5 によるポート転送

V2ray サーバーとクライアントを実行し、Inbound Socks5 を作成しました。IP0.0.0.0:8443とポート番号を使用してリモート マシンに転送したいと考えています。

v2ray ではこれができることはわかっていますdokodemo-doorが、私の ISP はこのプロトコルをブロックしています。そのため、別の解決策が必要です。一般的に SOCKS プロキシ経由でポートを転送する解決策はありますか?

答え1

dokodemo-door を使用せずに SOCKS プロキシ経由でポートを転送するには、いくつかの解決策があります。次の 2 つのオプションが考えられます。

SSHトンネリングを使用する

SSH トンネリングを使用すると、SSH プロトコルを使用して SOCKS プロキシ経由でポートを転送できます。手順は次のとおりです。

  1. 次のコマンドを使用して、リモート マシンへの SSH 接続を開始します。

ssh -D 1080 -f -C -q -N user@remote_machine_ip

このコマンドは、リモート マシンへの SSH 接続を開始し、ローカル マシンのポート 1080 に SOCKS プロキシを作成します。

  1. ポート 1080 で SOCKS プロキシを使用するように V2ray クライアントを構成します。
  2. 次のコマンドを使用して、目的のポートを転送します。

ssh -L 8443:remote_machine_ip:remote_port user@remote_machine_ip

このコマンドは、ローカル マシンのポート 8443 を、それぞれ remote_ip と remote_port で指定されたリモート マシンの IP アドレスとポート番号に転送します。

socatを使用する

socat は、2 つのエンドポイント間で双方向データ ストリームを作成するために使用できるコマンド ライン ユーティリティです。SOCKS プロキシ経由でポートを転送するには、次のように使用します。

  1. 次のコマンドを使用して、ローカル マシンのポート 1080 で SOCKS プロキシを起動します。

socat TCP-LISTEN:1080,fork SOCKS4A:proxy_ip:remote_machine_ip:remote_port,socksport=1080

このコマンドは、ローカル マシンのポート 1080 で SOCKS プロキシを起動し、着信トラフィックを proxy_ip の SOCKS プロキシ経由で、それぞれ remote_ip と remote_port で指定されたリモート マシンの IP アドレスとポート番号に転送します。

  1. ポート 1080 で SOCKS プロキシを使用するように V2ray クライアントを構成します。
  2. 次のコマンドを使用して、目的のポートを転送します。

socat TCP-LISTEN:8443,fork SOCKS4A:proxy_ip:remote_machine_ip:remote_port,socksport=1080

このコマンドは、ローカル マシンのポート 8443 を、proxy_ip の SOCKS プロキシ経由で、それぞれ remote_ip と remote_port で指定されたリモート マシンの IP アドレスとポート番号に転送します。

どちらの場合も、remote_machine_ip と remote_port をそれぞれリモート マシンの IP アドレスとポート番号に置き換える必要があることに注意してください。さらに、proxy_ip を SOCKS プロキシ サーバーの IP アドレスに置き換える必要があります。

関連情報