AndroidでVPNを使うとき、端末上のすべての通信を同じトンネルへ送る必要があるとは限りません。ブラウザーや特定の業務アプリだけをVPN経由にし、動画、決済、家庭内機器の管理アプリなどは通常の回線に残したい場合は、スプリットトンネリングが役立ちます。アプリ別ルーティングを使えば、通信経路を用途ごとに分けながら、必要なアプリの接続だけを保護できます。
ただし、設定画面でアプリを選ぶだけでは十分ではありません。対象アプリが実際にVPN経由になっているか、対象外アプリが通常回線へ戻っているか、DNSやバックグラウンド通信が想定外の経路を使っていないかを確認する必要があります。この記事では、Androidでの考え方、公式クライアントや互換クライアントでの設定手順、接続テスト、トラブル時の調整、最後に初期状態へ戻す方法まで順番に説明します。
スプリットトンネリングの基本を理解する
スプリットトンネリングは、端末の通信を一つの経路へまとめず、アプリやルールによってVPN経由と通常回線に振り分ける機能です。たとえば、海外のサービスへ接続するブラウザーだけをVPNに通し、ローカルネットワーク上のプリンター管理アプリは直接接続にする、といった構成が可能です。全通信をVPNへ送る方式と比べ、不要な通信まで遠隔経路へ回さずに済むため、特定のアプリだけを対象にしたいときに向いています。
アプリ別設定には大きく二つの考え方があります。一つは「選択したアプリだけVPNを使う」方式で、許可リストに近い動作です。もう一つは「選択したアプリをVPNから除外する」方式で、除外リストに近い動作になります。同じアプリ一覧を表示していても、スイッチの意味が逆になることがあるため、設定前に画面の説明を読んでください。「VPNを使用しないアプリ」「選択したアプリのみ保護」「除外アプリ」といった表現を確認せずに保存すると、意図したルーティングと反対の結果になる場合があります。
90+
対応国
200+
回線
5
対応OS
不限
同時接続台数
QaVPNはWindows、macOS、iOS、Android、Linuxに対応しています。Androidでは公式クライアントを使えるほか、案内されているサブスクリプション形式に対応したクライアントへ設定をインポートする方法もあります。ただし、スプリットトンネリングの名称、対象アプリの指定方法、DNSの扱い、バックグラウンド動作はクライアントによって異なります。AndroidのOS設定にある常時接続VPNやVPN接続を解除する設定と、クライアント内のアプリ別ルールは別の機能として考えましょう。
対象アプリとルールを選ぶ方法
最初に、どのアプリのどの通信を保護したいのかを具体化します。ブラウザーの閲覧だけなのか、メッセージアプリの接続も対象にするのか、仕事用アプリを常時VPNへ送るのかによって適切な設定は変わります。アプリをたくさん選ぶほど設定が複雑になり、問題が起きたときに原因を見つけにくくなります。目的のないアプリまで追加するより、利用目的と接続先が明確なものから始めるほうが管理しやすいでしょう。
- ✅ VPN経由にしたいブラウザー、業務アプリ、通信アプリを先に書き出す
- ✅ 決済、銀行、配車、家庭内機器など、通常回線での動作を確認したいアプリを分ける
- ✅ 同じサービスの本体アプリと補助アプリを別々に確認する
- ✅ バックグラウンド同期が必要なアプリは、通知や更新への影響も確認する
- ❌ アプリ名だけを見て、実際に通信する関連サービスまで保護されると決めつけない
アプリ別ルーティングは、必ずしもドメイン単位の制御ではありません。アプリが外部ブラウザーを呼び出す場合、ログイン画面だけ別アプリで開く場合、画像や動画を別の配信サービスから取得する場合は、通信の一部が対象外になることがあります。また、AndroidのシステムサービスやGoogle Play関連の通信は、一般のアプリ一覧に表示されないことがあります。アプリがVPN経由になっているかを検証するときは、画面表示だけでなく、そのアプリが実際に利用する接続先も意識してください。
仕事用と個人用のプロファイルを分けている端末では、同じ名前のアプリが複数表示されることがあります。個人プロファイル側だけを選択し、仕事用プロファイル側を選び忘れると、同じアプリに見えても通信経路が異なります。アプリのアイコン、プロファイル表示、パッケージ情報を確認し、設定後に両方の環境でテストしましょう。
Androidでアプリ別VPNを設定する手順
設定を始める前に、Androidのシステム更新、使用するVPNクライアント、サブスクリプション設定を確認します。公式クライアントを使う場合は、サービスの案内からログインして接続設定を読み込みます。Clash系クライアントやsing-box系クライアントなどを使う場合は、対応する形式を選び、取得したリンクを正しい入力欄へインポートしてください。サブスクリプションリンクには認証情報に相当する情報が含まれる場合があるため、公開チャットや第三者の検査サイトへ貼り付けないでください。
- VPNクライアントを開き、アカウントまたはサブスクリプション設定を確認します。
- 利用するプロファイルまたはノードを選択し、通常のVPN接続が成立することを先に確認します。
- 設定、ルーティング、アプリ別VPN、スプリットトンネルなどの項目を開きます。
- 「選択したアプリのみVPNを使用」または「選択したアプリをVPNから除外」のどちらのモードか確認します。
- 対象アプリを選び、保存または適用を実行します。
- VPNをいったん切断して再接続し、アプリを完全に終了してからテストします。
クライアントによっては、AndroidのVPN許可ダイアログが表示されます。許可後に別のVPNアプリを起動すると、Androidの仕様上、同時に複数のVPN接続を維持できず、先に接続していたクライアントが切断されることがあります。Clash Vergeは主にデスクトップ向け、ShadowrocketはiOS向けとして使われることが多いため、Androidでは端末とクライアントの対応状況を確認し、無理に別OS向けの手順を適用しないでください。
プロトコルもルーティング設定とは別に確認します。Shadowsocks、VMess、Trojan、Hysteria2、WireGuardなどは接続方式を定めるもので、アプリ別の振り分けそのものではありません。Hysteria2のようにUDPを利用する方式は、現在のネットワークでUDPが制限されると接続できないことがあります。WireGuardを使う場合も、クライアント側のAllowedIPsやDNS設定によって全通信型になるか、特定経路だけになるかが変わります。配布された設定を手作業で変更する場合は、変更前の状態を保存しておきましょう。
接続後にアプリ別ルーティングを検証する
接続済みという表示だけでは、アプリ別設定が正しく動いているか分かりません。対象アプリと対象外アプリを一つずつ開き、出口地域、接続先、ログイン状態、読み込みの成否を比較します。対象アプリではVPN経由の出口を確認し、対象外アプリでは通常回線の出口が維持されているかを確認します。IP検査ページをブラウザーで開く場合も、そのブラウザーがVPN対象になっているかを先に把握してください。
テスト時は、以前のセッションやキャッシュを結果と混同しないようにします。アプリを最近使った状態では、DNS結果、ログインセッション、接続済みのソケットが残っていることがあります。VPNを切り替えた後にアプリを完全終了し、必要なら機内モードのオン・オフやネットワークの再接続を行ってから再試行します。Androidの省電力機能がバックグラウンド通信を止めていないか、VPNクライアントのバッテリー最適化が接続を中断していないかも確認しましょう。
| 確認対象 | 見るポイント | 結果が違う場合の確認 |
|---|---|---|
| VPN対象アプリ | 想定した出口、サイト表示、ログイン、継続通信 | アプリが一覧に含まれているか、プロファイルが有効か確認する |
| VPN対象外アプリ | 通常回線での表示、ローカル機器への接続、通知 | 除外モードの意味とAndroid側の常時接続設定を確認する |
| DNSを使うアプリ | 名前解決、接続先の地域、読み込みの一貫性 | クライアントのDNS方式とプライベートDNSの設定を確認する |
| バックグラウンド通信 | 通知、同期、再接続、画面オフ後の動作 | 省電力設定、バックグラウンド制限、VPNの常時接続を確認する |
接続が不安定な場合は、まずアプリ別設定を一時的に無効にして全通信型でテストします。全通信型では動くのにアプリ別設定で失敗するなら、対象アプリの選択、DNS、除外モード、関連アプリの不足が原因かもしれません。逆に全通信型でも接続できない場合は、ノード、プロトコル、ネットワーク、認証情報を先に切り分けます。複数の条件を同時に変更すると原因が分からなくなるため、一度に一つだけ調整してください。
うまく動かないときの調整と初期化
特定のアプリだけ接続できない場合、対象アプリがVPN一覧に入っているかだけでなく、別のアプリを経由して通信していないか確認します。ブラウザーを呼び出す認証画面、外部プレーヤー、ファイル選択画面などは、別のパッケージとして扱われることがあります。必要な関連アプリを追加して改善する場合もありますが、対象範囲を広げすぎると、どの通信がVPNを通っているのか管理しにくくなります。
通常回線に残したアプリが接続できない場合は、除外設定が実際に有効か、Androidの「VPNなしで接続を許可」に相当する設定が選ばれているかを確認します。Always-on VPNや「VPN接続なしでは通信を遮断」の設定が有効だと、クライアント内で除外したアプリも通信できないことがあります。公共Wi-Fiなどでログインページが必要な環境では、VPNを接続する前に認証を完了させると切り分けやすくなります。
- ✅ まず通常の全通信VPNでノードとプロトコルを確認する
- ✅ 次にアプリを一つだけ対象にして、出口と表示結果を確認する
- ✅ DNS、プライベートDNS、省電力設定を個別に見直す
- ✅ サブスクリプション更新後はプロファイルとルールを再確認する
- ❌ 二つのVPNクライアントを同時に起動したまま原因を判断しない
- ❌ 接続失敗のたびにプロトコル、ノード、DNS、アプリ一覧を一度に変更しない
設定を初期状態へ戻すときは、先に現在のサブスクリプション名、選択ノード、アプリ別ルールを記録します。その後、アプリ別ルールを「すべてのアプリをVPN経由」またはクライアントの標準モードへ戻し、保存します。不要なプロファイルを削除し、VPN接続を切断してからAndroidのVPN設定に残った登録を確認します。最後にクライアントを再起動し、通常回線、全通信VPN、アプリ別VPNの順で再テストしてください。アプリを削除して再インストールする場合は、サブスクリプションリンクを先に安全な場所で取得し直せる状態にしておきます。