システムプロキシは、対応アプリのリクエストをローカルの接続口に送ります。ルーティングモードは、受け取ったリクエストの出口を決めます。ノードを登録したものの、どのモードを選べばよいか迷っているデスクトップユーザー向けに、まず接続口と出口の違いを整理し、3種類のルーティングと用途を比較します。日常利用では「中国本土を除外」から始め、特定サイトで問題が起きたら、条件をそろえて比較し、ログを確認してから個別ルールを追加しましょう。
システムプロキシとルーティングモード:接続口と出口
v2rayNの「システムプロキシを自動設定」と「グローバル」は別の設定です。前者はOSのプロキシ設定を変更し、その設定に従うブラウザーなどのアプリからローカルのプロキシポートへリクエストを送ります。後者は、コアが受け取ったリクエストに適用するルーティング方針です。入口と分岐路に置き換えるとわかりやすいでしょう。入口を通っていないリクエストは、分岐路を変えても経路が変わりません。
| 設定項目 | 実際の動作 | この設定だけではわからないこと |
|---|---|---|
| システムプロキシを自動設定 | システムプロキシの接続先をv2rayNのローカル待ち受け口にする | すべてのアプリがプロキシを使うとは限らない |
| システムプロキシを解除 | 現在のシステムプロキシ設定を削除する | コアの停止や、アプリに手動設定したプロキシの無効化とは異なる |
| グローバルルーティング | 接続されたアプリのリクエストを通常プロキシ出口へ送る | デバイス全体のすべての通信を引き受けるわけではない |
| 中国本土を除外するルーティング | ドメインとIPのルールに応じて、直接接続とプロキシを振り分ける | 中国本土のすべてのサービスが正しく判定されるとは限らない |
| TUNモード | 仮想ネットワークインターフェース経由で、より多くのアプリの通信を取り込む | コア内のルーティングルールを置き換えるものではない |
ここではWindowsのシステムプロキシを例に説明します。デスクトップ版の画面や、ほかのデスクトップOSでのプロキシ連携方法はバージョンによって異なるため、メニューの場所はインストールしたバージョンで確認してください。メイン画面の「システムプロキシ」メニューから「システムプロキシを自動設定」を選び、ルーティングプリセットは別途設定します。「システムプロキシが有効」という表示だけで、「すべてのリクエストがリモートノードから出ている」と判断しないでください。
グローバル・中国本土を除外・ブラックリスト:通信経路の違い
ルーティングプリセットの表示名は、必ずしも統一されていません。バージョンやインポートしたルールによって「中国本土を除外」と表示される場合もあれば、「ホワイトリスト」と呼ばれるルールセットもあります。「ブラックリスト」は通常、一覧にある宛先だけをプロキシ経由にします。名前は設定の意図を示すものにすぎず、実際の動作はルールの内容や順序、ルールに一致しない場合のデフォルト出口で決まります。以下では一般的な方針を比較し、名称を固定の設定基準とは見なしません。
中国本土を除外:中国本土向けは直接接続、それ以外はプロキシ
おすすめ中国本土の一般的なドメインとIPアドレスのリストを使って直接接続する宛先を判定し、一致しないリクエストは通常プロキシ経由にします。日常利用の出発点として適していますが、ドメインの分類や名前解決の結果、ルールデータの更新状況によって判定は変わります。誤判定された宛先には、明示的な例外ルールを追加してください。
おすすめの用途:中国本土のサービスとプロキシ経由で使うサービスを併用し、少数の例外ルールを管理できる場合
グローバル:接続されたリクエストを優先的にプロキシへ
ルーティングによる問題かどうかを切り分けやすく、接続済みの通信をリモート出口に統一したい場合にも向いています。ただし、プリセットによってはLANへの直接接続やブロックのルールが残ります。中国本土向けのダウンロードもリモートノード経由になることがあり、「グローバル」という名前だけで例外がないとは判断できません。
おすすめの用途:ルーティングの問題を一時的に切り分ける場合や、特定の作業で出口をプロキシに統一したい場合
ブラックリスト:指定した宛先だけプロキシ、ほかは直接接続
ルールに記載したドメインまたはIPアドレスだけをプロキシ出口へ送り、それ以外はデフォルトで直接接続します。プロキシを使う範囲を明確にできますが、新しいサイトやログイン用API、リソース用ドメインを見落とすことがあるため、関連する宛先を継続的に追加する必要があります。
おすすめの用途:少数の既知サービスだけをプロキシ経由にし、宛先リストを漏れなく管理できる場合
「中国本土を除外」とブラックリストの大きな違いは、「未知の宛先」をどう扱うかです。「中国本土を除外」では未知の宛先は通常プロキシへ送られ、ブラックリストでは通常直接接続になります。新しいサービスがトップページ、認証、静的リソースの3つのドメインを使う場合、ブラックリストにトップページのドメインだけを登録すると、ページは開いてもログインに失敗することがあります。これはノードのプロトコル自体に問題があるとは限りません。
結論:まずデフォルトの出口を選び、次に例外を設定する
新しいサービスを頻繁に使うなら、まず「中国本土を除外」を試してください。決まったサービスだけをプロキシ経由にする場合は、ブラックリストを検討します。グローバルに切り替えて問題が解消した場合は、VMessやVLESSのノードをすぐに変更せず、対象ドメインに一致するルールを確認しましょう。
ルールの順序とDNS:同じモードでも結果が変わる理由
コアはルーティングルールを順番に確認し、最初に一致したルールで出口を決めます。特定ドメイン向けのプロキシ例外を広範な直接接続ルールの後に置くと、適用されないことがあります。LAN内の宛先にも注意が必要です。ルーターの管理画面、プリンター、社内ファイルサーバーなどへのアクセスは通常直接接続が必要で、リモートノードへ送るべきではありません。
- 具体的な例外を先に配置します。たとえば
full:service.exampleをプロキシ経由にする場合は、このドメインに一致する可能性がある汎用ルールより前に配置してください。 - 次にLANと地域別のルールを配置します。
geoip:privateはプライベートIPアドレスの判定に使われます。geosite:cnとgeoip:cnは、それぞれドメインリストとIPアドレスリストに基づいています。 - 最後にデフォルト出口を確認します。一般的なXray/V2Rayの設定では、ルーティングルールに一致しないリクエストは通常、最初のアウトバウンドを使います。生成された設定を確認し、ルールを省略すれば自動的にプロキシ経由になると思い込まないでください。
以下は、例外ルールを先に置くことを示すルーティング部分の例です。そのままインポートできる完全な設定ではありません。アウトバウンドに proxy と direct の2つのタグがすでにあり、使用中のコアが該当カテゴリのデータファイルを読み込んでいることを前提としています。例のドメインは説明用の架空の値で、実在するサービスのアドレスではありません。
{
"routing": {
"domainStrategy": "AsIs",
"rules": [
{
"type": "field",
"domain": ["full:service.example"],
"outboundTag": "proxy"
},
{
"type": "field",
"ip": ["geoip:private"],
"outboundTag": "direct"
},
{
"type": "field",
"domain": ["geosite:cn"],
"outboundTag": "direct"
},
{
"type": "field",
"ip": ["geoip:cn"],
"outboundTag": "direct"
}
]
}
}
そのため、「中国本土のサイトなのにプロキシ経由になる」場合も、プリセットが機能していないとは限りません。ドメインリストに含まれていない、アプリがIPアドレスだけを送っている、ルーティング時に取得したアドレスが中国本土のIPリストに含まれていない、といった原因が考えられます。反対に、海外サービスが中国本土向けのリソース用ドメインを使っていると、「中国本土を除外」でも一部のリクエストは直接接続になります。振り分けの単位は個々のリクエストであり、ブラウザーのタブやサイトのブランド名ではありません。
日常の設定:ブラウザーと個別アプリを分けて考える
まず接続方法を1つに絞り、設定をできるだけシンプルにするのがおすすめです。ブラウザーがシステムプロキシに従う場合は、「システムプロキシを自動設定」+「中国本土を除外」から試してください。コマンドラインツール、ゲーム、ダウンロードツールなどはシステムプロキシを参照しないことがあるため、それぞれのプロキシ設定を確認します。接続範囲が不足していると確認できた場合に限り、TUNの利用を検討してください。複数の通信取り込み方式を同時に有効にすると、リクエストがどこから入ったのか判断しにくくなります。
設定方法:アプリの接続方式に合わせて選ぶ
ブラウザーとシステム設定に従うアプリ
- 「システムプロキシ」で「システムプロキシを自動設定」を選びます。
- 「中国本土を除外」するルーティングを選び、よく使う中国本土のサービスとプロキシ対象で動作を確認します。
- ブラウザーに個別のプロキシ設定がないか確認し、システム設定が上書きされないようにします。
- 終了前にシステムプロキシを解除します。特に、ローカルのコアを停止する場合は忘れずに解除してください。
システムプロキシを参照しないアプリ
- まずアプリ内でローカルのプロキシアドレスと、対応する接続プロトコルを設定します。
- たとえばSOCKSを使う場合は、ローカルの接続口が実際にSOCKSに対応しているか確認します。
- アプリにプロキシ設定がなく、通信を取り込む必要がある場合は、環境に応じてTUNを有効にします。
- TUNを有効にした後、LANへのアクセス、DNS、ルーティングの競合を再確認します。
まずアプリのリクエストがコアに届いていることを確認してから、出口の方針を比較してください。接続口が機能していない状態では、グローバルと「中国本土を除外」を切り替えても原因を特定できません。
サブスクリプションはノード情報を提供し、ルーティングはリクエストの出口を選択します。サブスクリプションを更新しても、ローカルルールの順序ミスは通常解消しません。ノードが使えない場合は、3種類のルーティングすべてで失敗する可能性があります。特定のモードだけ失敗するなら、ルールやDNSを確認しましょう。設定を変えるときは一度に1項目だけ変更し、元の設定も記録してください。ノード、接続口、ルーティングを同時に変更すると、比較できなくなります。
条件をそろえてテスト:同じノードでモードを比較
速度測定の結果だけでは、アプリのリクエストがどのルートを通ったかは確認できません。遅延テストでわかるのは、特定のテスト先に接続できるかどうかであり、ブラウザーのリクエストが同じ接続口を通った証明にはなりません。よく使う中国本土のページ、プロキシ経由が必要なページ、LAN内の宛先を1つずつ選び、ノードを変えずに3つのモードで結果を記録してください。根拠のない遅延や速度の数値は示しません。判断にはローカルのログと実際のリクエストを使います。
- コアが起動していることを確認します。起動ログで、待ち受けの失敗、ポートの競合、ルールデータファイルの読み込みエラーがないか確認してください。
10808を別のプロセスが使用している場合は、まず接続口の問題を解消します。 - まずグローバルでテストします。リクエストを新しく発生させ、プロキシ対象に現在のノード経由でアクセスできることを確認してください。ページがキャッシュされている場合、再読み込みだけでは不十分なことがあります。該当タブを閉じるか、テストするアプリを再起動してください。
- 次に「中国本土を除外」でテストします。同じ宛先で結果を比較してください。アクセスログがある場合は、宛先アドレスとアウトバウンドのタグを確認します。タグは
proxyやdirectとは限らないため、現在の設定に合わせて判断してください。 - 最後にブラックリストでテストします。トップページ、認証API、リソース用ドメインがすべてプロキシ対象に含まれているか確認し、一部のリクエストだけ直接接続になっていないか確認してください。
- 例外は必要最小限にします。まず正確なドメインルールを追加し、1つのAPIを直すためにすべての通信へ対象を広げないでください。正常に動作することを確認してから、設定を保存しましょう。
切り分けの手順:グローバルは成功、振り分けで失敗する場合は一致ルールを確認
ノードと接続口を変えずに新しい接続を作り、グローバルでは成功するのに「中国本土を除外」では失敗する場合は、まず対象が先行する直接接続ルールに一致していないか確認し、次にDNSを調べます。どちらのモードでも失敗するなら、ノード接続、ローカル待ち受け、アプリのプロキシ設定を先に確認してください。ルーティングルールを追加し続ける必要はありません。
既存の長時間接続は、モードを切り替えてもすぐに出口を選び直すとは限りません。そのため、比較テストでは新しい接続を発生させてください。ログにサブスクリプションのURL、ノードの認証情報、アクセス先が含まれている場合は、スクリーンショットを共有する前に必ず隠してください。接続経路をさらに調べる場合は応用ガイドの接続トラブルシューティングを、基本的なインストールと接続口の設定はクイックスタートをご覧ください。
よくある質問:プロキシを有効にしても問題が起きる場合
グローバルを選んだのに、アプリが直接接続になるのはなぜですか?
まず、そのアプリがシステムプロキシに従うか確認してください。グローバルが処理するのはコアに届いたリクエストだけです。アプリ内に正しいローカルHTTPまたはSOCKS接続口を設定するか、必要に応じてTUNを構成してください。その後、新しい接続を作ってアクセスログを確認します。v2rayNのルーティング名だけを見て判断しないでください。
「中国本土を除外」にしたのに、中国本土のサイトもノード経由になる場合はどうすればよいですか?
まず該当するリクエストのドメインを記録し、ドメインルールで判定されているか確認します。次に、接続口がドメイン名とIPアドレスのどちらを受け取っているか、現在のルーティング時の名前解決方針を確認してください。直接接続にしたいと確実に判断できる宛先には、具体的なルールを追加し、広範なプロキシルールより前に置きます。中国語のページを表示するサイトを、すべて同じ種類の宛先として扱わないでください。
ブラックリストにトップページを追加したのに、ログインに失敗するのはなぜですか?
ブラウザーの開発者ツールでネットワークパネルを開き、失敗したリクエストのホスト名を確認します。認証、CAPTCHA、リソース取得に別のドメインが使われていないか調べてください。プロキシ経由にする必要がある関連ドメインをルールに追加し、既存の接続を閉じてから再試行します。範囲の広いドメインルールを、確認せずに追加することは避けてください。
v2rayNを終了したら、ブラウザーでインターネットに接続できなくなりました。
システムプロキシが、すでに待ち受けを停止したローカルポートを指したままになっていないか確認してください。v2rayNを再度起動し、「システムプロキシ」→「システムプロキシを解除」を選びます。または、Windowsの「設定」→「ネットワークとインターネット」→「プロキシ」で設定を確認してください。組織の管理下にあるデバイスでは、既定のプロキシ要件に従ってください。
TUNを有効にした後も、「中国本土を除外」を選ぶ必要はありますか?
ルーティング方針は別途選ぶ必要があります。TUNが広げるのは通信の取り込み範囲であり、直接接続かプロキシ出口かを自動で決めるものではありません。使用中のバージョンのTUN設定が現在のルーティングを実際に使っていることを確認し、中国本土のサービス、プロキシ対象、LAN内の宛先でテストしてください。ほかの通信制御ツールを使っている場合は、インターフェースやルーティングの競合も確認しましょう。