ノードを追加したものの、接続のたびに許可を求められる、画面ロック後に切断される、一部のアプリだけプロキシを使いたいといったAndroidユーザー向けの記事です。まずv2rayNGのVPN接続状態を確認し、次にバックグラウンドのバッテリー制限を調整して、最後にアプリごとの設定を選びます。各手順に確認方法を示し、ノードの問題、システム制限、アプリ選択の誤りを切り分けます。
VpnServiceの許可とノード接続の違い
v2rayNGはXrayコアを使用するAndroidクライアントです。一般的なVPNモードでは、AndroidのVpnServiceを使って端末内に仮想ネットワークインターフェースを作成し、対象アプリの通信をコアに渡します。その後、ルーティングルールに基づいて直接接続、プロキシ経由、またはブロックに振り分けます。このインターフェースはノードサーバーではありません。システムにVPN接続中と表示されても、接続先のノードが使えるとは限りません。
メイン画面の接続ボタンを初めてタップすると、通常はシステムに「接続リクエスト」が表示され、アプリにVPN接続の設定を許可するよう求められます。ここで許可するのは端末の通信をVPNに通す権限であり、サブスクリプションへのログイン権限ではありません。ノードのアドレス、ポート、UUID、トランスポート方式、TLS設定に誤りがあれば、許可後も接続できないことがあります。
-
ノードを選択
v2rayNGのメイン画面で使用する設定を選び、接続ボタンをタップします。まずは接続できることが分かっている設定で確認し、サブスクリプション、ルーティング、アプリ一覧を同時に変更しないでください。
-
接続を許可
Androidの「接続リクエスト」画面で許可します。画面を操作できない場合は、フローティングウィンドウや画面フィルターなどのオーバーレイを閉じてから、クライアントで接続をやり直してください。
-
システムの状態を確認
システムの「設定」を開いて「VPN」を検索し、接続先がv2rayNGになっていることを確認します。ステータスバーのアイコン表示はシステムによって異なるため、アイコンだけで正常に動作しているか判断しないでください。
-
実際の通信を確認
プロキシ対象のブラウザーで確認したいページを開き、同時にクライアントの「ログ」を確認します。VPNが正常に接続されているのにリクエストがタイムアウトする場合は、ノードとルーティングを調べてください。システムの許可を何度も取り消す必要はありません。
接続が切り替わる場合:まずVPNの競合を確認
同じAndroidユーザーまたはプロファイル内では、通常、VpnServiceで作成できるVPN接続は1つです。ローカルVPNを使う別の通信フィルター、セキュリティアプリ、企業向け接続を起動すると、v2rayNGの接続が置き換わることがあります。これはバックグラウンドでの省電力制御とは別の問題です。仕事用プロファイルには独自の管理ポリシーが適用される場合もあり、個人用プロファイルと同じ条件とは限りません。
- 接続直後に切断される:システムの「設定」→「VPN」を開き、別のアプリが接続を引き継いでいないか確認します。もう一方のVPNを停止してから、v2rayNGを起動して試してください。
- 接続のたびに許可を求められる:確認中に別のVPNを有効にしていないか、プロファイルを切り替えていないか、クライアントを再インストールしていないか確認します。こうした操作で許可状態が変わることがあり、設定ファイルの破損とは限りません。
- クライアントを停止するとすべてのアプリが通信できない:VPNの詳細設定にある「VPN未使用時の接続をブロック」または同等の項目を確認します。これはシステムの通信制御であり、ノードの正常性を確認する機能ではありません。
- 設定を変更できない:組織が管理する端末の場合は、まず管理ポリシーを確認してください。管理対象の設定を削除して試すのは避けてください。
最初の切り分けでは、「常時接続VPN」と「VPN未使用時の接続をブロック」を有効にしないことをおすすめします。接続が安定し、アプリごとのルールも想定どおりだと確認してから、これらの機能を検討してください。特に接続のブロックを有効にすると、VPNの対象外にしたアプリが直接インターネットに接続できなくなる場合があります。「バイパス」したアプリが通常のネットワークを必ず使えるとは限りません。
画面ロック後に切断される:バッテリーとバックグラウンドの制限
画面が点灯している間は使えるのに、画面を消すと接続できなくなり、クライアントに戻ると復旧する場合、バックグラウンド制限が原因として考えられます。ただし、それだけで原因を特定することはできません。Wi-Fiの切り替え、サーバー側の障害、スリープ中のネットワーク制限でも似た症状が起こります。切断時にシステムがVPN接続中と表示しているか、クライアントが動作しているかを記録してから、設定を調整してください。
バックグラウンドの確認:システム制限とメーカー独自の設定を分けて確認
Androidのアプリ別バッテリー設定
- v2rayNGのアイコンを長押しして「アプリ情報」を開き、「バッテリー」または「アプリのバッテリー使用量」を探します。
- この設定がある場合は、バックグラウンドでのバッテリー使用を「制限なし」にするか、バックグラウンドでの動作を許可します。
- 「通知」の権限も確認し、接続状態の通知を許可します。Android 13以降では、通知の許可を個別に求められることがあります。
メーカー独自のバックグラウンド管理
- システム設定で「自動起動」を検索し、その項目がある場合はv2rayNGの必要に応じた起動を許可します。
- 「バックグラウンドでの動作」または「バッテリー最適化」で、このアプリに対する終了・制限を緩和します。
- 最近のアプリ一覧からのロック機能がある場合は補助的に使えますが、バッテリー設定の代わりにはなりません。
変更するのはv2rayNGに関するアプリ設定だけにし、端末全体の省電力機能をオフにする必要はありません。制限を緩めるとバッテリー消費が増える場合があるため、必要な設定は残して実際の使い方に合わせて調整してください。
接続状態の通知は、サービスが動作中か判断する手がかりになります。ただし、「通知を許可」と「バックグラウンドでの動作を許可」は別の権限です。通知を許可しなくても、Androidがフォアグラウンドサービスを直接停止するとは限りません。反対に、通知が表示されていても、すべてのリクエストがノードに届いているとは限りません。
- まず画面を点灯した状態で、同じブラウザーから一度アクセスします。時刻とネットワークの種類を記録してください。
- 画面をロックして5分待ち、解除してから同じアプリで同じページを開きます。5分は目安のテスト間隔であり、システムがアプリを終了するまでの時間ではありません。
- 失敗した場合は、まずVPNの接続先とクライアントのログを確認してから再接続し、再接続の前後で何が変わったか記録します。
- Wi-Fiとモバイルデータでそれぞれテストします。どの設定が影響したか分からなくならないよう、各回で変更するバッテリー設定は1つにしてください。
アプリごとのプロキシ:選択したアプリの2つの扱い方
v2rayNGの「設定」→「アプリごとのプロキシ」を開き、まず機能が有効か確認してから「バイパスモード」を確認します。この2つの設定の組み合わせで、一覧にあるアプリの扱いが決まります。通常のモードでは選択したアプリだけがVPNの対象になり、バイパスモードでは選択したアプリがVPNの対象外になります。どのアプリにチェックが付いているかだけでなく、モードも確認してください。
選択したアプリだけをVPNに接続
おすすめアプリごとのプロキシを有効にし、「バイパスモード」をオフにして、プロキシを使うアプリだけにチェックを付けます。まずはブラウザー1つで試しましょう。一覧が短いと、問題発生時に通信がv2rayNGに届いているか判断しやすくなります。
向いているケース:プロキシが必要なアプリが少ない場合、初期設定、トラブルの切り分け。
選択したアプリをVPNの対象外にする
アプリごとのプロキシを有効にして「バイパスモード」をオンにし、VPNから除外するアプリにチェックを付けます。接続対象となるその他のアプリはVPNに接続されます。新しくインストールしたアプリも通常は対象となるため、インストール後に一覧を確認してください。
向いているケース:ほとんどのアプリをVPNに接続し、一部だけ直接インターネットに接続したい場合。
ここで「おすすめ」としているのは、初回設定で動作を確認しやすいためです。選択したアプリだけをVPNに接続する方式が、あらゆる状況で速いという意味ではありません。設定前に、現在の一覧とモードを記録してください。特に、すでに多くのアプリを選択している状態で「バイパスモード」を切り替えると、同じ一覧の意味が逆になります。
-
一覧の意味を確認
「設定」→「アプリごとのプロキシ」を開き、機能を有効にしたうえで「バイパスモード」を使うか決めます。画面に説明が表示される場合は、選択したアプリの扱いについての説明に従ってください。
-
テストするアプリを選択
選択したアプリだけをVPNに接続する場合は、まずブラウザーを1つ選びます。表示名が似ているときはパッケージ名を確認してください。個人用プロファイルのアプリと仕事用プロファイルのアプリは、同じ項目として扱われません。
-
VPNを再接続
設定を保存してメイン画面に戻り、いったん切断してから再接続します。アプリの対象一覧はVPNインターフェースの作成時に反映されるため、一覧を変更しただけで既存の接続に反映されるとは限りません。
-
対象アプリを再起動
古い接続が判断に影響しないよう、対象アプリを終了してから開き直します。選択していないアプリでも確認し、両方の動作が一覧の設定どおりか確かめてください。
アプリごとの一覧とコアのルーティングを分けて確認
アプリごとのプロキシは「どのアプリの通信をVPNに通すか」を決め、コアのルーティングは「VPNに入った通信をどのアウトバウンドに送るか」を決めます。アプリを選択していても、特定のドメインへの通信がルールによって直接接続に振り分けられることがあります。そのため、「選択済みなのにローカルネットワーク経由と表示される」からといって、アプリごとの設定が機能していないとは限りません。まず現在のルーティングモードと対象ドメインのルールを確認し、必要な場合にアプリ一覧を変更してください。
- アプリがVPNの対象になっていない:通常、そのアプリの通信はv2rayNGのコアに届きません。コアのドメインルールを変更しても、アプリの選択ミスは解決しません。
- アプリはVPNに接続されているが、通信が直接接続に振り分けられる:これはルーティングの結果です。システムのVPN許可を何度も切り替えるのではなく、クライアントの現在のルーティング設定を確認してください。
- ページが外部ブラウザーで開く:実際に通信しているのは元のアプリではなく、ブラウザーの場合があります。元のアプリだけを選択しても、外部で開いたページの通信は対象にならないことがあります。
- システムサービスが関係している:ダウンロード、ログイン、プッシュ通知などを別のサービスが処理する場合があります。ログと実際の呼び出し元を確認してから判断し、すべてのシステムアプリを一覧に追加しないでください。
DNSについても別途確認が必要です。アプリによってはシステムのDNSを使い、暗号化DNSを内蔵しているものもあります。ウェブページのキャッシュや既存の接続に以前の結果が残る場合もあります。接続先の確認ページで分かるのはそのリクエストの結果だけで、すべてのアプリやドメインが同じ経路を使っている証明にはなりません。アプリごとの設定を検証するときは、DNSとルーティングの設定を変えず、アプリ一覧だけを調整してください。そうすれば結果を再現しやすくなります。
よくある質問と復旧の手順
許可したのにノードがタイムアウトするのはなぜ?
許可によって確認できるのは、システムがVPN接続の作成を認めたことだけです。まず端末の日付と時刻が正しいか確認し、ノードのアドレス、ポート、トランスポート、TLSの設定を見直して、「ログ」に表示される接続エラーを確認してください。特定のアプリだけ失敗する場合は、アプリ一覧を確認します。VPN対象のすべてのアプリで失敗する場合は、ノードとネットワークを重点的に調べてください。
バッテリー設定を「制限なし」にしても、画面ロック後に切断される場合は?
メーカー独自の自動起動やバックグラウンド管理に別の制限がないか確認し、システムのVPN接続が別のアプリに置き換わっていないかも確認してください。同じアプリでWi-Fiとモバイルデータを個別に試し、バックグラウンドでの終了とネットワーク切り替えの問題を切り分けます。一度に変更する設定は1つにし、再現条件を記録してください。一時的に復旧しただけで解決したと判断しないようにしましょう。
アプリを選んでも変化がありません。サブスクリプションを再インポートすべきですか?
まず「アプリごとのプロキシ」と「バイパスモード」の組み合わせを確認し、v2rayNGを切断して再接続してから、対象アプリを開き直します。サブスクリプションは主にノード設定を提供するもので、アプリ一覧とは別の設定です。アプリごとのルールを変更するたびにサブスクリプションを削除する必要はありません。
バイパス対象のアプリもインターネットに接続できない場合、まず何を確認すればよいですか?
システムの「設定」→「VPN」→現在のVPNの詳細を開き、「VPN未使用時の接続をブロック」が有効か確認します。対象外のアプリを直接インターネットに接続させるには、セキュリティ上の要件を踏まえてこの設定を調整してください。その後、システムのネットワーク、アプリ独自のプロキシ設定、仕事用プロファイルのポリシーを確認します。
設定を復旧するときは、VPNの接続先、バックグラウンドでの動作、アプリ一覧とルーティングの順に確認します。詳しく調べる場合は、トラブルシューティングガイドでネットワークの問題を確認するか、用語集でサブスクリプション、ルーティング、DNSの違いを確認してください。エラーが発生した時刻と必要なログだけを保存し、ログを共有する前にサブスクリプションURL、ノードの認証情報、その他の個人情報を伏せてください。