VMessやVLESSなどのノードをすでに読み込んでいるものの、初回接続が反応しない、画面ロック後に切断される、または一部のアプリだけをプロキシ経由にしたいv2rayNGユーザー向けです。VpnServiceの許可、省電力制限、アプリ別プロキシを順に設定し、ログと接続テストで原因がノード、システム権限、ルーティング規則のどこにあるかを確認します。
初回接続ではVpnServiceの許可を完了する
v2rayNGは一般的なVPNモードでAndroidのVpnServiceインターフェースを呼び出し、ローカルの仮想ネットワークを構築して対象トラフィックを処理します。このシステムインターフェースはリモートVPNプロトコルとは別物で、VMess、VLESS、Trojanなどのノードプロトコルを置き換えるものでもありません。アプリの通信をv2rayNGへ渡し、Xrayコアが現在の設定に従ってリモートの出力先を選択します。
初回にメイン画面右下の接続ボタンをタップすると、通常はシステムの「接続リクエスト」ダイアログが表示されます。許可すると、ステータスバーに鍵またはVPNの状態アイコンが現れます。システムの許可を取得できるVpnServiceアプリは同時に1つだけです。別のネットワークツールが動作中だと、v2rayNGが起動中のままになったり、起動直後に自動停止したりすることがあります。
設定を読み込む
メイン画面右上の「+」をタップし、「クリップボードからインポート」または「QRコードをスキャン」を選択します。サブスクリプションを利用する場合は、左側メニューの「サブスクリプショングループ設定」を開き、リンクを追加してから「サブスクリプションを更新」を実行します。
ノードを選択する
設定一覧に戻り、利用可能な設定を1つタップして左側に選択マークを表示します。インポートだけ済ませて、現在のノードを指定し忘れないようにしてください。
接続を開始する
メイン画面右下の円形の接続ボタンをタップし、Androidの「接続リクエスト」画面でv2rayNGによるVPN接続を許可します。
状態を確認する
画面下部の状態が「未接続」から「接続済み」に変わったことを確認し、右上のメニューから「全設定の実接続テスト」を実行するか、現在の設定の遅延をテストします。
競合を解消する
許可画面が表示されない場合は、まずシステムVPNインターフェースを使用している他のアプリを停止し、「設定」→「アプリ」→「v2rayNG」で強制停止してから、もう一度起動します。
接続ボタンが使え、システムのVPNアイコンも表示されているのにウェブページを開けない場合、VpnServiceの許可は完了している可能性が高いです。この場合は、ノードの有効期限、サーバーアドレス、ポート、TLSの時刻検証、DNS設定を確認します。アプリの権限を繰り返しリセットする必要はありません。端末の時刻が数分ずれているだけで、TLSまたはREALITYを使う設定のハンドシェイクに失敗することがあります。そのため自動日時と自動タイムゾーンは有効にしておきます。
画面ロック後の切断を省電力設定で防ぐ
Androidのバックグラウンド制限は、画面消灯時や低バッテリー時、長時間操作していないときにアプリの動作を抑制します。v2rayNGの画面に「接続済み」と表示されていても、プロセスがシステムに回収されないとは限りません。画面点灯中は正常なのに、画面ロックから数分後にメッセージが遅れ、クライアントを開き直すと復旧する場合は、ノードを頻繁に切り替える前にバッテリー設定を確認してください。
標準的なAndroidの手順は「設定」→「アプリ」→「特別なアプリアクセス」→「バッテリー最適化」→「すべてのアプリ」→「v2rayNG」→「最適化しない」です。端末によっては同じ項目が「設定」→「アプリ」→「v2rayNG」→「バッテリー」にあり、「制限なし」「バックグラウンドアクティビティを許可」「無制限」などと表示されます。目的は、画面ロック後もクライアントがローカルVPNとリモート接続を維持できるようにすることです。
- 省電力制限を解除:v2rayNGのバッテリー設定を「制限なし」または「最適化しない」に変更します。システム全体の省電力モードをオフにするだけでは不十分です。
- バックグラウンド動作を許可:システムに「バックグラウンドアクティビティ」「自動起動」「関連起動」などの項目がある場合は、v2rayNGに必要な権限を許可します。
- フォアグラウンド通知を残す:接続中は実行中サービスの通知をブロックしないでください。これはAndroidのフォアグラウンドサービスが継続動作していることを示すステータス通知です。
- データ通信の制限を除外:「設定」→「ネットワークとインターネット」→「データセーバー」で、v2rayNGのデータ通信を制限なしに許可します。
- 画面ロック後に再テスト:接続したまま30分間画面をロックし、その後Wi-Fiとモバイルネットワークでメッセージ受信とウェブ閲覧を確認します。
ローカルポート10808と10809は、主にプロキシ共有やローカルプロキシを手動指定する場合に使用します。VPNモードの一般的なアプリでは、通常ポートを入力する必要はありません。「設定」→「ローカルポート」を変更した場合は、そのポートに依存する他の端末やアプリも確認してください。ポートを変えても、システムによるバックグラウンド停止は解決しません。
アプリ別プロキシを許可リストまたは除外リストで設定する
アプリ別プロキシは、Androidアプリのうちどれをv2rayNGが構築した仮想ネットワークに入れるかを決めます。これはサーバー側のルーティングとは別の層です。まず端末側で通信をv2rayNGに渡すかどうかを決め、その後、クライアントに入った通信をルーティング規則がプロキシ、直接接続、ブロックのいずれに振り分けます。アプリがVpnServiceの対象外になると、その後のドメイン規則で通信を引き継ぐことはできません。
v2rayNG 1.10.x系列では、左側メニューから「設定」→「アプリ別プロキシ」に進みます。画面によってはメインメニューに「アプリ別プロキシ」が直接表示されますが、主な項目はアプリ別プロキシの有効化、アプリの選択、バイパスモードの切り替えです。変更後は接続を停止して再起動し、VpnServiceに新しいアプリ一覧を反映させます。
選択したアプリのみプロキシを通す
おすすめ一覧でチェックしたアプリだけがv2rayNGに入り、他のアプリはシステム標準のネットワークを使います。対象範囲が明確なので、少数のアプリから検証したい場合に適しています。
向いている用途:仕事用アプリ、ブラウザ、特定のツールだけを必要に応じてプロキシ経由にする場合
選択したアプリをバイパスする
大半のアプリがv2rayNGに入り、一覧でチェックしたアプリだけがローカルネットワークを直接使います。新しく追加したアプリは通常、自動的にプロキシの対象になるため、定期的な確認が必要です。
向いている用途:大半のアプリをプロキシ経由にし、決済、ローカルネットワーク、ダウンロードツールだけを除外する場合
すべてのアプリを対象にする
アプリ別の絞り込みを無効にし、対象にできるすべてのアプリを仮想ネットワークに入れます。その後、ドメインとIPのルーティング規則で具体的な出力先を決定します。
向いている用途:統一したルーティングが必要で、完全なルールセットを管理できる端末
設定を開く
左側メニューを開き、「設定」→「アプリ別プロキシ」の順に進み、「アプリ別プロキシを有効にする」をオンにします。
方向を決める
プロキシを使うアプリが少ない場合は「バイパスモード」をオフにします。大半のアプリでプロキシを使う場合は「バイパスモード」をオンにし、チェックしたアプリを直接接続にします。
アプリを選択する
アプリ名を確認して対象を選びます。システムコンポーネントに詳しくない場合は一括選択を避け、プッシュ通知、オンライン認証、ローカルネットワーク検出への影響を防いでください。
接続を再起動する
メイン画面に戻り、まず接続ボタンをタップして停止し、その後もう一度接続します。ホーム画面に戻るだけで再接続しない場合、古いVpnServiceのアプリ対象範囲が引き続き有効になることがあります。
項目ごとに確認する
プロキシ経由にするアプリと直接接続にするアプリをそれぞれ開き、外部IP、読み込み結果、v2rayNGのログを照合して振り分け方向を確認します。
許可リスト方式は原因を切り分けやすくなります。まずブラウザを1つだけ選び、ノード接続、DNS、ウェブ閲覧が正常であることを確認してから、他のアプリを1つずつ追加します。一度に数十個選ぶと、異常の原因がアプリ固有の制限、ルーティング規則、バックグラウンド設定のどれなのか判断しにくくなります。
サブスクリプション、ルーティング、DNSを層ごとに確認する
サブスクリプションリンクはサーバー設定をまとめて提供し、通常はアドレス、ポート、ユーザー識別子、通信方式、TLSパラメータを含みます。ただし、Androidの省電力権限を自動設定するものではなく、現在のネットワークに適したローカル向けのドメイン振り分けが含まれるとも限りません。更新後にノード名が変わるのは正常ですが、サブスクリプション内のノードを手動で変更すると、次回更新時に上書きされることがあります。
v2rayNGはXrayコアでVMess、VLESSなどの設定を処理します。VLESS、REALITY、その他の組み合わせを選ぶ場合、クライアントのパラメータはサーバー側と完全に一致している必要があります。特にポート、通信方式、Server Name、公開鍵、Short IDを確認してください。接続テストがタイムアウトする場合は、まずサーバーへの到達性を確認します。ログにハンドシェイク関連のエラーが出る場合は、TLSまたはREALITYのパラメータを照合します。
| 確認する層 | 主な役割 | 典型的な症状 | 優先して行う操作 |
|---|---|---|---|
| サブスクリプションとノード | サーバーアドレス、ポート、プロトコルパラメータを提供する | すべてのノードがタイムアウトする、または特定ノードのハンドシェイクに失敗する | サブスクリプションを更新し、端末時刻を確認してから複数ノードをテストする |
| VpnService | アプリの通信をv2rayNGに渡す | 起動できない、すぐ停止する、他のVPNと競合する | インターフェースを占有しているアプリを切断し、許可を取り直す |
| アプリ別プロキシ | どのアプリを仮想ネットワークに入れるか決める | ブラウザは使えるのに、特定のアプリだけ常に直接接続になる | バイパスの方向を確認し、アプリを選択してから再接続する |
| ルーティング規則 | 対象になった通信をプロキシ、直接接続、ブロックのいずれに振り分ける | 一部ドメインの出力先が想定と異なる | 現在のルーティングモードと規則の順序を確認する |
| DNS | ドメインをアドレスに解決し、振り分けと連携する | サーバーには接続できるのに、ドメインのページを開けない | 信頼できるDNSへ切り替え、ドメイン規則とIP規則の整合性を確認する |
DNSとルーティングは同じ振り分け方針にそろえる必要があります。たとえば、あるドメインが直接接続に指定されていても、現在のネットワークに適さない上流DNSから解決結果を取得すると、接続が遅くなったり失敗したりすることがあります。逆に、ドメインを先にIPへ解決した後、規則がドメインだけを対象にしていると、実際にはIP規則に一致して別の出力先になる可能性があります。切り分けでは、まず標準設定でノードを検証し、その後カスタムDNSとルーティングを1項目ずつ戻すほうが、複数の設定を同時に変更するより効率的です。
- 同じノードで異なる2つのネットワークをテストし、端末設定と現在のネットワークの問題を切り分ける。
- Androidの自動日付、自動時刻、自動タイムゾーンがすべて有効になっていることを確認する。
- 「設定」で「事前定義ルール」または現在のルーティングモードを確認し、誤って全通信を直接接続にしない。
- サブスクリプション更新後に現在のノードを選び直し、削除済みの古い設定を参照していないことを確認する。
- DNS、アプリ別プロキシ、ローカルポートを変更した後は、接続を完全に停止してから再接続する。
ログで接続済みなのにアクセスできない原因を特定する
「接続済み」はAndroidがローカルのVpnServiceを確立したことを示すだけで、リモートノードのハンドシェイク成功を意味しません。正しい切り分け手順は、まずクライアントが起動しているかを確認し、次にノードへ接続できるか、最後に対象アプリがプロキシ範囲に入っているかを確認することです。この3層を混同すると、実際の原因に触れないまま許可の取得やサブスクリプションの読み込みを繰り返すことになります。
接続をタップしてもシステムの許可画面が表示されない?
まず「設定」→「ネットワークとインターネット」→「VPN」で既存の接続を切断し、続いて「設定」→「アプリ」→「v2rayNG」で強制停止します。クライアントを再起動して接続をタップすると、システムに接続リクエストが再表示されるはずです。
画面ロックから十数分でメッセージを受信できなくなる?
「設定」→「アプリ」→「v2rayNG」→「バッテリー」で「制限なし」を選び、「特別なアプリアクセス」→「バッテリー最適化」で「最適化しない」に設定します。接続したまま30分間画面ロックして再テストしてください。
ブラウザは使えるのに、別のアプリは使えない?
「設定」→「アプリ別プロキシ」のバイパスモードを確認します。選択したアプリだけをプロキシにする設定なら、対象アプリにチェックが入っていることを確認してください。変更後は必ず接続を停止して再接続します。
サブスクリプション更新後、すべてのノードがタイムアウトする?
まずWi-Fiとモバイルネットワークをそれぞれ1回ずつ試し、自動日付とタイムゾーンを確認します。2種類のネットワークで複数ノードがすべてタイムアウトする場合は、サブスクリプションが有効か、サーバーアドレスとポートが変更されていないかを確認します。
接続済みなのに、どのドメインも開けない?
まず既知の到達可能なIPサービスへアクセスしてDNSの問題かどうかを切り分け、その後v2rayNGの標準DNS設定に戻してテストします。標準設定で正常になる場合は、カスタムDNS、ドメイン規則、IP規則の一致方向を1つずつ確認します。
ログの入口は通常、メイン画面右上のメニューにある「ログを表示」です。起動失敗、接続タイムアウト、接続拒否、TLSハンドシェイク失敗、DNSクエリ失敗などのキーワードに注目すればよく、1行ずつ読む必要はありません。タイムアウトは制限時間内に有効な応答を受信できなかったことを示します。接続拒否はサーバー側のポートが待ち受けていない可能性が高く、ハンドシェイク失敗ではプロトコルと暗号化パラメータを重点的に確認します。
- 第1段階:カスタムルーティングとカスタムDNSを無効にし、既知の利用可能なノードを1つだけ残して基本接続を確認します。
- 第2段階:対象アプリを1つだけアプリ別プロキシに設定し、VpnServiceのアプリ対象範囲を確認します。
- 第3段階:省電力設定を戻して画面ロックテストを行い、バックグラウンドでプロセスが回収されないか確認します。
- 第4段階:DNS、ルーティング、サブスクリプショングループ設定を1項目ずつ戻し、毎回変更する変数を1つに限定します。
普段の利用時に確認する順番
v2rayNGを安定して使う鍵は、パラメータを頻繁に変えることではなく、確認の順番を固定することです。初回インストールではVpnServiceの許可を完了し、次にバッテリー最適化とバックグラウンドアクティビティを設定し、その後アプリ別プロキシを構成します。ノードプロトコル、DNS、ルーティングはシステム権限を確認した後に調整します。これにより、異常時に原因がAndroid、クライアント、サーバー設定のどこにあるかを素早く判断できます。
- サブスクリプションを読み込んだら、まず1回更新し、現在のノードを明示的に選択する。
- 初回接続時にAndroidのVpnServiceリクエストを許可し、ステータスバーの接続アイコンを確認する。
- v2rayNGのバッテリー設定を「制限なし」または「最適化しない」にする。
- プロキシが必要なアプリが少ない場合は、まず「選択したアプリのみプロキシを通す」を使う。
- アプリ別リスト、DNS、ルーティングモードを変更した後は、接続を停止して再接続する。
- Wi-Fi、モバイルネットワーク、30分間の画面ロックという3つの状況で個別に再テストする。
- 障害が発生したらログを保存し、許可、ノード、アプリ範囲、ルーティング、DNSの順に原因を特定する。