この記事の要点

システムプロキシは、アプリのリクエストをクライアントに渡すかどうかを決めます。ルーティングは、受け取ったリクエストの送信先を決めます。v2rayNやv2rayNGを初めて使う場合は、まずこの違いを把握し、日常利用では「中国本土を除外」する設定から始めましょう。問題が起きたら一時的にグローバルへ切り替えて比較し、最後に接続ログで結果を確認すれば、同じ設定を何度も試す手間を減らせます。

システムプロキシとルーティング設定:入口と出口の違い

デスクトップ版では、v2rayNがコアを起動すると、ローカルにプロキシの待ち受けポートが作られます。ブラウザーなどのアプリは、この入口にリクエストを送信できます。Windowsの「システムプロキシを自動設定」はシステムのプロキシ設定を書き換える機能ですが、設定に従うかどうかはアプリ次第です。一部のコマンドラインツールやゲーム、独自のネットワークスタックを使うソフトは、自動ではこの設定に従いません。

リクエストがコアに届いてから、ルーティングルールが適用されます。コアは宛先のドメイン名、IPアドレス、ポートなどをもとに、プロキシ経由、直接接続、またはブロックのいずれかを選びます。そのため、「システムプロキシが有効」でも、すべてのリクエストがリモートノードを経由するとは限りません。また、「グローバルモード」を選んでも、端末全体の通信がすべて制御されるわけではありません。

設定レイヤーできること代替できない機能
システムプロキシシステム設定に従うアプリをローカルのプロキシ入口に接続するすべてのアプリやUDP通信を取り込めるとは限らない
ルーティングモードコアに届いたリクエストの送信先を選ぶコアに届いていないリクエストを取り込むことはできない
TUN / VPNによる取り込みネットワーク層で、取り込み条件に合う端末の通信を受け取るノードがすべてのプロトコルに対応するとは限らず、ルールによる振り分けも代替できない

グローバル・中国本土を除外・直接接続:通信経路の違い

ここでいう「グローバル」は、クライアントのルーティングプリセットを指し、システムレベルで端末全体の通信を取り込む設定ではありません。通常、コアに届いた一般的な通信をプロキシ経由にしますが、LAN通信やノードサーバーへの接続など、必要な例外が残る場合もあります。特定のアドレスがどこを経由するかは、現在のルールと接続ログで確認してください。

中国本土を除外

おすすめ

あらかじめ用意されたドメイン名・IPアドレスのルールに基づき、中国本土の宛先には直接接続し、それ以外の未一致の宛先は通常プロキシ経由にします。中国本土の業務サービスとプロキシが必要なサイトを併用できます。ルールデータはリアルタイムの地理情報ではないため、個別のサイトで調整が必要な場合があります。

おすすめの用途:日常のWeb閲覧、中国本土の業務サービスと海外サービスの併用

グローバル

コアに届いた一般的な通信の大部分をプロキシ経由にし、振り分けルールがテスト結果に与える影響を抑えます。中国本土のサービスもノード経由になる場合があり、通信経路が長くなるほか、ノードの通信量も消費します。

おすすめの用途:振り分けの問題を一時的に切り分けるとき、出口を統一する必要があるアプリ

直接接続

コアに届いたリクエストを、端末のネットワークから宛先へ直接接続します。クライアントは起動したままで、アプリもローカルの入口に接続できますが、通信はリモートプロキシノードを経由しません。

おすすめの用途:端末のネットワークとの比較、リモートプロキシを一時的に使わない場合

「中国本土を除外」は、Webページの表示言語で通信を振り分ける設定でも、中国語のドメイン名を見て直接接続する設定でもありません。通常はgeosite:cnやgeoip:cnなどのデータに基づきます。ドメインルールの収録状況、CDNのアドレス、名前解決の結果によって、ルールに一致するかどうかが変わります。VMessやVLESSはプロキシプロトコルであり、3種類のルーティングモードと一対一に対応するものではありません。

v2rayNの操作手順:入口、ルーティング、動作確認の順に設定

ここでは、Windowsデスクトップ版の一般的な中国語メニューを例に説明します。バージョンによってボタンの位置やルーティングプリセットの名称が異なる場合があります。同じ名前の項目が見つからないときは、似た名称から推測せず、実際のルーティング設定を確認してください。操作前に有効なノードを選択し、コアが起動していることを確認します。サブスクリプションのインポートが完了しても、ノードへの接続が確認できたわけではありません。

  1. 待ち受けを確認

    「設定」→「パラメーター設定」を開き、ローカルの待ち受けポートなどを確認します。実際のポート番号を控え、起動ログに「アドレスはすでに使用されています」など、待ち受けに失敗した記録がないか確認してください。

  2. 入口を有効にする

    メイン画面下部の「システムプロキシ」で「システムプロキシを自動設定」を選びます。システムプロキシに従うアプリをクライアントに接続する設定です。「システムプロキシを変更しない」は無効化を意味するわけではなく、既存のシステム設定を変更しないという意味です。

  3. 通信を振り分ける

    メイン画面下部の「ルーティング」から、中国本土を除外するプリセットを選択します。ルールを確認するには、「設定」→「ルーティング設定」を開き、中国本土向けの直接接続ルールがデフォルトのプロキシ処理より前にあることを確認してください。

  4. 個別にテストする

    直接接続できることが分かっている中国本土のサービスと、プロキシが必要な宛先にそれぞれアクセスし、接続ログの宛先と送信先タグを確認します。切り替え結果が既存接続の再利用で分かりにくくならないよう、テスト前に古いページ接続を閉じるか、ブラウザーを再起動してください。

  5. 設定を元に戻す

    テスト後は日常利用のルーティング設定に戻します。ローカルプロキシサービスを停止する場合は、クライアントを終了する前に「システムプロキシ」で「システムプロキシを解除」を選んでください。設定が残ると、閉じた待ち受けポートを参照し続けることがあります。

ポートとルールの設定項目:通信経路を明確にする

ローカルアドレスとポート番号は、入口を確認する手がかりです。以下の3つの値は、SOCKSとHTTPを分けて待ち受ける設定例であり、すべてのv2rayNバージョンのデフォルト値を示すものではありません。現在のバージョンで混合ポートを使っている場合は、実際の設定に合わせてください。例の値をそのまま使うことはできません。

127.0.0.1
ループバックアドレスの例
10808
SOCKS待ち受けポートの例
10809
HTTP待ち受けポートの例

たとえば、アプリにHTTPプロキシ127.0.0.1:10809を手動設定していると、システムプロキシを解除した後も、そのアプリがクライアントを使い続けることがあります。反対に、アプリが「直接接続」に設定されている場合は、システムプロキシを有効にしても通信経路が変わらないことがあります。ポートのプロトコルも一致させてください。HTTPプロキシのアドレスを、SOCKS専用の入力欄に設定することはできません。

以下はV2Ray/Xray形式のルーティング設定例であり、そのまま起動できる完全な設定ファイルではありません。出力リストにdirectとproxyのタグがすでにあり、コアが対応するルールデータを読み込めることを前提としています。クライアント管理の設定は通常、画面から変更してください。生成されたファイルを手動で編集すると、次回起動時に上書きされる場合があります。

{
  "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"
      }
    ]
  }
}

デスクトップとAndroid:利用環境に合った接続方法

日常利用では、まず中国本土を除外する設定を使い、必要に応じてアプリごとのルールを追加するのがおすすめです。特定のサイトで問題が起きても、すべての通信を長期間グローバルに切り替えるのは避けましょう。デスクトップとAndroidの主な違いは、リクエストがどのようにコアへ届くかです。コアに届いた後は、どちらもドメイン名、IPアドレス、送信先の照合を確認する必要があります。

おすすめの設定:中国本土を除外する設定から始め、アプリごとに入口を確認

デスクトップ:v2rayN
  • ブラウザーにはシステムプロキシを使い、ルーティングは中国本土を除外する設定にします。
  • システムプロキシに従わないツールでは、ツール自体にHTTP / SOCKSプロキシを設定します。
  • より広範囲の通信を取り込む必要がある場合に限り、TUNと必要な権限を検討します。
  • LAN上のサービスは直接接続を優先し、システムプロキシの例外とコアのルールを両方確認します。
Android:v2rayNG
  • サービスを起動してシステムVPNの許可を確認します。ノードを選んだだけで、サービスを起動し忘れないようにしてください。
  • 「ルーティング設定」で定義済みルールまたはカスタムルールを確認します。項目の名称や位置は、使用中のバージョンに従ってください。
  • アプリ別プロキシを有効にした場合は、対象のアプリがプロキシ対象に含まれているか確認します。
  • 「アプリをVPNの対象外にする」ことと、「コアに届いた後で直接接続する」ことは、異なるレイヤーの設定です。

まず入口の対象範囲を確認してから、ルーティングを調整してください。アプリの通信がコアに届いていない場合、送信先ルールを変更しても解決しません。

社内ネットワーク、プリンター、ルーターの管理画面などは、通常、ローカルネットワークへの直接接続が必要です。グローバルモードでこれらのサービスに接続できない場合は、すぐにノードを変更せず、プライベートIPアドレスのルールとシステムプロキシの例外を確認してください。出口を固定する必要がある通信では、DNS、IPv6、アプリ独自のネットワーク動作も確認が必要です。「グローバル」という設定名だけでは、すべての接続が同じ出口を使う保証はありません。

モードを切り替えても問題が続く場合:症状別の確認方法

グローバルにしても、特定のソフトがプロキシを経由しない

まずクライアントの接続ログに、そのソフトの宛先が表示されているか確認します。表示されない場合は、ソフト自体のプロキシ設定を確認してください。デスクトップでは、現在のHTTP / SOCKS待ち受けアドレスを手動で設定できます。Androidでは、アプリ別プロキシの対象範囲を確認します。リクエストが届いていない場合は、ルーティングを変更する前に入口を確認してください。

中国本土を除外すると開けないのに、グローバルなら開ける

同じノードを使い、同じ宛先に再度アクセスして、送信先タグを比較します。中国本土を除外したときに直接接続へ振り分けられている場合は、そのドメイン名と名前解決されたIPアドレスのルールを確認してください。例外ルールを追加する場合は、対象ドメインのプロキシルールを、より広範囲に一致する直接接続ルールより前に配置します。IPアドレスの範囲全体を安易に変更しないでください。

直接接続に切り替えても、Webページにプロキシエラーが表示される

直接接続のルーティングでも、ローカルのコアがリクエストを受け取る必要があります。コアが停止しているのに、ブラウザーが127.0.0.1:10809を参照していると、接続エラーになります。コアを再起動するか、システムプロキシを解除してブラウザーの手動プロキシ設定を削除してから、もう一度テストしてください。

中国本土のサイトがプロキシ経由になる。ルールの問題?

まず一致したドメイン名、名前解決されたアドレス、ルールの適用順を確認します。サイトが海外のCDNを使っている場合や、現在のドメインルールに登録されていない場合があります。直接接続が適切だと確認できたら、対象を絞ったルールを追加してください。ルールデータを更新した後は接続を張り直します。再利用中の古い接続だけを見て判断しないでください。

モードを切り替えても出口が変わらない場合

テストページの既存接続を閉じ、クライアントで設定が再読み込みされたことを確認してから、リクエストを再送します。出口確認サイトで分かるのは、そのリクエストの通信経路だけです。すべてのアプリが同じルーティングを使うことを示すものではありません。ページを何度も更新するより、クライアントのログと照合してください。

日常利用の設定とトラブルシューティングのまとめ

日常の作業や閲覧では、「入口を確認してから中国本土を除外」を基本にします。グローバルは一時的な比較に適しています。同じノード、同じ宛先、同じアプリを使ってルーティングだけを切り替えると、問題の範囲を絞り込めます。どちらのモードでも失敗する場合は、待ち受け、ノード接続、DNS、アプリの接続方法を見直してください。ルーティングモードの名称を切り替え続けても解決しません。

入口と出口を分けて確認すれば、ボタンを推測で選ぶ必要はありません。ログに宛先が表示され、ルールから送信先を説明でき、アプリの設定が待ち受けアドレスと一致する。この3点がそろえば、通信経路を把握できています。