Android VPNの設定は難しくありません。つまずきやすいのは手順です。まずクライアントとサブスクリプションの互換性を確認し、次に読み込みとVPN接続の許可、最後にバッテリー最適化の除外を行います。インストールだけで権限や分割ルーティング、バックグラウンド制限を見落とすと、ノードは利用可能に見えるのにWebページが開けない、画面ロック後に接続が切れるといった問題が起こります。
このガイドでは、特定のクライアント画面に依存せず、Androidの各種プロキシクライアントに共通する設定の考え方を説明します。アプリ上の項目名が「サブスクリプション」「設定」「リモート設定」「設定ファイル」のいずれであっても、基本的な流れは同じです。クライアントがサーバーからノード情報を読み込み、端末上に仮想ネットワークインターフェースを作成し、分割ルーティングのルールに従ってトンネルへ送る接続を決めます。
クライアントのインストール前に互換性を確認
アプリ名にVPNと書かれているかだけで判断しないでください。Androidストアの一般的なVPNアプリ、企業向けリモートアクセスツール、プロキシプロトコル用クライアントは、いずれもシステムVPNインターフェースを使う場合がありますが、対応する設定形式は異なります。契約やダウンロードの前に、サービス提供元が案内するプロトコル、サブスクリプション形式、推奨クライアントを確認し、対応するバージョンを選びましょう。
インストールパッケージは、サービス提供元のダウンロードページ、クライアントプロジェクトの正式な配布先、または信頼できるアプリストアから入手してください。Webからインストールする場合、Androidではブラウザやファイル管理アプリに対し、不明なアプリのインストールを一時的に許可する必要があります。インストール後はこの許可を無効にし、ダウンロードツールにインストール権限を残さないようにしましょう。
| クライアントの種類 | 適した設定 | 読み込み方法 | 重点的に確認する点 |
|---|---|---|---|
| サービス提供元専用クライアント | サービス提供元が管理する回線とルール | ログインまたは専用設定を読み込む | ダウンロード元、更新入口、システム互換性 |
| 汎用プロキシクライアント | Shadowsocks、VMess、Trojan、VLESSなどのプロトコル | サブスクリプションURL、クリップボード、QRコードまたはローカルファイル | プロトコルコア、サブスクリプション形式、分割ルーティング機能 |
| システムまたは企業向けVPNクライアント | 標準トンネルまたは社内ネットワーク | サーバーアドレス、証明書または管理設定 | 通常、プロキシのサブスクリプションを直接読み込むことはできません |
サービス提供元が汎用クライアントを推奨している場合は、ダウンロードしたバージョンに必要なプロトコルコアが含まれているかも確認してください。古いクライアントはサブスクリプションを認識しても、新しいプロトコルの項目を解析できないことがあります。ノード名は表示されても、接続時に「サポートされていないトランスポート方式」と表示される場合もあります。この場合、回線が必ず停止しているとは限りません。サブスクリプションを何度も再インストールするより、まずクライアントを更新する方が効果的です。
- ✅ ダウンロードページとサービス提供元のドキュメントで、クライアント名が一致している。
- ✅ クライアントが、サブスクリプションで使われているプロトコルとトランスポート方式を明確にサポートしている。
- ✅ インストール後に、サブスクリプション、設定、リモート設定の入口を見つけられる。
- ✅ 端末の日付、時刻、タイムゾーンが自動同期になっている。
- ✅ サブスクリプションURLをフォーラム、スクリーンショット、共有ドキュメントに公開していない。
画面の使いやすさより先に、プロトコルの互換性を確認しましょう。クライアントをインストールできても、手元のサブスクリプションを読み込めるとは限りません。ノードを読み込めても、プロトコルコアが十分に新しいとは限りません。
サブスクリプションの読み込みと初回接続を順に行う
サブスクリプションURLを入手しても、最初に通常のブラウザで開くことはおすすめしません。URLによってはエンコードされた設定テキストが直接返されたり、アプリへの移動が発生したりします。ブラウザに長い文字列が表示されても、内容が壊れているとは限りません。完全なURLをコピーし、クライアントのサブスクリプション管理画面に貼り付けて読み込む方法が安全です。
-
クライアントをインストールし、初回起動します。
アプリが求める権限を確認します。ファイルへのアクセスは、通常、ローカル設定の読み込みやバックアップの書き出しに必要です。VPN接続を作成するシステム権限は、実際に回線を起動するときに表示されるため、インストール時に探し回る必要はありません。
-
サブスクリプションを追加します。
サブスクリプション、リモート設定、設定管理の画面を開き、クリップボードからの読み込みを選んで、完全なサブスクリプションURLを貼り付けます。名前は識別しやすいサービス名にして構いませんが、URL内の文字、パラメーター、大文字・小文字は変更しないでください。
-
更新してノードを選択します。
更新すると、クライアントがサブスクリプションをノード一覧に解析します。まずは地理的に適切で、回線の種類が明確なノードを選びましょう。最初から複雑なチェーンプロキシ、カスタムDNS、多層ルールを同時に有効にすると、どの設定が原因で失敗したのか判断しにくくなります。
-
接続を開始し、システム権限を許可します。
接続をタップすると、AndroidにVPN接続作成のシステムダイアログが表示されます。アプリ名がインストールしたクライアントと一致することを確認してから、接続を許可してください。成功すると、通常はステータスバーにシステムVPNのマークが表示され、クライアントの状態も未接続から接続済みに変わります。
クライアントに「サブスクリプションを更新」と「ローカル変更を上書き」の選択肢がある場合、通常のノード更新では違いを理解して使い分けてください。通常の更新はサーバー側の変更を同期しますが、上書き操作では手動で変更したノード名、分割ルーティングのルール、DNS設定が消えることがあります。使い始めはできるだけ初期設定を保ち、基本接続が安定してから項目ごとに調整しましょう。
QRコードによる読み込みも、本質的にはURLの貼り付けと同じで、手作業のコピーを省くだけです。同じ端末で操作するならクリップボードからの読み込みが簡単です。パソコンからAndroid端末へ移す場合は、クライアント内蔵のスキャン入口を使えます。通常のカメラで読み取った後、無関係なアプリにURLを渡すのは避けてください。
プロキシプロトコルと回線の種類を理解する
サブスクリプション内のノードでは、異なるプロトコルが使われている場合があります。プロトコルは、クライアントとサーバーがデータを認証、カプセル化、転送する方法を決めます。回線の種類は、端末から出口までデータが通るネットワーク経路を示します。この2つは同じ概念ではありません。Trojanを使うノードだからといって、必ず直結や専用回線とは限りません。同じプロトコルでも、異なる中継構成に導入できます。
代表的なプロトコルが解決する課題
- Shadowsocks:構成が比較的シンプルで、対応クライアントも多く、暗号化プロキシによく使われます。実装によって対応する暗号方式が異なる場合があるため、読み込み後もコアの互換性を確認してください。
- VMess:V2Rayエコシステムのプロトコルで、認証とハンドシェイクはシステム時刻の影響を受けやすい特徴があります。端末の時刻が大きくずれていると、ノードは存在するのにセッションを確立できないことがあります。
- Trojan:通常はTLSと組み合わせて使用し、証明書、ドメイン、サーバー設定の一致が必要です。クライアントは一般にサブスクリプションからこれらのパラメーターを読み込むため、手動編集時にサーバー名の項目を不用意に削除しないでください。
- VLESS:プロトコル自体は軽量な認証を重視し、安全な通信は通常、外側のTLSまたは別のトランスポート設定に依存します。サーバーアドレスだけをコピーしてトランスポートパラメーターを欠落させると、正常に接続できないことがあります。
- Hysteria2:QUICとUDPを基盤とし、高遅延やパケットロスが起こりやすいネットワークでの転送性能を重視して設計されています。現在のネットワークがUDPを厳しく制限している場合、別のプロトコルのノードに切り替える必要があります。
- TUIC:同じくQUICとUDPを基盤とし、多重接続などの仕組みに対応しています。現在のネットワークに適しているかどうかは、クライアントの実装、サーバー設定、接続するネットワークによって決まり、プロトコル名だけで速度を判断することはできません。
プロトコル名は速度ランキングではありません。実際の使用感は、現地の通信事業者、入口までの距離、中継の混雑、出口の負荷、対象サイトへの復路、クライアントのパラメーターにも左右されます。切り分けでは、同じネットワーク環境でノードまたはプロトコルを変更してください。無線ネットワーク、DNS、クライアントを同時に変更すると、比較結果の参考になりません。
直結、中継、IEPLの経路の違い
直結ノードは通常、端末から海外の入口へ直接接続するため経路がシンプルですが、ネットワーク間のルーティング変化が大きく現れる場合があります。中継回線では、まず利用者に近いサーバーへ接続し、その後中継サーバーが出口へトラフィックを送ります。一部の接続経路を改善できる一方、保守が必要な工程が1つ増えます。
IEPLは通常、通信事業者が提供する国際イーサネット専用線サービスを指します。サービス提供元は、中国本土側の入口と海外の出口の間にある一部の経路を専用線リソース上に置き、パブリックインターネットのルーティング変動を抑えることがあります。ただし「IEPL」は回線リソースとネットワーク構成を表すもので、エンドツーエンドの暗号化を意味せず、プロキシプロトコル自体の認証や通信保護に代わるものでもありません。クライアントのプロトコル、入口の構成、実際の経路を確認し、ノード名だけで判断しないようにしましょう。
まず距離が適切でプロトコル互換性のあるノードを選び、対象サービスにアクセスできることを確認します。その後、直結、中継、専用線の経路を比較してください。基本接続が確立する前に、複雑なチェーン転送を重ねないようにしましょう。
VPN権限を許可し、システムの競合を避ける
AndroidはシステムVPNインターフェースを通じて、アプリの通信をクライアントに渡します。初回起動時に表示される許可ダイアログはシステムの手続きであり、通常の通知権限ではありません。許可すると、クライアントが端末上に仮想ネットワークインターフェースを作成し、ルールに合う接続を処理できるようになります。
通常、システムVPNインターフェースを同時に使用できるアプリは1つだけです。端末で企業向け接続ツール、広告ブロッカー、ファイアウォール、別のプロキシクライアントが動いていると、新しい接続が古い接続を置き換えたり、起動に失敗したりします。切り分けでは、VPNインターフェースを使う他のアプリを閉じ、現在のクライアントで再接続してください。
Androidの一部のシステムには「VPNを常時接続」と「VPN未接続時に接続をブロック」といった設定があります。前者は指定アプリの接続維持を試み、後者はトンネルが確立していないと通常のネットワークを遮断する場合があります。サブスクリプションの期限切れ、ノード停止、アプリの終了時にすべてのWebページへアクセスできなくなる可能性があるため、初心者は最初から厳格な設定を同時に有効にしないでください。まず通常接続を確認し、必要に応じて有効にしましょう。
一部のクライアントにはアプリごとのプロキシ機能もあります。有効にすると、トンネルを通すアプリと直結させるアプリを選べます。この機能はシステム権限と競合しませんが、ルールの向きを取り違えやすい点に注意してください。リストが「含める」アプリを示すクライアントもあれば、「除外する」アプリを示すクライアントもあります。変更後は対象アプリと通常のローカルアプリをそれぞれ開いて確認し、クライアントが接続済みと表示されることだけで判断しないでください。
バッテリー最適化の除外とバックグラウンド動作を設定する
中国メーカーのAndroidシステムでは、画面ロック中、長時間のバックグラウンド動作中、メモリ不足時にアプリが制限されることがあります。プロキシクライアントが停止すると、端末上の仮想ネットワークインターフェースも消えます。その結果、画面点灯中は正常でもロック後にメッセージが遅れたり、別のアプリから戻ったときに接続が切れていたりします。
メーカーによって設定名は異なりますが、「バッテリー」「アプリの起動」「バックグラウンドアクティビティ」「自動起動」「最近使ったアプリ」などから探せます。目的はすべての権限を開放することではなく、プロキシクライアントのバックグラウンド動作を継続させ、通常の休止アプリとして処理されないようにすることです。
- バッテリー最適化を解除する。アプリ情報またはバッテリー管理で、クライアントを「最適化しない」「制限なし」「バックグラウンドでの高い電池使用を許可」などに設定します。名称はシステムのバージョンによって異なります。
- バックグラウンドアクティビティを許可する。システムがクライアントのバックグラウンド動作を禁止していないことを確認します。「自動管理」と「手動管理」がある場合は手動に切り替え、バックグラウンド動作を許可します。
- 必要な場合のみ自動起動を許可する。端末の再起動後に接続を自動復旧したい場合は、クライアントの自動起動を許可できます。手動で使うときだけ接続するなら、動作維持のために無関係な権限まで開放する必要はありません。
- 最近使ったアプリでロックする。一部のシステムでは、最近使ったアプリの画面でアプリをロックし、一括終了で停止される可能性を下げられます。ただし補助的な対策であり、バッテリー最適化の除外の代わりにはなりません。
- 接続通知を維持する。フォアグラウンドサービスの通知は、アプリが継続して動作していることをシステムに伝えるために使われます。通知表示をオフにしても接続が必ず終了するとは限りませんが、フォアグラウンドサービスの維持に必要な通知カテゴリーは無効にしないでください。
- ✅ 画面ロック後に再点灯しても、クライアントが接続済みと表示される。
- ✅ 最近使ったアプリから他のアプリを終了しても、VPNの状態マークが残っている。
- ✅ 無線ネットワークとモバイルネットワークを切り替えた後、クライアントが再接続できる。
- ✅ システム管理アプリで、クライアントが制限対象の電池消費が大きいバックグラウンドアプリになっていない。
- ✅ クライアント更新後に、バッテリーとバックグラウンド権限がシステムによってリセットされていないか再確認する。
クライアントを除外リストに追加すると、バックグラウンドで動作し続ける可能性が高まる一方、電池消費が増えることもあります。消費量は主に継続的な通信、電波状況、プロトコルの再接続、アプリの活動に左右され、VPNの状態マークが表示されているだけで異常とは限りません。待機中の消費が急に変化した場合は、まず回線が頻繁に再接続していないか確認し、その後ログでネットワーク切り替えやハンドシェイク失敗が繰り返されていないか確認してください。
分割ルーティングのルールとDNSを設定する
接続が確立すると、クライアントはどのリクエストをプロキシ経由にするか決める必要があります。グローバルモードでは大部分の通信をトンネルに送るため、回線が機能しているか確認しやすくなります。ルールモードでは、ドメイン、IP、アプリ、ルールセットに基づいて通信を分け、ローカルサービスは直結、国際サービスはプロキシ経由にできます。初回テストではクライアント推奨の初期ルールを使い、接続を確認してから実際の用途に合わせて調整しましょう。
分割ルーティングの誤りは、ルールの優先順位に起因することがよくあります。クライアントは通常、上から順に、または内部カテゴリーの順にリクエストを照合します。広すぎる直結ルールが、本来プロキシを通すドメインを先に捕捉することがあります。逆に、広すぎるプロキシルールはローカルアプリの経路を遠回りにする場合があります。ルールを変更するときは毎回1項目だけ変更し、元の設定を記録して、失敗時に戻せるようにしてください。
DNSリークとは
Webサイトにアクセスする前、端末は通常DNSを使ってドメインをアドレスに変換します。Web通信がトンネルに入っていても、ドメイン問い合わせがローカルネットワークのリゾルバーへ送られると、DNSの経路とプロキシの経路が一致しない状態になります。これが一般にDNSリークと呼ばれるものです。検索したドメインが露出する可能性があるほか、ローカルの解決結果と出口地域が一致せず、サイトの表示エラー、地域判定の異常、接続タイムアウトにつながることがあります。
クライアントでよく使われる対処には、リモートDNS、暗号化DNS、ドメイン別ルーティング、仮想DNSがあります。選択肢は多ければよいわけではありません。システムのプライベートDNS、クライアント内蔵DNS、ブラウザ独自のセキュアDNSを同時に有効にすると、問い合わせが想定したルールを迂回することがあります。「接続できるのにドメインが開けない」場合は、まずクライアントの初期DNSに戻し、追加したDNS設定を一時的に無効にして比較してください。
アドレスへ直接アクセスできるのにドメインで失敗する場合は、DNSに問題がある可能性が高くなります。ドメインからアドレスを解決できても対象サイトへの接続がタイムアウトするなら、ノード、経路、プロトコル、分割ルーティングを引き続き確認してください。DNSで解決できるのは名前の変換だけで、停止したプロキシノードを修復することはできません。
2つの方法で接続が有効か確認する
クライアントに「接続済み」と表示されるのは、端末上のVPNインターフェースが確立したことを示すだけで、対象の通信が想定した出口を通っているとは限りません。確認時は、出口の変化とDNSの解決経路を同時に確認し、2つの結果を補完的に使います。
方法1:出口アドレスの変化を確認する
接続前に信頼できるIP検索ページを開き、表示された通信事業者と地域を控えます。接続後にページを更新し、出口情報が選択した回線に対応する地域へ変わったか確認してください。クライアントのノード名だけで判断しないでください。ノード名は設定上のラベルであり、実際の出口は外部の検索で確認する必要があります。
出口が変わらない場合は、まずクライアントがアプリごとのプロキシモードになっていないか、現在のブラウザが除外されていないかを確認します。分割ルーティングのルールで検索サイトが直結になっていないかも確認してください。切り分けのため、一時的にグローバルモードへ切り替えて比較し、確認後に通常のルールへ戻します。
方法2:DNSの解決経路を確認する
信頼できるDNSチェックページで、リゾルバーが属するネットワークと地域を確認します。DNSサービスが独立したインフラを使うこともあるため、結果が出口名と完全に一致する必要はありません。ただし、クライアントの想定設定を迂回して、明らかにローカルの接続ネットワークへ戻ってはいけません。異常がある場合は、システムのプライベートDNS、ブラウザのセキュアDNS、クライアントのリモートDNS、分割ルーティングのルールが互いに上書きしていないか確認してください。
- ✅ 接続後の出口地域が、選択したノードの方向と一致している。
- ✅ 対象サイトでドメイン解決とページ読み込みが正常に完了する。
- ✅ ブラウザまたは対象アプリが、アプリ別ルールで除外されていない。
- ✅ DNS問い合わせが、想定外のローカル解決経路へ明らかに戻っていない。
- ✅ 画面ロックから復帰した後に再確認しても、接続が有効になっている。
接続トラブルはこの順番で確認する
トラブル解決のポイントは、一度に1つの変数だけを変えることです。クライアントの再インストール、DNS変更、プロトコル変更、ネットワーク切り替えを同時に行わないでください。復旧しても本当の原因が分からず、次回も同じ問題が起こります。
- まずサブスクリプションを更新する。サブスクリプションを読み込めることと、ノード一覧に正常な内容があることを確認します。更新に失敗した場合は、URLを完全にコピーできているか、システム時刻が正しいか確認してください。
- 同じサブスクリプション内の別ノードへ切り替える。1つのノードだけが失敗するなら、その入口、出口、経路が一時的に利用できない可能性が高くなります。すべて失敗する場合は、クライアントとローカルネットワークを確認してください。
- プロトコルの対応状況を確認する。未知のプロトコル、未対応のトランスポート方式、解析失敗が表示された場合は、クライアントのコアを更新してください。理解できない設定項目を手動で削除しないでください。
- 接続ネットワークを切り替える。無線ネットワークでは失敗するのにモバイルネットワークでは正常な場合、ローカルルーター、組織のネットワーク、UDP制限を確認する価値があります。Hysteria2、TUICなどUDPに依存するプロトコルは、制限されたネットワークでは接続を確立できないことがあります。
- DNSと分割ルーティングを初期設定に戻す。接続は成功するのにWebページが開かない場合は、まずカスタムDNS、プライベートDNS、追加したルールを取り消し、初期設定でテストしてください。
- バックグラウンド制限を確認する。画面ロック後だけ切断される場合は、バッテリー最適化の除外、バックグラウンドアクティビティ、フォアグラウンドサービス通知を重点的に確認し、ノードを何度も変更する必要はありません。
- インターフェースの競合を解消する。他のVPN、広告ブロッカー、企業向け接続アプリを終了し、現在のクライアントがシステムVPNインターフェースを単独で使えるようにします。
ログは最後に使う切り分け手段であり、長ければよいわけではありません。接続時刻の前後にあるエラー、たとえばドメイン解決失敗、ハンドシェイクのタイムアウト、証明書の不一致、システム時刻の異常、UDP利用不可、権限取り消しに注目してください。ログを共有する前に、サブスクリプションURL、サーバー認証情報、個人設定が含まれていないか確認しましょう。
インストールは出発点にすぎません。Androidの設定が完成しているかは、サブスクリプションを更新できる、プロトコルを解析できる、システム権限が許可されている、バックグラウンドで不用意に終了しない、出口とDNSの経路が想定どおりである、という点で確認できます。この順番で進めれば、問題はクライアント、サブスクリプション、ネットワーク、ルール、システム制限のいずれかに絞り込みやすくなります。