Типичная история: вы поиграли или поработали в тяжёлом приложении, свернули его, открыли браузер — а страницы не грузятся. Значок VPN в статусной строке при этом на месте, поэтому кажется, что всё в порядке и дело в интернете. На самом деле туннель уже разорван, просто iOS об этом не сообщает.
Почему значок обманывает
Значок VPN вверху экрана означает одно: в системе настроен и включён VPN-профиль. Он не означает, что прямо сейчас через туннель идут данные. Это разные вещи, и именно на их разнице строится путаница.
Часть, которая реально держит соединение, работает не внутри приложения, а как отдельное системное сетевое расширение. Приложение — это витрина с кнопкой; всю работу выполняет фоновый процесс. И у этого процесса на iOS есть жёсткое ограничение.
Лимит памяти — главная причина
Сетевому расширению iOS выделяет очень скромный объём памяти — порядка 50 МБ на весь процесс, включая служебные библиотеки. Лимит не описан в официальной документации, но хорошо известен разработчикам: при его превышении система завершает процесс принудительно, с формулировкой про превышение лимита ресурсов.
Дополнительно система выгружает фоновые процессы, когда памяти не хватает основному приложению на экране. Запустили тяжёлую игру или редактор — iOS освобождает память, и сетевое расширение VPN оказывается одним из первых кандидатов на выгрузку. Туннель падает, а значок профиля остаётся: профиль-то всё ещё «включён».
Важно понимать: это не недоработка конкретного приложения. Ограничение действует на любое VPN на iOS, потому что оно в самой системе. Разработчик может лишь аккуратнее расходовать память, чтобы реже упираться в потолок, — но убрать лимит нельзя.
Что ещё разрывает соединение на телефоне
Память — основная, но не единственная причина.
- Смена сети. Переход с Wi-Fi на сотовую связь, между вышками, в метро — старое соединение
рвётся. Протоколы поверх UDP переживают это мягче, но полностью не застрахованы.
- Экономия энергии. Режим энергосбережения агрессивнее усыпляет фоновые процессы.
- Ручная выгрузка. Если смахнуть приложение из списка задач, система вправе не восстанавливать
его туннель до следующего ручного запуска.
Что реально помогает
Причину — лимит памяти — убрать нельзя, но частоту разрывов можно заметно снизить.
1. Включить автоподключение и «по требованию»
В настройках VPN-профиля есть режим, при котором система сама поднимает туннель, как только появляется сетевая активность. Тогда даже после выгрузки соединение восстанавливается прежде, чем вы это заметите. Это самая полезная настройка — включите её первой.
2. Не выгружать приложение вручную
Свайп вверх в списке задач для VPN-приложения контрпродуктивен: вы своими руками убираете то, что должно переподключаться. Пусть висит в фоне.
3. Не держать рядом тяжёлые приложения
Если во время важной работы через VPN параллельно запущена требовательная игра, шанс выгрузки растёт. Закройте лишнее — освободите память основному сценарию.
4. Проверить режим энергосбережения
При постоянных разрывах в фоне посмотрите, не включён ли режим экономии заряда, — он усиливает выгрузку. Если разрывы мешают, на время его стоит отключить.
Как отличить эту проблему от других
Признаки именно выгрузки по памяти:
- разрыв случается после тяжёлого приложения или игры, а не сам по себе;
- значок VPN остаётся, но интернет не идёт;
- помогает открыть само приложение VPN — оно переподнимает туннель.
Если же соединение не встаёт вовсе, с самого начала, — причина другая, и её стоит искать по общему разбору VPN подключился, а интернета нет.
Коротко
- Значок VPN показывает, что профиль включён, а не что туннель прямо сейчас работает.
- Соединение держит системное сетевое расширение с лимитом памяти около 50 МБ — при превышении
или нехватке памяти система его выгружает.
- Это ограничение самого iOS, оно касается любого VPN, а не одного приложения.
- Автоподключение и режим «по требованию» восстанавливают туннель незаметно — включите их первыми.
- Не выгружайте приложение вручную и не держите рядом тяжёлые игры во время важной работы.
Короткие ответы
Почему значок VPN горит, а интернета нет?
Значок в статусной строке показывает, что в системе настроен активный VPN-профиль, а не то, что туннель прямо сейчас передаёт данные. Фоновый процесс мог быть выгружен системой, при этом значок остаётся.
Это поломка приложения или так у всех?
Так устроен iOS. Часть, которая держит туннель, работает как системное сетевое расширение с жёстким лимитом памяти. При его превышении или при нехватке памяти в системе процесс завершается — это касается любого VPN, а не одного приложения.
Помогает ли протокол на UDP?
Косвенно. Протоколы вроде Hysteria2 переживают смену сети и короткие перерывы мягче и восстанавливаются быстрее, поэтому разрыв менее заметен. Но от выгрузки по памяти не спасает и он.
Что сделать, чтобы разрывов было меньше?
Включить в приложении автоподключение и «по требованию», не выгружать приложение вручную из списка задач и не держать одновременно тяжёлые игры. Это не убирает причину полностью, но заметно снижает частоту.