Объём сброса VPN на Android: что на самом деле стирает каждый уровень
Кэш, хранилище приложения, сброс сети и сброс до заводских настроек стирают разные состояния Android. Сопоставьте уровень с подозреваемым состоянием, прежде чем удалять профиль.
В Android есть четыре отдельные операции, которые люди называют сбросом VPN, и они стирают разное. Очистка кэша приложения удаляет временные файлы; очистка его хранилища удаляет сам профиль. Сброс сети заново выстраивает стек подключений, а сброс до заводских настроек заменяет раздел данных пользователя. Выбирайте операцию по подозреваемому состоянию, а не по привычке. Если ошибётесь, профиль или путь регистрации, который был нужен, исчезнет до того, как вы что-то диагностируете.
Вот правило, которое я применяю при каждом обращении: назовите состояние, назовите его владельца, затем удалите только копию этого владельца. Остальная часть страницы — о том, какой компонент Android хранит какие байты.
Где на самом деле живёт профиль VPN в Android
Сторонний клиент на неуправляемом телефоне держит профиль в собственном каталоге данных приложения — как файл настроек, блок JSON или небольшую базу SQLite. Именно этот каталог удаляет пункт Очистить хранилище в Настройках. Профиля нет в системном списке VPN: в этом списке хранится запись о подключении, которую клиент зарегистрировал через VpnService, включая имя подключения, пакет-владелец и любой флаг постоянного включения, заданный пользователем.
VpnService — это сантехника, а не хранилище. Клиент один раз запрашивает согласие, строит интерфейс tun и сам перемещает пакеты, поэтому платформе никогда не нужно понимать формат профиля. Именно поэтому файл конфигурации, скопированный с другого телефона, часто импортируется как пустой профиль или не проходит проверку.
Учётные данные идут другим путём. Ключ или сертификат, полученный через системный KeyChain, остаётся в хранилище под управлением системы, поэтому удаление данных приложения может оставить учётные данные пригодными, а удалить только псевдоним клиента к ним.
Управляемые устройства добавляют второго владельца. Рабочий профиль, созданный EMM, запускает собственную копию клиента по собственной политике, а постоянно включённый VPN может быть закреплён политикой устройства, так что пользователь не сможет его отключить. На таких устройствах профиль обычно предоставляется при регистрации, а не вводится вручную. Тогда восстановление — это решение о повторной регистрации, а не о повторном импорте.
Кэш, хранилище, сброс сети, сброс до заводских настроек
Четыре операции соответствуют этим границам. Прочитайте строку для подозреваемого состояния, прежде чем что-то нажимать.
| Operation | What it removes | What survives |
|---|---|---|
| Clear cache | Temporary files, including any diagnostic bundle the client wrote there | Profile, credentials, enrollment |
| Clear storage | The app's preferences, databases and saved profile | KeyChain entries, other apps, device policy |
| Network reset | Wi-Fi, mobile and Bluetooth registrations, and on most builds the saved VPN entries | App data, KeyChain, work profile |
| Factory reset | The user data partition, accounts and device-bound keys | Nothing on the device |
Очистка кэша — самое безопасное и наименее полезное. Она удаляет временные файлы, а именно там клиент мог оставить журнал, который сотрудник поддержки только что у вас попросил. Руководство Android по устранению неполадок приложений рассматривает кэш и хранилище как два разных удаления, и вам стоит делать так же.
Очистить хранилище — это настоящий сброс отдельного приложения. Он удаляет профиль, сохранённый шлюз и флаги доверия, которые клиент держал для определённых сетей. Он не отзывает записи KeyChain, не удаляет системную запись VPN, принадлежащую другому приложению, а в управляемом профиле не удаляет политику, которая изначально отправила профиль.
Сброс сети в Настройках действует на всё устройство, и его точный объём меняется в зависимости от производителя и версии Android. Диалог подтверждения в вашей сборке — единственное надёжное утверждение о том, что он забудет.
Сначала запишите обратный путь
Перед любым разрушительным шагом запишите пять вещей: версию клиента, имя профиля, адрес шлюза, владельца службы и точную стадию, на которой подключение не удаётся.
Именно эти пять фактов отделяют сбой клиента от сбоя политики или сервера. Тайм-аут, отказ в сертификате и немедленный отказ — три разных сбоя, и каждый указывает на другого владельца. Очистите сначала хранилище — и вы потеряете доказательства со стороны клиента, которые их различили бы. Сохраните очищенную копию журнала, пока он ещё существует.
Затем подтвердите, как подключение будет создано заново. Отображаемое имя и имя хоста недостаточны, когда профиль зависел от клиентского сертификата, управляемой конфигурации или регистрации MFA, привязанной к этому устройству.
Блокировка начальной настройки, которую никто не планирует
Один режим отказа заслуживает отдельного раздела. Если единственное место для скачивания профиля — внутренний портал, доступный только через туннель, который вы собираетесь удалить, очистка хранилища создаёт тупик без выхода внутри приложения.
Постоянно включённый VPN с параметром блокировать подключения без VPN превращает это в полный отказ: у телефона нет работающего пути к порталу, а у клиента нет профиля, чтобы поднять туннель. Два состояния удерживают друг друга на месте.
Выход процедурный, а не технический. Экспортируйте или сфотографируйте конфигурацию, пока туннель ещё работает, убедитесь, что у портала есть маршрут, не зависящий от VPN, и только потом что-то очищайте. На управляемом устройстве спросите администратора, какой путь восстановления существует, прежде чем трогать профиль.
Проверьте восстановленный туннель
Когда профиль вернётся, проверяйте по порядку: разрешение имён, TCP-соединение с известным внутренним хостом и поведение блокировки при сбое, на которое вы действительно полагаетесь. Порядок важен, потому что туннель может подняться и всё равно утекать DNS.
Значок ключа в строке состояния доказывает, что интерфейс существует, и ничего больше.
Если подключение всё ещё не удаётся после целевого сброса, прекратите наращивать масштаб операции. Сохраните доказательства до и после, отметьте, какой уровень вы очистили, и передайте дело владельцу компонента вместе с теми пятью фактами. Сброс до заводских настроек — отдельное решение с гораздо более высокой ценой, и это не следующий шаг в контрольном списке VPN.