V2Rayのシステムプロキシ・全般・中国本土を迂回するモードの違い|使い方に合わせた設定

システムプロキシの適用範囲と、全般・中国本土迂回のルーティングを解説。用途に応じた組み合わせ方も紹介します。

この記事の要点

システムプロキシは「アプリからクライアントへ接続を渡す方法」、全般と中国本土迂回は「受け取った接続の出口」を決めます。ノードを追加したものの、プロキシ設定の組み合わせに迷っている方向けに、接続とルーティングの違いを整理。デスクトップでのブラウジング、ターミナルツール、Androidのアプリ別設定を確認し、最後にポート・ログ・比較テストで問題箇所を特定します。

システムプロキシとルーティングモードは別々の役割

v2rayNでノードを選んでも、すべてのアプリがそのノードを使うわけではありません。まずクライアントがローカルのプロキシ入口を起動し、アプリからシステムプロキシ、手動設定のプロキシ、TUNなどを通じて接続を送る必要があります。接続がコアに届いた後、ルールに基づいてプロキシ経由、直接接続、または遮断のいずれかが決まります。

つまり、「システムプロキシを自動設定」と「全般」は、どちらか一方を選ぶ設定ではありません。前者は通常、OSのプロキシ設定を変更します。後者は一般に、クライアントが用意するルーティングのプリセットです。具体的なルールを実行するのはV2RayまたはXrayのコアで、画面上のモード名やプリセット内容はクライアントによって異なります。

設定項目制御する範囲対象外の機能
システムプロキシ設定に従うアプリにローカルプロキシのアドレスを提供すべてのプロセスやプロトコルを取り込めるとは限らない
全般ルーティングコアに届いた接続を通常、選択したプロキシ経由にする未接続のアプリを自動的に取り込むことはできない
中国本土迂回ルーティングドメイン、IP、ルールの順序に基づいて直接接続かプロキシ経由かを選択すべてのドメインを正確に分類できるとは限らない
TUN接続仮想ネットワークインターフェースを通じて、条件に合うIP通信を取り込む全般ルーティングとは異なり、DNSやアウトバウンドルールの代わりにはならない

確認の順番:まず接続経路、次にルーティング

リクエストがクライアントに届いていなければ、全般と中国本土迂回を何度切り替えても出口は変わりません。まずプロキシを明示してローカル入口を検証し、同じアプリで2つのルーティングモードを比較しましょう。

システムプロキシの適用範囲:ブラウザー、ターミナル、TUN

Windowsの場合、「設定」→「ネットワークとインターネット」→「プロキシ」で手動プロキシの状態を確認できます。v2rayNでは、通知領域のアイコンを右クリックし、「システムプロキシ」→「システムプロキシを自動設定」を選ぶのが一般的です。画面の文言はバージョンによって多少異なるため、現在のクライアントに表示される項目を確認してください。設定後、システムプロキシのアドレスとポートが、クライアントの実際の待ち受け先と一致していることも確認します。

システムプロキシに従うブラウザーは通常、この入口を使います。ただし、アプリ独自のプロキシ設定がある場合や、ターミナルツールがコマンド引数・環境変数だけを参照する場合もあります。システムプロキシの例外リストに登録されたアドレスは、ローカル入口を通らないことがあります。あるアプリが接続できても、ほかのアプリも接続されているとは限りません。

127.0.0.1
ローカルループバックアドレスの例
10808
以下のSOCKS入口のポート例
10809
以下のHTTP入口のポート例

ここに示したのは説明用の設定で、すべてのバージョンの初期値ではありません。v2rayNの「設定」→「パラメーター設定」で、ローカルの待ち受けポートを確認してください。使用中のバージョンで混合プロキシを使う場合、HTTPとSOCKSが同じポートを共有することがあります。例をそのまま設定して接続できない場合に、ノードの問題と決めつけないようにしましょう。

全般と中国本土迂回:普段のルーティングを選ぶ

全般は通常、コアに届いた通信をプロキシ経由にします。ノードの動作確認やトラブルシューティング、プロキシが必要なサービスへの一時的なアクセスに適しています。ただし、「デバイス全体の通信がすべてプロキシ経由になる」という意味ではなく、OSのDNS問い合わせがすべてノード経由になるわけでもありません。クライアントのプリセットに、ローカルアドレスを直接接続するなどの例外が含まれる場合もあります。

中国本土迂回では通常、中国本土のドメインルールやIPルールと、デフォルトのプロキシ経由を組み合わせます。中国本土向けの条件に一致した接続は直接接続し、それ以外はプロキシ経由になります。LAN内の直接接続、広告ブロックなどの例外も含まれるかどうかは、現在のプリセットにある実際のルールを確認してください。モード名だけでは判断できません。

システムプロキシ有効 + 中国本土迂回

おすすめ

中国本土のネットワークから国内外のサービスを使う際の基本設定です。中国本土のサービスは通常の回線を使い、プロキシが必要な接続はルールに従ってノード経由にします。分類が合わない場合は、該当するドメインのルールを追加します。

向いている用途:中国本土での業務、ブラウザーでの日常利用、中国本土と海外のサービスを併用

システムプロキシ有効 + 全般

ルーティング条件による影響を抑え、選択したノードが使えるか確認しやすくなります。一方、中国本土のサービスもノード経由になる場合があり、遅延の増加、接続元地域の判定変更、追加のログイン認証が発生することがあります。

向いている用途:ルールの問題を一時的に切り分ける、プロキシが必要なサイトをまとめて利用する

システムプロキシ無効 + アプリで手動接続

指定したアプリだけにローカルプロキシ入口を設定します。コアに届いた後は、全般または中国本土迂回を選べます。システムプロキシを無効にしても、クライアントのローカル待ち受けは停止せず、手動設定したアプリからの利用も妨げられません。

向いている用途:ターミナルツール、テスト用プログラム、特定のブラウザー設定だけをプロキシ経由にする

ノードがVMessかVLESSかによって、この2つの設定の役割は変わりません。プロトコルはクライアントとサーバー間の通信方式、システムプロキシはアプリからの接続方法、ルーティングは接続先のアウトバウンドを決めます。サブスクリプションの更新は主にノード情報を更新する操作であり、ローカルの接続問題を解決する万能策ではありません。

中国本土迂回が機能しない:ルールの順序とDNSを確認

一般的なルーティング設定は、ルールの上から順に照合します。広範囲に一致するプロキシルールが中国本土向けの直接接続ルールより前にあると、後続の条件が適用されないことがあります。地域をまたいで運用されるサービスや共有CDNを利用するサービスでは、IPの所在地だけで判断すると想定どおりにならない場合があります。サービスのドメイン、名前解決の結果、実際の接続先IPを合わせて確認しましょう。

  1. アプリの接続経路を確認。新しいリクエストを送信し、ローカル入口に接続が届いているか確認します。システムプロキシの例外やアプリ独自の直接接続設定により、リクエストがコアを完全に迂回することがあります。
  2. ドメインを識別できるか確認。アプリが名前解決済みのIPだけを送る場合、ドメインルールが照合に使われないことがあります。一部のプロトコルでは通信のスニッフィングによってドメイン情報を補えますが、すべての接続で利用できるとは限りません。
  3. ルールの順序を確認。必要な個別ドメインの例外を、広範囲に一致するルールより前に配置し、指定したアウトバウンドタグが存在することも確認します。カスタムルールを変更する前に、まずバックアップを取ってください。
  4. 名前解決の方針を確認。コアのdomainStrategyは、ルーティング時にドメインへIPの照合条件を追加するかどうかに影響します。OSのDNS設定を切り替える項目ではなく、別のコアの設定形式に同じ意味を当てはめることもできません。
  5. ルール用リソースを確認。geosite:cnやgeoip:cnなどの条件を使う場合、対応するルール用リソースが読み込まれているか確認します。リソースのバージョンや分類範囲によって、ルールの一致結果が変わることがあります。

DNSも接続経路とあわせて考える必要があります。ローカルの名前解決に問題があると、接続できないアドレスが返されることがあります。また、リモートDNSが中国本土向けの直接接続サービスに適さない場合もあります。変更前に設定を記録し、名前解決かルーティングのどちらか一項目ずつ変更してください。ノード、DNS、モードを同時に変えると、原因を特定できなくなります。

デスクトップとAndroid:同じルーティングでも接続方法は異なる

デスクトップではシステムプロキシやTUNを使うのが一般的です。Android版v2rayNGは通常、VpnServiceでローカルの仮想インターフェースを作成して通信を取り込み、Xrayコアでルーティングします。v2flyNGはV2Flyコアを使用します。設定画面のルールや対応プロトコルは使用中のクライアントで確認し、別のクライアントの項目をそのまま当てはめないでください。

設定手順:対象アプリを決めてからアウトバウンドを選ぶ

デスクトップ:v2rayN
  • 利用可能なノードを選び、ローカルの待ち受けポートを確認します。
  • 普段のブラウジングには、システムプロキシと中国本土迂回を組み合わせます。
  • ターミナルでは必要に応じてHTTPまたはSOCKSの入口を明示します。
  • TUNを使う場合は、DNS、権限、直接接続の例外を個別に確認します。
Android:v2rayNG
  • 初回接続時に、AndroidのVPN接続許可を確認します。
  • 「設定」でアプリ別プロキシのスイッチとリストの意味を確認します。
  • 「選択したアプリだけをプロキシ経由にする」と「選択したアプリを除外する」を区別します。
  • アプリが通信の取り込み対象になってから、選択したルーティングルールが適用されます。

アプリ別リストはどのアプリをクライアントに接続するかを決め、中国本土迂回は接続後の通信をどう振り分けるかを決めます。両者は代わりになりません。

たとえば、Androidアプリが取り込み対象から除外されている場合、ルーティングを全般に切り替えても直接接続のままになることがあります。反対に、アプリが取り込み対象でも、すべての接続がノード経由になるわけではありません。中国本土迂回の直接接続ルールは引き続き適用されます。アプリ別リストを変更したら、接続を停止して再開し、対象アプリを開き直してテストしてください。

検証とトラブルシューティング:同じリクエストで比較する

まず安定して再現できる接続先を決め、ノードを固定して比較します。以下のターミナル例は、前述の2つのローカル入口を想定しています。クライアントが該当ポートでHTTPとSOCKSを実際に提供している場合にのみ使用してください。例にあるドメインはリクエスト形式の説明用です。問題の切り分けには、実際に問題が起きているサイトを指定してください。

# HTTP入口:ポートはクライアントの実際の設定に合わせる
curl --proxy http://127.0.0.1:10809 --connect-timeout 10 --max-time 30 --head https://example.com/

# SOCKS入口:接続先ドメインはプロキシ側で名前解決
curl --proxy socks5h://127.0.0.1:10808 --connect-timeout 10 --max-time 30 --head https://example.com/

ここでの10秒は接続タイムアウトの上限、30秒はリクエスト全体の上限で、速度測定の結果ではありません。socks5hは、ローカルで先にドメインを名前解決する方式とは異なります。比較するときはこの条件をそろえてください。HTTPエラーが返っても、接続自体は確立している場合があります。すべてのエラーをノード障害と判断せず、レスポンスとログをあわせて確認しましょう。

  1. ノードを固定し、プロキシを明示して指定。ローカルポートへの接続エラーが出る場合は、コアが起動しているか、ポートの入力ミスがないか、ほかのプロセスが使用していないか確認します。
  2. 接続先を変えずにルーティングを切り替える。全般では接続でき、中国本土迂回では失敗する場合、まず直接接続の条件、ドメインの分類、名前解決結果を確認します。接続先サービスの一時的な不調も考慮してください。
  3. プロキシを明示して接続できたら、アプリでもテスト。同じ接続先にターミナルからは接続できてブラウザーからは失敗する場合、ブラウザーのプロキシ設定、拡張機能、システムプロキシの例外リストを確認します。
  4. 新しい接続を作って確認。既存の長時間接続が、以前の経路を使い続けていることがあります。ルールを切り替えたらリクエストを再送し、必要に応じて対象アプリを再起動してください。ログが無効なら、一時的にアクセスログを有効にして問題箇所を特定し、終わったら通常のログレベルに戻します。

全般に設定したのに、なぜターミナルの出口が変わらない?

ターミナルツールがシステムプロキシを参照していない可能性があります。まず上記の--proxy引数で明示的に接続し、ポートをクライアントの実際の値に合わせてください。接続できたら、そのツール独自のプロキシ設定または環境変数を設定します。ルーティングモードを切り替えるだけでは、ターミナルの通信を取り込めません。

中国本土迂回にしたら、中国本土のサービスが遅くなったのはなぜ?

まず、そのサービスへの接続が実際に直接接続のルールに一致しているか確認します。プロキシ経由になっている場合は、該当ドメインのルールと順序を確認してください。すでに直接接続されている場合は、ローカルDNSとネットワークを調べます。例外を追加する際は、サービスのドメインだけに限定し、広範囲の共有アドレスをまとめて許可しないでください。

システムプロキシを無効にしたのに、なぜ一部のソフトはノード経由のまま?

そのソフトにローカルプロキシが手動設定されていないか、TUNが動作中でないか確認してください。システムプロキシのスイッチが影響するのは、それに依存する接続経路だけです。アプリ内のプロキシ設定は自動で消えず、仮想インターフェースによる通信の取り込みも自動では停止しません。

クライアントを終了したらブラウザーが開かなくなった。どこを直せばいい?

Windowsの「設定」→「ネットワークとインターネット」→「プロキシ」で、停止したローカルポートが指定されたままになっていないか確認してください。v2rayNを再起動し、通知領域の「システムプロキシ」→「システムプロキシを解除」を選んでから、ブラウザー独自のプロキシ設定も確認します。

安定した設定を維持し、個別の問題に応じてルールを調整

普段は「システムプロキシ+中国本土迂回」を使い、全般は比較用にします。プロキシを明示しても接続できない場合は、入口とノードを確認してください。通信をより広く取り込む必要がある場合にTUNを検討し、すべてのスイッチを同時に有効にするのは避けましょう。

用語の確認には用語集、設定手順の全体は使い方ガイドをご覧ください。再現可能な接続先、実際のポート、一致したアウトバウンドを記録しておくと、「全般を有効にした」という情報だけよりも問題を特定しやすくなります。

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