システムプロキシは、アプリの通信をローカルのプロキシポートへ送るかどうかを決めます。全般モードと中国大陸を迂回するルーティングは、コアに届いた通信の出口を選びます。普段のブラウジングでは「システムプロキシを自動設定+中国大陸を迂回するルーティング」から始め、振り分けの問題を調べるときだけ一時的に全般モードへ切り替えるのがおすすめです。この記事ではWindows版v2rayNを例に、ポートの確認、コマンドラインでのテスト、ログの見方を解説。「プロキシを有効にしたから全通信がノードを経由する」と思い込まないためのポイントも紹介します。
システムプロキシとルーティングは別々の設定
まず通信がコアに届いているかを確認し、次にコアがどの出口を選ぶかを確認します。v2rayNはノード管理、コアの起動、システムプロキシの設定を行うクライアント画面です。V2RayまたはXrayのコアが通信を受け取り、ルールに照らして振り分け、サーバーへ接続します。サブスクリプションを追加しただけではシステムプロキシは有効にならず、すべてのアプリがプロキシを使うとも限りません。
入口:システムプロキシ
- 対象
- システムプロキシ設定に従うアプリ
- ローカルアドレス
127.0.0.1- ポートの例
10808(実際の待ち受けポートを確認)- 主な役割
- アプリの通信をローカルのプロキシ入口へ送る
アプリがシステムプロキシを無視する場合、ルーティングを切り替えても自動的にコアへ通信が届くわけではありません。
出口:コアのルーティング
- 対象
- コアに届いた通信
- 判定条件
- ドメイン、IPアドレス、ポートなど
- 全般モード
- 通常の通信をプロキシ経由の出口へ送る
- 中国大陸を迂回
- 中国大陸に該当する宛先を直接接続へ振り分ける
モード名はルーティング設定を選ぶための入口にすぎず、実際の動作は生成されたルールによって決まります。
たとえば、システムプロキシに従うブラウザーの通信は、まずローカルの127.0.0.1:10808へ届きます。その後、コアの判断で中国国内のサイトは直接接続し、それ以外はノード経由になります。ブラウザーがローカルプロキシを使っていても、すべての通信がリモートサーバーを経由するわけではありません。「システムプロキシは有効だが、Webサイトへの接続元はローカルネットワーク」という状態が起こるのはこのためです。
全般プロキシと中国大陸を迂回する設定の選び方
中国国内外のサイトを日常的に利用するなら、中国大陸を迂回するルーティングが適しています。特定のドメインが誤って直接接続されていないか確認するときは、一時的に全般モードへ切り替えて比較します。全般ルーティングはネットワークアダプター全体を制御する機能でも、速度を改善する設定でもありません。システムプロキシを無視するアプリを自動的に取り込むことはできず、ゲームや音声通話などのUDP通信が同じ入口を通る保証もありません。
中国大陸を迂回するルーティング
おすすめ中国国内のサービスは通常、直接接続し、それ以外は設定済みのルールに従ってプロキシ経由にします。国内通信の遠回りを減らせますが、ドメインやIPアドレスのルールデータに依存します。分類漏れ、古いデータ、ルールの順序によって誤判定が起きることがあります。
向いている用途:普段のブラウジング、中国国内での業務、海外情報の検索を並行して行う場合。
全般ルーティング
コアに届いた通常の通信をまとめてプロキシ経由の出口へ送るため、振り分けルールの影響を切り分けやすくなります。一方、中国国内のサイトもリモート経由になる場合があり、遅延や地域判定、ログイン時の不正利用検知に影響することがあります。
向いている用途:短時間のトラブルシューティング、プロキシ出口の確認、出口を統一する必要があるアプリ。
直接接続ルーティング
通信はローカルコアを経由した後、ローカルネットワークから宛先へ直接接続する場合があります。ネットワークの基準値を調べるのに便利ですが、「直接接続ルーティング」と「システムプロキシの解除」は別の操作です。
向いている用途:ローカルネットワークからの接続性の比較、ノードに関する問題の切り分け。
「中国大陸を迂回」は、サーバーが中国国内にあれば必ず直接接続するというリアルタイムの地理判定ではありません。通常、コアはルールデータと照合して振り分け、宛先ごとに実際の所在地を調べるわけではありません。地域をまたぐCDN、同じドメインでも異なる名前解決結果、アプリがIPアドレスへ直接接続する動作などによって、最終的な分類が変わることがあります。LANを直接接続できるかどうかも、プライベートアドレスのルールが設定に含まれているか確認してください。モード名だけでは判断できません。
v2rayNの設定手順:入口を確認してからルーティングを選ぶ
以下ではv2rayN 7.xの一般的な画面を例に説明します。マイナーバージョンや画面構成、コアの組み合わせによって項目が異なる場合があります。ポートは現在の設定で確認し、古い解説にある10809をそのまま使わないでください。設定によっては、混合プロキシの入口か、HTTPとSOCKSの個別入口が用意されています。ポート番号が同じでも、プロトコルの種類まで同じとは限りません。
-
ノードを選択
メイン画面のノード一覧から接続先を選び、右クリックして「アクティブサーバーに設定」を選択します。ノードが有効なサブスクリプションまたは既存の設定から追加されており、コアが正常に起動することを確認してください。VMessやVLESSなどのプロトコルの違いは、この記事で扱う「入口とルーティングを分けて考える」方法には影響しません。
-
ポートを確認
「設定」→「パラメーター設定」を開き、ローカルの待ち受けポートと入口プロトコルを確認します。実際の値を控えてください。この記事のテストでは
10808を使いますが、このポートでSOCKSまたは対応する混合プロキシの入口が提供されている場合に限ります。設定を変更したら、新しい設定でコアが再起動していることも確認してください。 -
入口を有効化
メイン画面下部の「システムプロキシ」から「システムプロキシを自動設定」を選択します。タスクトレイのアイコンを右クリックし、「システムプロキシ」から同じ項目を選ぶこともできます。ここでいう「自動設定」はクライアントがシステムプロキシを設定するという意味で、PACによる振り分けを指すとは限りません。
-
ルーティングを設定
メイン画面下部の「ルーティング」から「中国大陸を迂回」に対応するプリセットを選びます。LANを直接接続する要件もプリセットで満たせるか確認してください。比較テストを行うときは、同じ場所で「全般」に切り替えます。ノードの変更やDNSの変更は同時に行わないでください。
-
接続をやり直す
対象のページを閉じて開き直し、必要に応じてアプリも再起動します。切り替え前の出口を使い続ける既存の接続を避けるためです。ログで宛先アドレスと出口のラベルを確認します。普段使うプリセットに戻した後、中国国内の宛先とそれ以外の宛先を1つずつテストしてください。
ブラウザーは使えるのにコマンドラインは失敗する:プロキシを明示してテスト
ブラウザーで接続できても、そのブラウザーの通信経路が使えることしか分かりません。コマンドラインツールは環境変数を参照する場合もあれば、デスクトップのシステムプロキシを無視する場合もあります。アプリ独自のプロキシ設定があることもあります。テスト時にプロキシアドレスを明示すれば、どの設定が読み込まれたか分からないという不確実さを減らせます。
# SOCKS テスト:宛先ドメインの名前解決をプロキシ側で行う
curl --proxy socks5h://127.0.0.1:10808 --connect-timeout 10 --max-time 20 -I https://example.com/
# 直接接続との比較:プロキシ設定を明示的に無視する
curl --noproxy "*" --connect-timeout 10 --max-time 20 -I https://example.com/
Windows PowerShellでは、コマンド冒頭のcurlをcurl.exeにすると、古い環境で同名のコマンドエイリアスが原因となる引数の違いを避けられます。10秒は接続タイムアウトの上限、20秒はリクエスト全体の時間上限です。速度の測定値ではありません。接続が確立した後に、宛先からHTTPエラーが返ることもあります。ステータスコードだけでノードの停止を判断しないでください。
| テスト結果 | まず確認する点 | 次の手順 |
|---|---|---|
| プロキシを明示すると成功するが、ブラウザーでは失敗する | ブラウザーがシステムプロキシを使っているか、別のプロキシ設定がないか | システムプロキシのアドレスを確認し、ブラウザーを再起動してテストする |
| 接続拒否がすぐに表示される | ローカルポートで待ち受けていない、またはポート番号が間違っている | コアの起動ログを確認し、入口プロトコルとポートを照合する |
| ローカルの入口には接続できるが、宛先への接続がタイムアウトする | ノード、サーバー接続パラメーター、リモート側の名前解決、宛先への接続性 | ルーティングは変えず、動作確認済みのノードに切り替えて比較する |
| 全般モードでは成功するが、中国大陸を迂回すると失敗する | ドメインまたはIPアドレスが直接接続に振り分けられ、その経路では接続できない | 適用されたルールを確認し、対象により具体的なプロキシルールを追加する |
socks5hを使うと、宛先ドメインの処理をプロキシ側に任せられます。ドメインをローカルで先に名前解決する方式とは動作が異なります。ただし、プロキシ側で名前解決するからといって、必ずリモートノード経由で問い合わせるとは限りません。実際の動作はコアのDNS設定とルーティングにも左右されます。HTTP入口をテストする場合は--proxy http://127.0.0.1:10808を使えますが、現在のポートがHTTPプロキシに対応していることが前提です。
中国大陸を迂回するルールの優先順位:ドメイン、IPアドレス、デフォルトの出口
ルーティングルールは順番に評価され、通常は最初に一致したルールで出口が決まります。より具体的な例外ルールは、広い範囲を対象とするルールより前に置きます。以下はV2Ray/Xray形式のルーティング設定例で、「プライベートアドレスは直接接続、中国大陸のドメインとアドレスも直接接続、それ以外はプロキシへ」という意図を示しています。起動可能な完全な設定ではありません。
{
"routing": {
"domainStrategy": "IPIfNonMatch",
"rules": [
{
"type": "field",
"ip": ["geoip:private"],
"outboundTag": "direct"
},
{
"type": "field",
"domain": ["geosite:cn"],
"outboundTag": "direct"
},
{
"type": "field",
"ip": ["geoip:cn"],
"outboundTag": "direct"
},
{
"type": "field",
"network": "tcp,udp",
"outboundTag": "proxy"
}
]
}
}
directとproxyは出口のラベルです。完全な設定内のoutboundsに対応する定義が必要で、名前を付けただけで直接接続やプロキシの機能が作られるわけではありません。geosite:cnとgeoip:cnは、コアが利用できるルールデータに依存します。データがないと読み込みに失敗する場合があり、データの内容によって分類結果も変わります。IPIfNonMatchは、ドメインに一致するルールがない場合、IPアドレスを解決してIPルールとの照合を試みる設定です。その結果、振り分け先が変わることがあり、名前解決の処理負荷も増えます。- 最後のルールでは、TCPとUDPの通信を明示的に受け止めます。フォールバックルールがない場合、一致しなかった通信は通常、最初の出口を使います。必ずプロキシ経由になるとは限りません。
v2rayNのルーティングプリセットを使う場合は、クライアントのルーティング設定でルールを管理してください。上記の設定例を実行時に生成されるファイルへ安易に貼り付けないでください。クライアントの再起動や設定の切り替えによって、ファイルが再生成される場合があります。スニッフィングで一部の通信からドメイン情報を補えることはありますが、IPアドレスへ直接接続するすべての通信から確実にドメインを復元できるわけではありません。振り分けの問題を直す唯一の手段として頼るのも避けてください。
デスクトップブラウザーと個別アプリ:入口を分けて設定
おすすめの設定:アプリごとに入口を分け、ルーティングは共通で確認
システムプロキシに従うアプリ
- 「システムプロキシを自動設定」を有効にし、中国大陸を迂回するルーティングから始めます。
- ブラウザーで新しい接続を作り、中国国内とそれ以外の宛先をテストします。
- 特定のサイトだけ問題がある場合は、一時的に全般モードへ切り替えて比較してから、ルールを修正します。
プロキシを個別に設定するアプリ
- アプリ内で
127.0.0.1と実際の待ち受けポートを入力します。 - HTTPまたはSOCKS5を明示的に選び、ポート番号だけをそのまま使わないでください。
- コマンドラインではまずプロキシを明示する引数でテストし、その後に環境変数を設定するか判断します。
システムプロキシはアプリからの入口を設定し、ルーティングは出口を選びます。より広範囲の通信を取り込む必要がある場合は、TUNモードを別途検討してください。
TUNモードは仮想ネットワークインターフェースを通じて、条件に合う通信を取り込みます。一般的なシステムプロキシとは仕組みが異なり、システムルート、権限、DNS、バイパス設定などが関係します。コマンドラインツールがシステムプロキシを使わないからといって、TUNを最初の解決策にしないでください。まずプロキシを明示する引数でテストすると、問題を切り分けやすくなります。
Android版のv2rayNGはXrayコア、v2flyNGはV2Flyコアを使用します。システムVPNインターフェースを介して通信を取り込む仕組みは、WindowsのシステムHTTPプロキシ設定とは異なります。アプリごとの対象範囲とコアのルーティングは、それぞれ確認が必要です。デスクトップ版の操作手順をそのままAndroidに当てはめないでください。モード名が似ていても、入口の仕組みは同じとは限りません。
よくある問題:全般モードが効かない、終了後にネットにつながらない、振り分けがおかしい
全般モードにしたのに、アプリによってはローカル回線から接続されるのはなぜですか?
まず、そのアプリの通信がローカルの入口に届いているか確認してください。同じ宛先をプロキシを明示したコマンドでテストします。成功する場合は、アプリ独自のネットワーク設定を確認してください。全般ルーティングが処理するのはコアに届いた通信だけです。システムプロキシを無視するアプリは、全般モードに切り替えても自動的に取り込まれません。
v2rayNを終了すると、ブラウザーが開けなくなるのはなぜですか?
システムプロキシの接続先が、停止したローカルポートのままになっている可能性があります。v2rayNを再起動し、「システムプロキシ」から「システムプロキシを解除」を選んでから通常どおり終了してください。Windowsでは「設定」→「ネットワークとインターネット」→「プロキシ」から手動プロキシも確認できます。組織によって管理されているプロキシ設定は、既存のネットワーク要件に従ってください。
中国大陸を迂回すると開けず、全般モードなら開ける場合はどうすればよいですか?
ノードは変更せず、問題のドメインを記録し、ログで出口のラベルを確認します。直接接続のルールに一致していた場合は、ルーティングルールで対象ドメインのプロキシ例外を、広範囲の直接接続ルールより前に追加します。アプリで再接続して確認してください。普段の通信をすべて全般モードにする必要はありません。
全般モードにすると中国国内のサイトが遅くなります。プロトコルを変更すべきですか?
まず中国大陸を迂回する設定に戻し、同じページで新しい接続を試します。直接接続に戻すと改善するなら、原因はVMessやVLESSそのものではなく、通信経路が遠回りしている可能性が高いです。原因を特定できなくなるため、プロトコル、ノード、DNSを同時に変えず、ルーティングだけを変更して比較してください。
システムプロキシを有効にすると、ドメインの名前解決も必ずノード経由になりますか?
必ずしもそうではありません。アプリが独自に名前解決する場合や、ブラウザーのセキュアDNSが有効な場合があり、コアにも独自のDNS設定があります。まず通信の入口と名前解決の経路を分けて考え、ブラウザーのDNS設定とコアのDNS設定を確認してください。システムプロキシの設定や出口IPだけでは、名前解決の経路を証明できません。
最終的な判断では、次の3点を確認します。ローカルで正常に待ち受けているか、宛先への通信がコアに届いているか、ログでどの出口が選ばれたか。出口IPの確認結果が示すのは、そのときの確認リクエストだけであり、端末全体の通信状況ではありません。「入口→ルーティング→ノード」の順で調べると、モードを何度も切り替えるより再現性のある結論にたどり着きやすくなります。