v2rayNGの使い方:VpnServiceの許可・バッテリー最適化の除外・アプリ別VPN設定

Android版v2rayNGの切断やプロキシ漏れは、システム設定が原因の場合があります。VpnServiceの許可、バッテリー最適化の除外、アプリ別VPN設定を解説します。

この記事のポイント

ノードをインポート済みなのに、接続許可のダイアログが表示されない、画面ロック後に停止する、一部のアプリだけ通信できないといった場合に役立ちます。システムの許可、バックグラウンド動作、アプリの選択、カーネルのルーティングの順に確認すると、「通信がVPNに取り込まれていない」のか「取り込まれた後に接続できない」のかを切り分けられます。ノードを何度も変更する前に、まず確認してみましょう。メニュー名はv2rayNGのバージョンや端末のシステムによって異なる場合があるため、現在の画面に表示される説明に従ってください。

1. VPNによる通信の取り込み・カーネル接続・ノードの利用可否を切り分ける

v2rayNGはAndroid用クライアントで、Xrayカーネルを使ってプロキシ接続を処理します。VpnServiceはAndroidが提供するローカルの仮想ネットワークインターフェース機能であり、ノードのプロトコルではありません。また、端末とリモートサーバーの接続が確立したことを示すものでもありません。システムにVPNアイコンが表示されても、VPNサービスが起動したことが分かるだけで、VMessやVLESSのノードが利用可能とは限りません。

VPNモードでは、アプリの通信がまず仮想インターフェースに入り、クライアントの設定に応じてカーネルに渡されます。ローカルプロキシポートだけを開くモードの場合、通常は他のアプリ側でもプロキシ設定が必要です。端末全体の通信をVPNが取り込む前提で判断しないでください。まずサイドバーの「設定」で動作モードを確認してから、接続をテストしましょう。

API 21
Android 5.0以降では、VPNアプリの許可・除外機能を利用可能
API 23
Android 6.0以降では、省電力機能Dozeを導入
1つ
同じユーザーまたはプロファイルで同時に有効化できるVPNサービス

これらはシステム機能の制限であり、クライアントの最低対応バージョンを示すものではありません。仕事用プロファイルと個人用プロファイルには、それぞれ管理ポリシーが適用される場合があります。企業端末のVPN制限は管理者に確認してください。一般のスマートフォン向けの許可手順で回避することはできません。

2. VpnServiceの許可:システムの確認画面とVPNの競合を確認

VPNモードを初めて起動すると、通常Androidに接続要求が表示され、このアプリによるVPN接続を許可するか確認されます。アプリ名を確認してから許可してください。この許可はカメラやストレージなどの一般的な権限とは異なり、通知の許可でも代用できません。すでに許可が保存されている端末では、次回以降に確認画面が表示されないことがあります。

  1. 以前のVPN接続を切断する

    システムの「設定」→「ネットワークとインターネット」→「VPN」を開き、他のVPNを切断します。機種によっては「接続と共有」→「VPN」にあります。ローカルVPNを使うファイアウォールやフィルタリングアプリが、VPNの枠を使用している場合もあります。

  2. 常時接続の設定を確認する

    既存のVPN設定の横にある設定ボタンを開き、「常時接続VPN」と「VPN未接続時の通信をブロック」を確認します。他のアプリに設定されている場合は、現在の設定を控えてから、必要に応じて変更してください。

  3. 起動して許可する

    v2rayNGのメイン画面に戻り、インポート済みのノードを選んで右下の起動ボタンをタップします。システムの接続要求で許可した後、ステータスバーのVPNアイコンとクライアントの動作表示を確認してください。

  4. 起動ログを確認する

    それでも起動しない場合は、サイドバーの「ログ」を開き、VPNの確立失敗、カーネルの起動エラー、リモート接続のタイムアウトを切り分けます。エラー行と発生時刻を控えてください。遅延テストの結果だけでは状況を判断できません。

VPNを起動した後、ルーター側でローカルプロキシポートのポート転送を設定する必要はありません。スマートフォンはクライアントとしてサーバーに接続するため、許可に失敗してもサーバーのポートが閉じていることが原因とは限りません。この2つの問題は分けて対処してください。

3. バッテリー最適化の除外:電池・バックグラウンド・自動起動を確認

「画面点灯中は正常だが、ロックすると切断され、アプリを開くとすぐ復旧する」場合は、まずバックグラウンド制限を確認してください。AndroidのDozeやアプリスタンバイと、メーカー独自のバックグラウンド制御は別の仕組みです。「バックグラウンドでの動作を許可」だけ変更しても、すべての制限が解除されるとは限りません。VPNのフォアグラウンドサービスは動作の継続に役立ちますが、プロセスが終了しないことを保証するものではありません。

システムよくある設定場所確認・変更する項目
標準Androidに近い端末設定 → アプリ → v2rayNG → アプリのバッテリー使用量「制限なし」を選択します。古いバージョンでは「特別なアプリアクセス」→「バッテリー最適化」で「最適化しない」に設定する場合があります。
Xiaomi / HyperOS設定 → アプリ設定 → アプリ管理 → v2rayNG → バッテリーセーバー「制限なし」を確認します。「バックグラウンドでの自動起動」がある場合は、必要に応じて許可してください。
Huawei / EMUI設定 → アプリとサービス → アプリの起動管理 → v2rayNG手動管理に切り替えた後、「自動起動」「他のアプリによる起動」「バックグラウンドで実行」の3項目を確認します。
Samsung / One UI設定 → バッテリー → バックグラウンドでの使用制限「スリープ中のアプリ」と「ディープスリープ中のアプリ」のリストを確認します。続けてアプリ情報の「バッテリー」でも、バックグラウンド制限を確認してください。

上記は一般的な設定場所です。地域やシステムのバージョンによって名称が異なる場合があります。項目が見つからない場合は、システム設定で「バッテリー最適化」「起動管理」「制限なし」などを検索し、最終的にv2rayNGの設定を変更していることを確認してください。最近使ったアプリの画面でロックする操作は、一部メーカー独自の補助設定にすぎず、バッテリー設定の代わりにはなりません。

まとめ:画面ロックの前後で比較する

同じノード、同じネットワークを使い、画面点灯中に2分間利用してから、画面をロックして10分後にもう一度テストします。ロック中だけ失敗するなら、まずバックグラウンド制限を確認してください。画面点灯中も失敗する場合は、ノードとネットワークを確認します。この時間設定は切り分けの手順であり、バッテリー持続時間や安定性の実測結果ではありません。

4. アプリ別VPN設定:選択したアプリをVPNに通すか、除外するか

v2rayNGのサイドバーで「設定」→「アプリ別プロキシ」を開き、全体設定、アプリ一覧、「バイパス」に関する項目を確認します。バージョンによってはアプリ一覧が別の画面にあります。アプリにチェックが入っているだけで「プロキシを経由している」と判断せず、現在の選択モードを確認してください。

選択したアプリだけをVPNに通す

おすすめ

アプリ別プロキシを有効にし、「バイパスモード」または同等の項目をオフにします。テストするブラウザーにチェックを入れてください。選択されていないアプリの通信は、このVPNに入りません。問題の切り分けでは、アプリを1つだけ選ぶと、VPNが通信を取り込む範囲を確認しやすくなります。

おすすめの用途:初回テスト、少数のアプリだけプロキシを使う場合

選択したアプリをVPNから除外する

アプリ別プロキシを有効にし、「バイパスモード」または「選択したアプリをバイパス」をオンにします。選択したアプリはVPNから除外され、その他のアプリはVPNに入る場合があります。アプリ一覧の意味は、前の設定とは逆になります。

おすすめの用途:大半のアプリをVPNに通し、一部のローカルサービスだけを除外する場合

アプリの絞り込みを無効にする

アプリ別プロキシを無効にすると、現在のプロファイル内で条件を満たすアプリの通信がまとめてVPNに渡されます。その後に通信が直接接続されるかどうかはカーネルのルーティングによって決まるため、すべてのリクエストが必ずプロキシサーバーに送信されるわけではありません。

おすすめの用途:アプリ一覧からの選択漏れが原因か確認する場合

一覧を変更したら、まずv2rayNGを停止してから起動し直し、仮想インターフェースに新しい設定を反映させます。続いて対象アプリを完全に終了してから開き直し、以前の接続が判断に影響しないようにします。アプリの複製や仕事用プロファイルのアプリは別のアプリとして扱われる場合があり、個人用プロファイルでの選択が反映されるとは限りません。新しくインストールしたアプリがVPNに入るかどうかも、許可リストか除外リストかによって異なります。

5. VPNに入った通信がすべてリモートプロキシを経由するとは限らない

アプリの絞り込みは、どのアプリの通信を仮想インターフェースに入れるかを決めます。ルーティングは、取り込まれたリクエストをどのアウトバウンドに送るかを決めます。ブラウザーを選択していても、カーネルのルールによってLAN内のアドレスや一部のドメインが直接接続される場合があります。反対に、VPNに入っていないアプリは、カーネルのドメインルールを変更しても自動的にVPNに取り込まれません。

ブラウザーではウェブページを開けるのに、別のアプリでは開けない場合も、必ずしも「プロキシ漏れ」とは限りません。対象アプリが別のドメインやUDP通信、独自のDNS解決方式を使っている場合や、VPN環境を制限している場合があります。まずログにアプリの接続先が記録されているか確認し、VPNに取り込まれていないのか、ルーティングで直接接続されているのか、リモート側で拒否されているのかを判断してください。

6. よくある問題:再起動・ネットワーク切り替え・バックグラウンド復帰

接続のたびに許可を求められるのは、権限が保存されていないから?

まず、別のVPNを交互に有効化していないか確認してください。同じユーザー領域で別のVPNサービスに切り替えると、元のアプリに再度許可が必要になることがあります。システムの「VPN」一覧と常時接続の設定を確認し、すぐにアプリのデータを消去しないでください。

画面をロックすると通知が遅れ、v2rayNGを開くと復旧する?

v2rayNGとメッセージアプリの両方について、バッテリー制限を確認してください。前者は接続を維持し、後者もシステムによって停止させられる場合があります。バッテリーとバックグラウンドデータの設定後、画面を10分間ロックする条件を固定して再テストしてください。一度に複数のノードを変更しないでください。

モバイルネットワークに切り替えると、VPNアイコンは表示されたままなのにページを開けない?

まず接続を停止してから起動し直し、同じウェブページでテストします。再起動後に復旧した場合は、ネットワークを切り替えた時刻とログを記録してください。モバイルネットワークで常に失敗する場合は、ノードの名前解決、IPv4/IPv6の到達性、通信事業者のネットワーク条件を確認します。

起動時の自動起動と常時接続VPN、どちらを設定すべき?

自動起動はアプリをバックグラウンドで起動できるかを決める設定です。システムの常時接続VPNは、指定したVPNサービスを維持するための設定で、両者は別のものです。システムでv2rayNGの常時接続を設定できる場合は、まず再起動後に自動復旧するかテストし、その後、VPN切断時の通信ブロックを有効にするか検討してください。

7. 再テストの手順とログの記録

一度に変更する条件は1つにします。まずノードとネットワークを固定し、アプリ別の絞り込みを無効にして基本の接続を確認します。その後、アプリ一覧とルーティングルールを1つずつ元に戻します。これにより、許可、バックグラウンド制限、設定変更のどれが原因かを特定しやすくなります。原因を隠すためにサブスクリプションを繰り返し更新しないでください。

  1. 端末のシステムバージョン、v2rayNGのバージョン、動作モード、問題が起きるアプリを記録します。
  2. 画面点灯中に接続し、同じウェブページをテストして、成功・失敗した時刻を記録します。遅延の数値は手がかりとして扱い、通信できる保証とは考えないでください。
  3. 画面ロック後に再テストし、続けてWi-Fiとモバイルネットワークを個別に確認します。ネットワーク切り替えとノード変更を同時に行わないでください。
  4. アプリ別の一覧を元に戻し、接続を停止してから再起動します。選択したアプリと選択していないアプリの動作が想定どおりか確認してください。
  5. それでも失敗する場合は、起動エラー、接続タイムアウト、名前解決エラーのログを整理します。共有する前に、サブスクリプションのURL、アカウント識別情報、アクセス履歴を削除してください。

デスクトップ版v2rayNのシステムプロキシ設定は、AndroidのVpnService許可とは異なります。デスクトップ向けのトラブルシューティング手順を、そのままスマートフォンに適用することはできません。クライアントを再インストールする場合や基本設定を確認する場合は、以下のサイト内リンクを利用してください。まず端末のプラットフォームに合ったインストーラーを選び、その後、この記事のシステム設定を確認しましょう。

v2rayN をダウンロード