v2rayNのシステムプロキシとルーティング設定|全ルート・中国本土を除外する設定の違い

v2rayNのシステムプロキシとルーティングの違いを解説。全ルートと中国本土を除外する設定を比較し、Webサイト、アプリ、LANへの接続に応じた選び方を紹介します。

この記事の要点

システムプロキシは、Windowsの設定に従うアプリの通信をv2rayNに送るかどうかを決めます。ルーティングモードは、コアに届いた通信をプロキシ経由、直接接続、またはブロックのどれにするかを決めます。普段は「システムプロキシを自動設定」+「中国本土を除外」から始め、比較のために全ルートも試してみましょう。この記事ではWindowsデスクトップ版を例に、ブラウザー、個別にプロキシを設定したアプリ、LAN機器で結果が異なる理由を解説します。

システムプロキシとルーティング、まずは役割を整理

v2rayNはクライアントの操作画面で、ローカルプロキシの待ち受けや通信の転送は選択したコアが処理します。VMessやVLESSなどのプロトコルはリモートサーバーとの通信に使われ、Windowsアプリがシステムプロキシを使うかどうかは決めません。ノードを選択し、コアを起動していても、ブラウザーが直接インターネットに接続することがあります。

通信経路は「アプリ → ローカルプロキシの入口 → コアのルーティング → アウトバウンド」と考えると分かりやすくなります。システムプロキシが主に影響するのは最初の矢印です。「全ルート」や「中国本土を除外」などのルーティング設定は、主に最後の矢印を決めます。両者は別々の設定なので、名前を揃える必要も、互いの代わりに使う必要もありません。

システムプロキシ:通信の入口

設定場所
メイン画面下部の「システムプロキシ」
よく使う設定
システムプロキシを自動設定
適用範囲
システムプロキシを参照するアプリ
ローカルアドレス
127.0.0.1 と実際の待ち受けポート

システムプロキシを参照しないソフトは、個別にプロキシを設定するか、別の方法で通信を転送する必要があります。

ルーティングモード:アウトバウンドの選択

設定場所
メイン画面下部の「ルーティング」選択欄
よく使うプリセット
全ルート、中国本土を除外
適用範囲
コアに届いた通信
決まる内容
適用されるルールと最終的なアウトバウンド

プリセットは編集できます。実際の動作は、現在のルールとその順序で決まります。

全ルートと中国本土を除外する設定:違いはルールにある

全ルートでは通常、先行ルールで処理されなかった通信がプロキシ経由になります。一方、中国本土を除外する設定では、ドメインやIPアドレスのルールに一致した通信を直接接続にし、それ以外をプロキシ経由にするのが一般的です。ここでいう「中国本土」はルールセット上の分類であり、サイトの言語や運営会社の所在地、ユーザーの現在地をリアルタイムに判定するものではありません。

確認項目全ルート中国本土を除外
コアに届いた通常の通信通常はプロキシ経由ドメインやIPアドレスなどの条件で振り分け
中国本土向けルールに一致するサイト通常はプロキシ経由(先行する例外ルールがある場合を除く)通常はローカルネットワークから直接接続
中国本土向けルールに一致しないサイト通常はプロキシ経由通常はプロキシ経由(フォールバックルールによる)
LAN内のアドレスプライベートアドレスの例外を確認プライベートアドレスが直接接続の対象か確認が必要
システムプロキシを参照しないソフト全ルートを選んだだけでは対象にならないルールを切り替えただけでは対象にならない

Xrayのルーティングを例にすると、ルールは設定順に照合され、最初に一致したルールで行き先が決まります。独自のドメイン直接接続ルールをフォールバックのプロキシルールより後に置くと、適用されないことがあります。直接接続とは通常、選択中のプロキシサーバーを経由せず、端末のネットワークから接続することです。ただし、通信がローカルのコアを通る場合はあります。

Windowsでの設定手順:一度に変更するのは一項目

以下では、v2rayNの中国語版でよく使われるメニュー名を記載しています。デスクトップ版と従来の画面では、項目の場所が異なる場合があります。画面下部に表示されない場合は、通知領域のアイコンを右クリックして「システムプロキシ」を探してください。作業を始める前にTUNをオフにし、入口方式が重なって判断に影響するのを防ぎましょう。

  1. ローカルポートを確認する

    「設定」→「パラメーター設定」を開き、基本設定またはインバウンド関連の項目でローカルの待ち受けポートと対応プロトコルを確認します。項目の分類はバージョンによって異なるため、実際の画面を確認してください。HTTP、SOCKS、または混合型の入口を記録し、ポート番号だけを控えないようにしましょう。

  2. 使用するノードを選ぶ

    ノード一覧で対象を選び、右クリックして「アクティブサーバーに設定」を選択します。コアの起動ログに待ち受け失敗やアドレス競合のエラーがないことを確認してください。テスト中は同じノードを使い、サーバーを同時に切り替えないでください。

  3. システムプロキシを設定する

    「システムプロキシ」で「システムプロキシを自動設定」を選びます。次にWindowsの「設定」→「ネットワークとインターネット」→「プロキシ」を開き、ローカルのプロキシアドレスとポートを確認してください。以前使っていたソフトのポートが残っている場合があります。

  4. 振り分けルールを選ぶ

    メイン画面の「ルーティング」で「中国本土を除外」を選びます。中国本土向けのサイト、プロキシが必要なサイト、LAN内のアドレスにそれぞれアクセスし、どの通信で問題が起きるか記録しましょう。ノードの接続テストだけで判断しないでください。

  5. 全ルートに切り替えて比較する

    「ルーティング」だけを「全ルート」に変更し、対象のページを閉じてから開き直します。特定のサイトだけが復旧した場合は、ドメインの照合、DNS、ルールの順序を優先して確認してください。テスト後は普段使うルーティング設定に戻します。

ブラウザー、ソフト、LAN:入口ごとに動作を確認

ブラウザーはシステムプロキシを参照できますが、拡張機能、個別のプロキシ設定、既存の接続によってテスト結果が変わることがあります。コマンドラインツール、ダウンローダー、バックグラウンドサービスも、プロキシ環境変数や独自のネットワーク設定を使う場合があります。「ブラウザーで開ける」だけで、すべてのプログラムが同じ出口を使っているとは判断できません。

以下の2つのポート番号はテスト方法を示す例であり、すべてのバージョンの既定値ではありません。ここでは、10808がHTTPまたは混合型のプロキシ入口として設定されているものとします。実際のポートが異なる場合は、画面に表示された値に置き換えてください。このポートがSOCKS専用の場合、HTTP用の引数は使えません。

10808
例示用のローカルプロキシポート。使用前に確認してください
443
HTTPS接続先の既定ポート。ローカルプロキシのポートではありません

Windowsターミナルで以下を実行して比較します。curl.exeを明示すると、一部のPowerShell環境でcurlが別のコマンドとして解釈されるのを防げます。ここでは例示用ドメインで通信経路を確認します。接続できるかどうかをノードの品質判定に使わないでください。

# プロキシを使わず直接アクセス
curl.exe --noproxy "*" -I --connect-timeout 10 https://example.com

# ローカルのHTTPプロキシ入口を明示してアクセス
curl.exe --noproxy "" -x http://127.0.0.1:10808 -I --connect-timeout 10 https://example.com

2つ目のコマンドはシステムプロキシの設定に依存しませんが、コアのルーティング設定には従います。現在のルールで接続先が直接接続に振り分けられれば、最終的には直接接続されます。つまり、「ローカルプロキシを指定した」ことと「リモートノードを経由した」ことは同じではありません。コアのアクセスログに記録された接続先とアウトバウンドのタグを確認してください。アクセスログを有効にしていない場合、記録が見つからなくても通信がコアに届かなかったとは限りません。

中国本土を除外する設定で問題が起きる場合:DNSとルールの照合を確認

同じWebサイトでも、メインサイト、画像、ログイン、APIで異なるドメインを使うことがあります。メインサイトが直接接続になっていても、すべてのリソースに同じルールが適用されるとは限りません。ページは表示されるのにログインが終わらない場合は、設定全体をすぐに全ルートへ変更せず、失敗したリクエストの実際のドメインを確認してください。

ドメインルールとIPルールでは、適用の前提も異なります。Xrayのrouting.domainStrategyは、ルーティングの照合時に名前解決の結果を使うタイミングを制御します。AsIsではルーティング照合のためにドメインを積極的に名前解決しないため、ドメインを含む通信が必ずIPルールに一致するとは限りません。これは、接続中にDNSが一切使われないという意味でも、OSのDNS設定が変更されるという意味でもありません。

  1. まず、コアに届く情報を確認します。リクエストがコアに入る時点でドメイン名を含むのか、IPアドレスだけなのかによって、使える照合条件が変わります。アプリが自分で名前解決し、IPアドレスだけを渡す場合、ドメインルールの照合対象がない可能性があります。
  2. 次にルールの順序を確認します。「設定」→「ルーティング設定」で現在のプリセットを開き、対象ドメインのルールがフォールバックルールより前にあるか、アウトバウンドのタグが意図したものを指しているか確認します。
  3. ルールデータを確認します。ルールがgeosite:cnまたはgeoip:cnを参照している場合、現在のコアが対応するデータを読み込めるか確認してください。別のコア向けのルール形式をそのまま流用することはできません。
  4. 最後に名前解決の経路を確認します。ブラウザーのセキュアDNS、システムDNS、コアのDNS設定は異なる場合があります。一度に3か所を変更せず、それぞれを個別に比較してください。また、解決されたIPアドレスの割り当て地域だけで最終的なアウトバウンドを判断しないでください。

よくある質問:症状に応じた確認方法

全ルートにしたのに、特定のソフトが直接接続するのはなぜ?

まずソフトの「ネットワーク」または「プロキシ」設定を確認し、システムプロキシを参照するか調べてください。ローカルのHTTPまたはSOCKS入口を手動で入力して動作を確認できます。ソフトにプロキシ機能がない場合は、TUNの利用を別途検討してください。ルーティングの切り替えは、アプリの通信を取り込む操作ではありません。

中国本土を除外する設定にしたら、中国本土のサイトが遅くなったのはなぜ?

まず、対象ドメインが実際に直接接続されているか確認し、システムプロキシをクリアした状態での接続と比較します。直接接続でも遅い場合は、ローカルネットワークやDNSを優先して確認してください。振り分け設定を使ったときだけ遅い場合は、リソースごとに異なる出口を使っていないか調べましょう。

全ルートにしたら、プリンターやNASに接続できなくなった場合は?

まずLAN内IPアドレスでアクセスし、機器がオンラインか確認します。次にWindowsのプロキシ例外と、現在のルーティングにプライベートアドレスを直接接続するルールがあるか調べてください。社内ネットワークでは独自の内部アドレス範囲を使うことがあります。実際のアドレスに合わせてルールを追加し、すべての不明なアドレスをプロキシに送らないようにしましょう。

v2rayNを終了したらブラウザーもインターネットに接続できなくなった場合は?

Windowsの「設定」→「ネットワークとインターネット」→「プロキシ」を開き、ローカル端末を指す手動プロキシが有効なままになっていないか確認します。v2rayNを再起動し、「システムプロキシをクリア」を選ぶ方法もあります。組織の端末管理ポリシーがある場合は、設定を変更する前に管理者へ確認してください。

普段の設定はシンプルにできます。まずはシステムプロキシの自動設定と中国本土を除外するルーティングを組み合わせ、特定サイトの調査ではノードを固定して一時的に全ルートへ切り替えます。入口、ルーティング、DNSのうち一度に変更するのは一項目にし、対象ドメインと結果を記録しましょう。ノードや設定を同時に複数変えるより、問題を再現しやすくなります。

V2Rayクライアントをダウンロード