システムプロキシ・グローバル・中国本土回避の違い:3つのプロキシ方式の選び方

システムプロキシの適用範囲と限界を整理し、グローバルプロキシとルールベースのルーティングによる通信経路の違いを比較。日常の閲覧、海外サービス、ゲームの3つの用途別に選び方を解説します。

v2rayN の「システムプロキシ」「グローバル」「中国本土回避」は、同じ階層にある3つの排他的なスイッチではありません。システムプロキシは、どのアプリが接続をローカルクライアントに渡すかを決めます。一方、グローバルと中国本土回避は、接続が Xray または V2Ray のコアに入った後、どの出力先を選ぶかを決めます。入口での通信の取り込みとコアのルーティングを分けて考えることで、ブラウザーは接続できるのに特定のアプリは直接接続する、グローバルに切り替えると中国本土のサイトが遅くなる、ゲーム通信がノードを経由しない、といった現象を説明できます。

この記事の概要

この記事は、v2rayN 7.x、v2rayNG、v2flyNG を使っているものの、プロキシモードの意味がよく分からない方に適しています。読み終えると、アプリの通信が取り込まれているか、グローバルとルールベースのルーティングがどう違うかを判断でき、Web閲覧、海外サービス、ゲーム接続に応じて検証や切り戻しがしやすい設定を選べるようになります。

システムプロキシ、グローバル、中国本土回避が制御する範囲

システムプロキシは、OS の入口にあたる層です。v2rayN 7.13.2 の一般的な初期設定では、クライアントがローカルで SOCKS ポート 127.0.0.1:10808 と HTTP ポート 127.0.0.1:10809 を待ち受けます。トレイメニューで「システムプロキシ」→「システムプロキシを自動設定」を選ぶと、Windows のプロキシ設定がローカル HTTP 入口を指すようになります。ブラウザー、一部のオフィスソフト、OS のネットワーク設定に従うアプリは、リクエストを v2rayN に渡します。

グローバルモードは、コアのルーティング層に属します。接続がローカルプロキシポートに入ると、コアは通常、プロキシ可能な通信を現在選択されている VMess、VLESS、その他のノードの出力先へ一律に送ります。ただし、ここでいう「グローバル」は、システム上のすべてのプロセスが自動的にプロキシへ入るという意味ではありません。システムプロキシ設定を参照しないアプリ、ソケットを直接作成するアプリ、独自のネットワークスタックを使うアプリは、ローカルの待ち受けポートを迂回する場合があります。

中国本土回避モードもルーティング層に属しますが、ドメイン名と接続先 IP に基づいて通信を分類します。一般的なルールでは、geosite:cngeoip:cn、ローカルネットワークのアドレスを直接接続し、それ以外の一致項目をプロキシへ送ります。動作結果は GeoSite、GeoIP データが最新かどうかだけでなく、名前解決の結果、ルールの順序、最後のフォールバックルールにも左右されます。すべてのサイトの所在地をリアルタイムに判定する機能と考えるべきではありません。

システムプロキシのみ有効

システム設定に従うアプリの通信をローカルポートへ送ります。実際の出口は、現在のルーティングルールによって決まります。

適する用途:まずブラウザーと一般的なデスクトップアプリを確認する場合

システムプロキシ+グローバルルーティング

コアに入った接続を優先的にプロキシの出力先へ送るため、ノード、サブスクリプション、プロトコルの接続性を確認する際の変数を最小限にできます。

適する用途:短時間の診断、単一ノードの接続テスト

システムプロキシ+中国本土回避

おすすめ

中国本土向けのリソースは直接接続し、それ以外の接続はルールに従ってプロキシへ送ります。経路、遅延、ノード通信量のバランスを取りやすい方式です。

適する用途:日常の閲覧、長時間のデスクトップ利用

  • 入口での取り込み:システムプロキシ、HTTP/SOCKS ポートの手動設定、TUN、透過プロキシによって通信をコアへ入れます。
  • ルーティング判定:グローバル、中国本土回避、カスタムルールによって、コアに入った後の直接接続、プロキシ、遮断の出力先を決めます。
  • ノードプロトコル:VMess、VLESS などはクライアントとサーバー間の接続方式を表すもので、通信を取り込むモードとは別の概念です。

システムプロキシを有効にしてもアプリが直接接続する理由

システムプロキシは、OS 全体の通信をリダイレクトする仕組みではありません。ブラウザーは通常 Windows のプロキシ設定を読み取りますが、ゲームランチャー、アップデーター、コマンドラインツール、一部の UDP ベースのアプリは設定を無視することがあります。起動時のプロキシ状態だけを読み取るアプリもあり、v2rayN でモードを切り替えた後はアプリを完全に終了して再起動する必要があります。アプリ側にプロキシ設定がある場合は、ソフト内で 127.0.0.1 と対応するポートを指定してください。

DNS も確認結果に影響します。アプリがまずシステム DNS で IP を取得してから SOCKS や HTTP の入口へ接続する場合もあれば、リモート DNS、FakeDNS、TUN の有効化によって名前解決の経路が変わる場合もあります。Webページが開いたというだけでは、ドメイン名の解決とデータ通信が同じ出口を使ったとは判断できません。調査時は、ブラウザーの表示だけでなく、v2rayN のリアルタイムログにある接続先、インバウンドタグ、アウトバウンドタグを確認してください。

7.13.2
この記事で使用する v2rayN のバージョン
10808
一般的なローカル SOCKS ポート
10809
一般的なローカル HTTP ポート
127.0.0.1
同一 PC からのみアクセスできる待ち受けアドレス
通信の種類 システムプロキシで取り込めるか 適した入口 確認場所
一般的なブラウザーのWebページ 通常は可能 HTTP システムプロキシ v2rayN リアルタイムログ
プロキシを手動設定するソフト ソフトの設定による HTTP または SOCKS ソフトのネットワーク設定とクライアントログ
システムプロキシを参照しないプロセス 通常は不可 TUN またはアプリ独自のプロキシ 接続先とプロセスの通信
UDP のリアルタイム通信 通常は不完全 TUN、透過プロキシ、専用ネットワーク方式 UDP セッションと遅延の記録

結論:まず通信がコアに入っているか確認する

グローバルや中国本土回避への切り替えで変わるのは、すでにコアへ入った接続だけです。ログに接続先がまったく表示されない場合は、ルーティングルールを変更し続けるのではなく、システムプロキシ、アプリ内プロキシ、TUN による取り込みを確認してください。

v2rayN での3つのモードの設定・確認手順

調整を始める前にサブスクリプションを更新し、利用できることを確認済みのノードを1つ選びます。サブスクリプションはサーバー設定の一覧であり、システムプロキシの状態を自動的に決めるものではありません。VMess や VLESS のノードを変更しても、すべてのアプリの通信が自動的に取り込まれるわけではありません。一度に変更する項目は1つにし、元のシステムプロキシとルーティングモードを記録しておくことをおすすめします。

v2rayN 7.x では、まず「設定」→「パラメーター設定」→「基本設定」を開き、ローカルの待ち受けポートが他のソフトと競合していないことを確認します。次にトレイメニューから「システムプロキシ」→「システムプロキシを自動設定」を選び、ルーティングメニューで「グローバル」または「中国本土回避」を選択します。マイナーバージョンによってメニュー名が多少異なる場合がありますが、入口層とルーティング層は分けて設定してください。

  1. ノードを選択したら、まず遅延テストを1回実行します。遅延はあくまで測定結果であり、実際のWebページやダウンロード接続のテストの代わりにはなりません。
  2. システムプロキシを有効にし、テスト対象のブラウザーを再起動します。その後、中国本土でよく使うサイトと、プロキシ経由が必要なサービスを1つずつ開きます。
  3. v2rayN のリアルタイムログを開き、リクエストがローカル HTTP または SOCKS のインバウンドから入り、directproxy のどちらのアウトバウンドを使ったかを確認します。
  4. まずグローバルモードに切り替えて、ノード自体を確認します。グローバルでは使えるのに中国本土回避で問題が起きる場合は、ルーティングの順序、GeoSite、GeoIP、DNS を重点的に確認してください。
  5. テストが終わったら元のモードに戻します。アプリにプロキシを手動設定していた場合は、その設定も同時に戻し、二重プロキシの経路ができないようにします。

おすすめの手順:まずグローバルで診断し、その後ルールベースのルーティングへ切り替える

診断段階
  • システムプロキシを自動設定にする
  • ルーティングは一時的にグローバルを選ぶ
  • 利用可能なノードを1つに固定する
  • リアルタイムログと接続時間を記録する
日常利用の段階
  • システムプロキシの入口を維持する
  • ルーティングを中国本土回避に切り替える
  • GeoSite と GeoIP を更新する
  • 特殊なドメインには個別にルールを追加する

グローバルでは正常なのにルールモードで異常が起きる場合、ノードとサブスクリプションは利用可能で、問題をルーティングデータ、ルールの順序、DNS に絞り込めることが多いです。

日常の閲覧、海外サービス、ゲーム接続での選び方

日常のWeb閲覧とオフィスソフト

「システムプロキシ+中国本土回避」を優先します。中国本土のWebページ、ソフトウェアの更新、ローカルサービスは通常直接接続し、海外サービスはルールに従ってプロキシへ送るため、ノード通信量と接続遅延を管理しやすくなります。特定のドメインが誤判定された場合は、長期的にグローバルへ変更するのではなく、より上位にドメインルールを追加してください。

海外サービスの一時的な切り分け

まずグローバルモードで問題の範囲を絞ります。中国本土回避ではページを読み込めないのに、グローバルへ切り替えるとすぐ復旧する場合は、そのドメインが直接接続ルールに一致していないか、DNS が想定と異なるアドレスを返していないか、ルールセット内により上位の一致項目がないかを確認します。原因を特定したらルールを修正し、ルーティングへ戻します。

ゲームとリアルタイム UDP

システムプロキシだけでは、通常ゲーム通信を取り込めません。システムプロキシを参照しないプロセスを取り込む必要がある場合は、v2rayN の TUN モードを検討できます。TUN は仮想ネットワークインターフェースを作成して取り込み範囲を広げますが、DNS、ルーティングテーブル、管理者権限、LAN アクセスに関する確認項目も増えます。

  • Web閲覧:まずシステムプロキシ+中国本土回避を選び、ドメインルールとブラウザーの出口を確認します。
  • 海外サービス:短時間の診断にはグローバルを使い、確認後はドメインルールで正確に振り分けます。
  • リアルタイムゲーム:まずサーバー地域、基本遅延、パケットロスを確認してから TUN を検討します。プロキシ経路に変えても、物理的な距離による遅延が自動的に改善するわけではありません。
  • LAN 機器:プリンター、ルーターの管理画面、ファイル共有のアドレスは直接接続のままにします。一般的なプライベートアドレス帯を遠隔ノードへ送ってはいけません。

中国本土回避モードが正しく振り分けられないときに確認するルール

ルールシステムは通常、上から順に照合し、一致した時点で指定された出力先を使います。1つのドメインがカスタムドメインルールと GeoSite の分類の両方に該当する場合もあり、名前解決後の IP が GeoIP に一致することもあります。調査では最も具体的なカスタムルールから確認し、次にデータセットのルール、最後のフォールバックを確認してください。複数のルールグループを同時に一括変更するのは避けます。

ドメインの判定方式によって、IP ルールが判定に参加するかどうかも変わります。コアがドメインだけで照合する場合、一部の接続はその後に名前解決されず、GeoIP との照合も行われません。名前解決が必要な方式を有効にすると、DNS の応答結果が出力先に影響することがあります。設定の考え方は下記の簡略構成で理解できますが、実際の項目は使用中のコアとクライアントが生成する設定を基準にしてください。

{
  "routing": {
    "domainStrategy": "IPIfNonMatch",
    "rules": [
      {
        "type": "field",
        "domain": ["geosite:cn"],
        "outboundTag": "direct"
      },
      {
        "type": "field",
        "ip": ["geoip:private", "geoip:cn"],
        "outboundTag": "direct"
      },
      {
        "type": "field",
        "network": "tcp,udp",
        "outboundTag": "proxy"
      }
    ]
  }
}
グローバルモードは使えるのに、中国本土回避モードで一部のサイトが開かない場合は?
まずリアルタイムログで、対象ドメインがどの出力先に一致したかを確認し、GeoSite と GeoIP のデータを更新します。ドメインが誤って直接接続に分類されている場合は、優先度の高いプロキシルールを追加し、DNS の応答アドレスが既存の IP ルールに一致していないかも確認します。
システムプロキシを有効にしても、コマンドラインのダウンロードが直接接続する場合は?
そのツールがシステムプロキシを参照するか確認します。明示的な設定が必要な場合は、ツールが対応するプロキシ引数にローカル HTTP アドレス http://127.0.0.1:10809 を入力するか、ドキュメントに従って SOCKS 入口を使用します。変更後は v2rayN のログで接続がコアに入っていることを確認してください。
v2rayNG と v2flyNG のモードの仕組みは同じですか?
どちらも Android 上でローカルの仮想ネットワークインターフェースを使って通信を取り込むため、入口の仕組みはデスクトップのシステムプロキシとは異なります。ただし、グローバルとルールベースのルーティングで出力先を選ぶ点は共通しています。v2rayNG は通常 Xray コア、v2flyNG は v2fly コアを使用します。利用できる項目は、現在のクライアントとコアの対応範囲を基準にしてください。

3つのモードを最終的に選ぶ基準

多くのデスクトップユーザーにとって、安定した出発点は「システムプロキシを自動設定+中国本土回避」です。一般的なブラウザーやシステム設定に従うソフトをカバーしつつ、中国本土と LAN の通信は直接接続にできます。グローバルモードは、短時間の診断や、取り込み済みの接続をすべてノード経由にしたい場合に適しています。あらゆるネットワーク問題を解決する固定スイッチとして使うものではありません。

対象プログラムがシステムプロキシを参照しない場合は、まずアプリ内の HTTP/SOCKS 設定を選びます。より多くのプロセス、UDP、個別にプロキシを設定できない通信を取り込む必要がある場合に限り、TUN を検討してください。変更のたびにリアルタイムログでインバウンドとアウトバウンドを確認し、Webページが開くかどうかだけで設定の正しさを判断しないようにします。

  1. ブラウザーと一般的なデスクトップソフト:システムプロキシ+中国本土回避。
  2. ノードまたはプロトコルの接続性を確認:システムプロキシ+グローバルで確認し、その後ルーティングへ戻す。
  3. 特定アプリの誤った振り分け:正確なドメインまたは IP ルールを追加し、全体をグローバルへ切り替えない。
  4. システムプロキシを参照しない、または UDP に依存する通信:アプリ内プロキシを確認し、必要に応じて TUN を検討する。
  5. モードの判定が頻繁にずれる:地理情報データを更新し、DNS、ルールの順序、最後のフォールバックを確認する。

結論:入口・ルーティング・ノードの3層に分けてモードを選ぶ

ログに接続がないなら入口を確認し、接続先の出力が誤っているならルーティングを確認します。プロキシに到達しているのにハンドシェイクが失敗する場合に、ノード、プロトコル、サーバー側のパラメーターを調べます。層ごとに切り分ける方が、グローバルを何度も切り替えるより早く、元の設定にも戻しやすくなります。

v2rayN をダウンロード クライアントのインストーラーページへ