AndroidのVPNアイコンが点いているのに、通信がトンネルを通らないのはなぜか
鍵アイコンはアプリが仮想インターフェースを所有していることだけを示し、通信が端末から出ていることは示しません。プロファイルの種類、アプリごとの範囲、ブロックポリシーを確認してください。
VPNの鍵がステータスバーにあり、ブラウザはページを読み込み、サイトが示すアドレスは依然として自宅の回線です。この組み合わせはAndroidでは正常です。アイコンはアプリが仮想ネットワークインターフェースを所有していることを示すだけで、通信がリモートサーバーから出ていることを示すものではありません。ローカルのフィルタリングアプリも同じ仕組みを使います。プロバイダーを責める前に、サービスが実際に何をしているかを確認してください。
アイコンはVPNサービスがインターフェースを所有していることを意味する
AndroidのVPNサービスは、アプリが仮想インターフェースを作成し、そこへルーティングされたパケットを受け取ることを可能にします。その後の処理は完全にそのアプリ次第で、リモートサーバーへ転送することも、フィルタリングすることも、破棄することもできます。鍵アイコンが示すのはサービスがインターフェースを保持していることであり、パケットの行き先ではありません。だからフィルタリングアプリと完全なトンネルはステータスバーで同じに見えます。
adb shell dumpsys connectivity | grep -i vpn
adb shell settings get global always_on_vpn_app
ユーザーまたはプロファイルごとに同時に有効にできるVPNサービスは一つだけです。これは仕様であり、不具合ではありません。二つ目のアプリが接続しようとすると、引き継ぐか失敗し、一つ目の通信は処理されなくなります。トンネルを接続した瞬間にフィルタリングアプリが終了するなら、その競合が有力な原因です。
ネイティブプロファイルとアプリのVPNは互換ではない
プラットフォームが提供するIKEv2プロファイルと、OpenVPNやWireGuardを実装するアプリは、メニューの異なる別製品です。IKEv2向けのプラットフォームAPIは特定のAndroidバージョンから存在し、メーカーのビルドがすべて同じ場所に同じ選択肢を出すわけではありません。別の端末のスクリーンショットは互換性の文書ではありません。
adb shell getprop ro.build.version.sdk
adb shell dumpsys package com.example.vpn | head -40
プロトコルはそれをサポートするクライアントに合わせ、プロファイルは無関係なフォームに貼り付けるのではなく、プロバイダーの検証済みチャネルから入手してください。エンドポイントのアドレスはどこへ接続するかを示すもので、どのアプリがそのプロトコルを話せるかではありません。エクスポートしたプロファイルとQRコードは資格情報として扱ってください。QR画像には鍵の全体が含まれ得ます。プロファイルが別のクライアント向けに発行された場合は、変換せずに再発行してください。
アプリごとのルールと仕事用プロファイルが範囲を変える
AndroidはアプリごとのVPN設定に対応しており、メールアプリがトンネル内にある一方でブラウザは外に置けます。個人用と仕事用のプロファイルは別々のコンテキストで、それぞれに有効なサービスがあります。間違ったアプリからアドレスを確認することは、この分野で最も多い誤結論の一つです。
包含リストと除外リストを見てから、本当に重要なアプリでテストしてください。仕事用プロファイルのトンネルは個人用アプリを覆わず、個人用トンネルは仕事用アプリを覆いません。同じ分離が、企業リソースがあるプロファイルでは動き、別のプロファイルでは目に見える設定差もなく失敗する理由を説明します。プロファイルのコンテキストは設定の適用範囲まで変えるため、チケットに記録してください。
テストしているアプリがトンネルの範囲外なら、そこで止めてください。それはポリシーの選択であり、故障ではありません。
実際に端末から出たものをテストする
公開先と非公開先、両方のアドレスファミリー、両方のアクセスネットワークでテストしてください。そのうえで結果をアプリ自身の範囲と比較してください。あるアプリでページが読み込めたことは、別のアプリについて何も語りません。再接続は別の経路に着地し得るため、Wi-Fiからモバイルデータへの切り替えの後にも繰り返してください。
adb shell ip rule
adb shell dumpsys netpolicy | grep -i vpn
常時接続VPNとVPNなしの接続をブロックするオプションは関連していますが別物で、厳格なブロックは文書化された手順に従うまでキャプティブポータルのサインインを壊すことがあります。Private DNSの設定もプロファイルのリゾルバーと干渉し得るため、組織のDNSを盲目的に置き換えると新たな障害を生みます。画面ロックでトンネルが切れる場合は、何かを再インストールする前に、バックグラウンド実行とバッテリー最適化についてVPN開発者向けガイダンスを読んでください。
見失わないでほしい症状は、アイコンと経路の間の隔たりです。鍵はサービスがインターフェースを所有していることを意味するだけで、通信がどこへ行ったかは、意図したアプリから意図したネットワークで試したときだけ分かります。両方を確認すれば、次にVPNが壊れたという報告が届いたとき、ずっと位置づけやすくなります。