Значок VPN в Android включён, так почему трафик не идёт через туннель?
Значок ключа говорит лишь о том, что приложение владеет виртуальным интерфейсом, а не о том, что трафик покидает телефон. Проверьте тип профиля, охват по приложениям и политику блокировки.
Ключ VPN виден в строке состояния, браузер загружает страницу, а адрес, который сообщает сайт, — всё ещё ваше домашнее подключение. Это сочетание нормально для Android, потому что значок говорит, что приложение владеет виртуальным сетевым интерфейсом, а не что ваш трафик выходит через удалённый сервер. Локальное приложение фильтрации использует то же средство. Проверьте, что служба действительно делает, прежде чем винить провайдера.
Значок означает, что служба VPN владеет интерфейсом
Служба VPN в Android позволяет приложению создать виртуальный интерфейс и получать пакеты, направляемые в него. Что произойдёт дальше, полностью зависит от этого приложения: оно может передать их удалённому серверу, отфильтровать или отбросить. Значок ключа сообщает, что служба удерживает интерфейс, а не куда идут пакеты. Поэтому приложение фильтрации и полный туннель выглядят в строке состояния одинаково.
adb shell dumpsys connectivity | grep -i vpn
adb shell settings get global always_on_vpn_app
Одновременно на пользователя или профиль может быть активна только одна служба VPN, и это документированное поведение, а не ошибка. Когда второе приложение пытается подключиться, оно либо перехватывает управление, либо терпит неудачу, и трафик первого больше не обрабатывается. Если приложение фильтрации завершается в момент подключения туннеля, эта конкуренция — вероятная причина.
Собственный профиль или VPN приложения: они не взаимозаменяемы
Профиль IKEv2, который предоставляет платформа, и приложение, реализующее OpenVPN или WireGuard, — разные продукты с разными меню. API платформы для IKEv2 существует с определённой версии 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
Always-on VPN и параметр, блокирующий подключения без VPN, связаны, но различаются, и строгая блокировка может сломать вход на captive-портал, пока вы не выполните документированную процедуру. Настройки Private DNS тоже могут взаимодействовать с резолвером профиля, поэтому слепая замена DNS организации создаёт новую неисправность. Если туннель умирает при блокировке экрана, прочитайте руководство для разработчиков VPN о фоновом выполнении и оптимизации аккумулятора, прежде чем что-либо переустанавливать.
Симптом, который стоит держать в голове, — разрыв между значком и путём. Ключ означает, что служба владеет интерфейсом; только проверка из нужного приложения в нужной сети говорит, куда ушёл трафик. Проверяйте и то и другое, и следующий отчёт о сломанном VPN будет гораздо легче локализовать.