アプリを SOCKS ポートに向ける設定はブラウザでは機能し、ゲームでは失敗しますが、その理由は設定ではありません。SOCKS5 は複数のコマンドを定義しており、実装はその一部だけをサポートしてかまいませんが、Tor のインターフェースが受け付けるのはストリーム接続と名前解決であり、任意のデータグラム転送ではありません。UDP を送信し、プロキシが中継すると期待するクライアントは、サーバーが実装していないコマンドを要求していることになります。以下の手順はそれを数分で確認し、実際に動作しうるトランスポートを選びます。

アプリが実際に何を送っているかを確認する

プロトコル名ではなく、トランスポートを特定することから始めます。音声クライアントは HTTPS でサインインし、その後メディアを UDP で運ぶことがあり、ゲームは TCP で認証して UDP で対戦することがあり、ファイル転送は制御に TCP、検出に UDP を使うことがあります。最初の二つの挙動は、ログインが成功しても通話が失敗し続けるまで同じに見えるため、「接続できた」はアプリ全体が動く証拠にはなりません。一部のクライアントは自ら UDP から TCP に戻るため、部分的に動くセッションが、遮断されたトランスポートではなく不安定なネットワークのように見えます。

失敗する部分について、宛先ポートとトランスポートを書き留めます。その一行が、プロキシがそもそも助けになるかを決めます。

Tor の SOCKS インターフェースが受け付けるもの

Tor はストリーム接続向けに SOCKS5 CONNECT コマンドを、名前解決向けに拡張コマンドを実装しているため、ブラウザは変更なしで通過できます。クライアントがデータグラムを転送のためにプロキシへ渡せるようにする UDP ASSOCIATE は、Tor が提供するものには含まれません。拡張の仕様はプロジェクトの SOCKS 拡張仕様 にあり、短いものです。データグラム用コマンドがないのは意図的で、任意の UDP を中継すると、設計されたことのない転送の役割をネットワークに与えることになります。

これは WireGuard についても同じ答えです。WireGuard は設計上 UDP であり、TCP の代替経路がないため、SOCKS ポートに向けるサポートされた経路は存在せず、そう主張するものは、どちらのツールの機能でもなく、独自の信頼と保守の物語を持つラッパーです。

OpenVPN は部分的な例外で、TCP 上でトンネルするよう設定でき、SOCKS プロキシのオプションを理解するからです。それでも TCP 用に設定されたサーバーと、性能および指紋への影響についての意識的な判断が必要であり、互換性の修正ではなく設計上の選択です。

チェックを順番に実行する

まずプロキシがストリームで機能することを確認します。そうすれば、後で失敗しても到達不能なポートのせいにはできず、次にアプリ自身の通信を確認し、実際にどのソケットを開くのかを観察します。

curl --socks5-hostname 127.0.0.1:9050 -sS https://check.torproject.org/api/ip
ss -tupn | grep 9050
ss -aun | grep -E ':(3478|5060|27015)\b'

最初のコマンドが成功し、二行目でストリームが確立していれば、プロキシ経路は設計どおりに動いています。三番目のコマンドは、アプリに属するローカルのデータグラムソケットを探し、クライアントがそれを開いて遠隔のアドレスへ直接送っているなら、プロキシには一度も問い合わせておらず、プロキシの設定では変えられません。最初の手順で失敗するなら、二つの不具合が同時に残って誰も行動できない報告になる前に、アプリを調べずに止まってプロキシ経路を直してください。

元に戻して適切なツールを選ぶ

UDP クライアントを SOCKS ポートに向けていたプロキシ環境変数やアプリごとのプロキシ設定は、残すと後のテストが曖昧になるため削除します。以前の構成をコピーから復元し、アプリを再起動し、元の挙動が戻ることを確認して比較をきれいにします。検証されていないロールバックは、状態が変わったという願いにすぎません。

UDP のままでなければならないトランスポートには、通常 VPN のほうが適しており、アプリにプロキシプロトコルを話させることなくパケットを運びますが、その代償は まったく異なる匿名性の性質 です。各ツールはそれが文書化している用途に使い、両者の間の橋渡しは独自の見直しを要する別のシステムとして扱います。最終報告に、どの層がどのトランスポートを運ぶかを書き留め、次の人が別のアプリで同じ境界を再発見しないようにします。

関連記事