v2rayNGを初めて使う方や、画面ロック後に接続が切れる、特定のアプリだけVPNを経由しないといった問題がある方向けです。VPNの許可、バックグラウンドでの動作、通信対象の違いを確認し、バッテリー設定とアプリ別ルールを調整します。最後に、アプリ使用中・画面ロック中・ネットワーク切り替え後の3段階でテストし、問題の箇所を特定します。
VPNの許可とノードへの接続は別の問題
v2rayNGはAndroid向けクライアントで、プロキシ接続の処理にXrayコアを使用します。AndroidのVpnServiceを通じて仮想ネットワークインターフェースを作成し、設定条件に合うアプリの通信をローカルの処理経路に渡します。システムにVPNアイコンが表示されても、VPNインターフェースが作成されたことを示すだけです。接続先ノードが利用可能であることや、すべてのアプリがVPN経由で通信していることを意味しません。
サービスを初めて起動すると、AndroidにVPN接続のリクエストが表示されます。許可すると、クライアントがインターフェースを作成できるようになります。この許可は、SMSや連絡先、デバイス管理の権限とは別です。VMessやVLESSなどのノード設定が正しいか、TLSハンドシェイクが成功するかも個別に確認してください。同じサブスクリプションをデスクトップ版v2rayNで使えていても、スマートフォン側の許可やバッテリー制限が原因でないとは限りません。
ここで示したポートは、テスト対象を説明するためのものです。HTTPSサイトへのアクセスでは通常、接続先の443番ポートを使います。一方、ノードサーバーではサブスクリプションに記載されたポートを使用してください。Webサイトにアクセスできないからといって、ノードのポートを一律に443へ変更しないでください。Androidの仕事用プロファイルには独立したVPN環境がある場合もあります。テストするアプリがどのプロファイルに属しているかも確認しましょう。
確認のポイント:まずインターフェース、次に通信経路
VPNが確立されていない場合は、許可とサービスの起動を確認します。インターフェースがあるのにWebサイトを開けない場合は、ノード、DNS、ルーティングを調べてください。この2種類の問題を混同して、何度も再インストールしないようにしましょう。
初回接続:VPNの許可・サービス起動・競合の確認
以下では、一般的な日本語表示のメニュー名を記載しています。v2rayNGのバージョンやAndroid端末のメーカーによって、名称や場所が異なる場合があります。表示が見つからない場合は、「VPN」「通知」「バッテリー」「アプリ別VPN」などの機能名で探してください。デスクトップ版クライアントのメニュー手順は当てはまりません。
-
ノードを確認
v2rayNGのメイン画面でインポート済みの設定を選び、サーバーアドレス、ポート、通信方式を確認します。サブスクリプションURLと個別ノードの設定は用途が異なります。サーバーアドレス欄にサブスクリプションURLを入力しないでください。
-
VPN接続を許可
メイン画面右下の起動ボタンをタップし、AndroidのVPN接続リクエストで「OK」を選びます。リクエストをキャンセルした場合は、アプリに戻ってサービスを起動してください。ノードを選択しただけでサービスが動作中だと判断しないようにしましょう。
-
競合を確認
システムの「設定」→「ネットワークとインターネット」→「VPN」を開き、現在の接続を確認します。VPNインターフェースを使うファイアウォールやフィルタリングアプリ、別のVPNサービスは互いに置き換わることがあります。競合するサービスを停止してからテストしてください。
-
通知を許可
システムの「設定」→「アプリ」→「v2rayNG」→「通知」を開き、必要に応じてサービス通知を許可します。Android 13以降では、通知の許可とVPNの許可は別々です。通知を拒否しても、VPNの許可が拒否されたことにはなりません。
-
接続を確認
アプリを前面に表示したまま、アクセスできることが分かっているHTTPSページを開き、クライアントのサイドメニューから「ログ」を確認します。まず接続エラーが続いていないかを確認してから、バックグラウンド設定を変更してください。
画面ロック後に切断される場合:バッテリー最適化の設定
アプリ使用中は接続でき、画面ロック後に切れる場合は、バックグラウンド制限を優先して確認しましょう。Androidのバッテリー最適化、メーカー独自のバックグラウンド管理、ネットワークの切り替えは、いずれも長時間接続に影響することがあります。バッテリー制限を解除するとプロセスが制限されにくくなりますが、ノードへの接続不可、サーバー側のアイドルタイムアウト、モバイル回線の圏外などは解決しません。
- アプリのバッテリー設定:一般的なAndroidでは、「設定」→「アプリ」→「v2rayNG」→「アプリのバッテリー使用量」を開き、「制限なし」または「バックグラウンドでの使用を許可」を選びます。システムによっては、「バッテリー最適化」→「すべてのアプリ」に同様の設定があります。
- メーカー独自の起動管理:「アプリの起動管理」がある場合は、v2rayNGのバックグラウンド動作を許可します。自動起動の設定はアプリの起動を管理するもので、プロキシ接続が必ず自動で確立するわけではありません。
- データ通信の制限:アプリ情報の「モバイルデータとWi-Fi」または「データ使用量」を開き、バックグラウンドデータが禁止されていないか確認します。データセーバーを有効にしている場合は、対象アプリのデータ通信を制限しない設定も確認してください。
- 最近使ったアプリでロック:メーカーによっては、最近使ったアプリの画面でアプリをロックできます。補助的な対策として利用できますが、システムにアプリを強制停止された場合は、ロックだけでは不十分です。アプリを開き直してサービスを起動してください。
最初から端末全体の省電力機能をすべて無効にする必要はありません。まずv2rayNGのアプリ単位の設定だけを変更し、変更前後の動作を記録しましょう。バックグラウンドでの動作には多少のバッテリーを消費しますが、通信量や電波状況、接続頻度によって異なるため、すべての端末に当てはまる固定の割合はありません。
最近使ったアプリから消すと切断されるのは正常?
タスクを終了したときの動作はメーカーによって異なります。サービスを再起動したら、まずタスクを手動で終了せず、ホームボタンでホーム画面に戻るだけでテストしてください。その状態で画面ロック後も接続できる場合は、メーカー独自のバックグラウンド管理やタスクロックを確認します。
「制限なし」にしても切断されるのはなぜ?
まず、切断時にVPNインターフェースが残っているか確認します。インターフェースがあり、クライアントも終了していない場合は、ネットワーク切り替え後の再接続、ノードへの到達性、ログを確認してください。バッテリー設定をむやみに追加しないようにしましょう。
通知が消えたら、プロセスが終了したということ?
通知だけで判断することはできません。システムのアプリ通知許可、VPN設定の接続状態を確認してから、クライアントに戻ってサービスの状態を確認します。Android 13以降では、通知を許可しなくてもフォアグラウンドサービスが必ず停止するわけではありません。
起動後に自動接続される?
バッテリー最適化の対象外にしても、自動接続が有効になるわけではありません。再起動後はクライアントとシステムVPNの状態を実際に確認してください。クライアントの起動関連設定やシステムの常時接続機能を使う場合も、それぞれ期待どおりに動作するか確認が必要です。
アプリ別VPN:選択したアプリをVPNに含めるか除外するか
v2rayNGのサイドメニューから「設定」→「アプリ別VPN」を開き、機能を有効にして「バイパスモード」を確認します。一般的には、バイパスモードをオフにすると選択したアプリがVPNに含まれ、オンにすると選択したアプリが除外されます。現在のバージョンで表示が異なる場合は、画面に表示されるモードの説明に従ってください。
この設定で決まるのは、どのアプリがVPNインターフェースに入るかです。特定のドメインへの通信をリモートプロキシ経由にする設定ではありません。アプリがインターフェースに入った後も、Xrayのルーティングルールによって一部の通信が直接接続またはブロックされることがあります。「ブラウザーを選択した」ことと「ブラウザーのすべてのリクエストがリモート経由になる」ことは別です。
選択したアプリだけをVPNに含める
おすすめアプリ別VPNを有効にし、バイパスモードをオフにして、動作確認に使うブラウザーを1つだけ選択します。対象を絞ることで、アプリの選択、ノード接続、ルーティングのどこに問題があるかを切り分けやすくなります。初回のトラブル対処にはこの方法がおすすめです。
適しています:初回設定、少数のアプリだけでVPNを使う場合、テストの基準を作る場合。
選択したアプリをVPNから除外
アプリ別VPNを有効にし、バイパスモードをオンにして、VPNから除外するアプリを選びます。通常、選択していないアプリはVPNに入り、その後ルーティングルールに従って通信します。VPN以外の接続をシステムでブロックしている場合、除外したアプリはネットに接続できないことがあります。
適しています:大半のアプリをVPN経由にし、一部のアプリだけローカルネットワークを直接使う場合。
アプリ別の制限をオフにする
アプリ別VPNを無効にし、VPN設定に合う通信を対象にしたうえで、ルーティングで振り分けます。広い範囲の通信をVPNに取り込んでも、すべての接続先がプロキシ経由になるわけではありません。また、仕事用プロファイルのアプリにも同じ設定が適用されるとは限りません。
適しています:アプリごとの振り分けは不要で、主にドメインやアドレスのルールで通信を分ける場合。
アプリ一覧を保存したら、v2rayNGのサービスを停止して再起動し、新しい一覧でVPNインターフェースを作成します。古い接続やキャッシュの影響を避けるため、対象アプリも終了してから開き直してください。新しくインストールしたアプリも、現在のモードに応じて確認します。選択したアプリだけをVPNに含めるモードでは、通常は手動で追加が必要です。除外モードでは、初期状態でVPNの対象に含まれる場合があります。
アプリ別ルール・DNS・ルーティングの確認手順
特定のアプリだけ使えない場合は、まずVPNの対象になっているかを確認し、その後ルーティングとDNSを調べます。AndroidのプライベートDNS、アプリ内蔵の暗号化DNS、クライアントのDNS設定は、名前解決の経路に影響する場合があります。VPNを有効にしただけで、すべてのDNS問い合わせが特定のサーバーを使うとは限りません。
| 症状 | 最初に確認する項目 | 次の対処 |
|---|---|---|
| ブラウザーは使えるが、対象アプリは使えない | アプリ一覧、バイパスモード、プロファイル | 対象アプリが想定どおりVPNの対象になっているか確認し、サービスとアプリを再起動してもう一度テストします。 |
| VPN対象のアプリがすべて使えない | ノード、ネットワーク、コアのログ | アプリを前面に表示してテストし、接続タイムアウト、名前解決エラー、TLSエラーを確認します。まずアプリ一覧は変更しないでください。 |
| VPNから除外したアプリがネットに接続できない | VPN以外の接続をブロックするシステム設定 | システムのVPN設定を確認し、そのセキュリティ設定が元の通信要件に合っているか確かめます。 |
| 一部のドメインだけ失敗し、ほかは正常 | DNSとドメイン別ルーティングルール | 該当する時刻のログを確認し、名前解決の結果と適用されたルールを一つずつ調べます。 |
プライベートDNSを調べる場合は、システムの「設定」→「ネットワークとインターネット」→「プライベートDNS」で現在の設定を記録し、一時的に「自動」に切り替えて比較します。システムによってメニュー名が異なる場合があります。この操作は原因を切り分けるためのもので、暗号化DNSを恒久的に無効にするためのものではありません。テスト後はネットワーク要件に合わせて元に戻し、クライアントのDNS設定も確認してください。
手順:一度に変更するのは1項目だけ
ノードとネットワークを固定し、まずアプリのVPN対象範囲だけを変更します。対象範囲が正しいと確認できたら、DNSまたはルーティングを個別に調整します。複数の項目を同時に変更すると、接続が戻っても何が有効だったのか判断できません。
3段階のテストでバックグラウンドの安定性を確認
以下は再テストの手順であり、特定の端末での実測結果ではありません。テスト中は同じノード、同じページを使い、開始時刻、ネットワークの種類、サービスの状態を記録します。1回の遅延測定だけで継続的な通信を判断しないでください。接続に成功しても、画面ロック後に使えるとは限りません。
- アプリ使用中に2分:Wi-Fiでv2rayNGを起動し、選択したブラウザーで対象ページを2回開きます。この段階で失敗する場合は、バックグラウンドのテストに進まず、ノードまたはルールを修正してください。
- 画面ロック中に10分:ホーム画面に戻って画面をロックします。タスクは手動で終了しないでください。ロックを解除したら、まずVPNの状態を確認し、その後ページを再読み込みします。サービスが停止したのか、最初のリクエストだけ遅いのか、タイムアウトが続くのかを記録してください。
- ネットワーク切り替え後に再テスト:Wi-Fiからモバイルネットワークに切り替え、接続が安定してから同じページを開きます。切り替え後だけ失敗する場合は、まずサービスを再起動して接続が復旧するか確認してください。すぐにバッテリー最適化の設定が原因だと決めつけないでください。
ログのtimeoutは、何らかの処理がタイムアウトしたことを示すだけです。接続先と時刻をあわせて判断してください。failed to lookupは名前解決段階のエラーを示す可能性があります。connection refusedは通常、接続先または中間の機器から明示的に拒否されたことを意味します。エラー1行だけでは、Androidのバックグラウンド制限が原因とは断定できません。ノードのプロトコルが原因とも限りません。
最終的に、アプリ使用中は接続できること、画面ロック後もサービスと通信が復旧すること、指定したアプリが想定どおりVPNの対象になることの3点を確認します。満たされない項目だけを対象に、該当する層を調べてください。コアの設定、ノード、バッテリー設定を同時に変えるより、動作している設定を維持しながら切り分けられます。