Unprotected Your provider sees every site you open. Encrypt it →
← All posts

Почему VPN постоянно отваливается и как заставить его держаться

Шесть причин в том порядке, в каком их надо проверять: сон устройства, смена сети, MTU, keepalive, оптимизация батареи и осознанная блокировка. К каждой — конкретная настройка.

Why Your VPN Keeps Disconnecting, and How to Make It Stay Up
TL;DR
  • Большинство «отвалов» — не отказ туннеля. Это туннель, который снесла операционная система, или конфиг, которому не сказали продолжать разговор в простое.
  • Начинайте с keepalive. Туннель WireGuard за домашним роутером замолкает, роутер забывает запись трансляции, и обратно ничего не приходит. Строка PersistentKeepalive = 25 закрывает это.
  • MTU стоит за самым странным симптомом: соединение держится, текстовые страницы грузятся, а крупные загрузки и видео висят вечно. Поставьте 1360 и перепроверьте.
  • На телефонах клиента убивает оптимизация батареи. On-Demand для iOS и Always-on плюс исключение из энергосбережения для Android — две настройки, которые решают.
  • Если рвётся только в одной стране или в одной сети — это не баг. Это распознавание протокола, и лечится оно маскирующим протоколом, а не настройкой.

VPN, который отваливается каждые несколько минут, хуже, чем его отсутствие: непонятно, какой трафик прошёл через туннель, а какой мимо. Обиднее всего, что соединение обычно не сломано ни в каком осмысленном значении — что-то на устройстве, в роутере или на пути намеренно его сняло. Почти всё сводится к шести причинам. Здесь они выстроены по частоте, так что идите по списку сверху, а не начинайте с экзотики.

Первая: нет keepalive, и роутер про вас забыл

Самая частая причина и наименее известная. WireGuard намеренно молчалив: он шлёт пакеты только когда есть что отправить. Эта экономность сталкивается с тем, как устроены домашние роутеры.

Роутер держит таблицу соответствий между вашим внутренним устройством и внешним соединением. Записи протухают в простое, часто через тридцать-шестьдесят секунд. Если туннель минуту ничего не отправлял, запись исчезает, и пакетам от сервера некуда возвращаться. Исходящий трафик мгновенно восстанавливает связь — поэтому соединение будто работает, стоит его тронуть, и будто мертво каждый раз, когда вы к нему возвращаетесь.

Лечится одной строкой в секции Peer вашей конфигурации:

В наших конфигах строка уже есть. Если вы собрали туннель у провайдера, который её не кладёт, добавьте сами: она относится к Peer, а не к Interface, и в неверной секции молча не делает ничего.

Вторая: устройство ушло в сон

Ноутбуки усыпляют сетевые интерфейсы, и после пробуждения туннель протухший: интерфейс есть, клиент показывает «подключено», пакеты не идут. Мобильные устройства делают то же самое жёстче, полностью замораживая фоновые приложения.

Как выглядит: VPN всегда мёртв после того, как крышку закрывали, а ручное переподключение всегда срабатывает сразу.

На десктопе лечится клиентом, который ловит пробуждение и пересобирает туннель, — официальные клиенты WireGuard это умеют. На macOS дополнительно проверьте, включён ли On-Demand в свойствах туннеля. Если у вас самосборная схема на wg-quick, повесьте пересоздание на хук пробуждения или смиритесь с ручным переподключением после каждого сна.

Третья: вы сменили сеть

Вышли из дома — телефон переключился с Wi-Fi на мобильный интернет. Локальный адрес изменился, и туннель, привязанный к прежнему интерфейсу, шлёт пакеты с адреса, которого сервер не знает.

WireGuard справляется с этим лучше большинства протоколов благодаря роумингу: сервер принимает новый адрес пира, как только получает от него аутентифицированный пакет. Но работает это только если клиент продолжает отправлять — и вы снова возвращаетесь к keepalive. Без него роуминг просто не на чем запустить.

На iOS включите On-Demand в свойствах туннеля, чтобы соединение пересобиралось при смене сети само. На Android то же самое делает Always-on VPN: Настройки, Сеть и интернет, VPN, рядом с вашим клиентом.

Четвёртая: MTU, причина самого странного симптома

Если соединение держится, но ведёт себя странно — текстовые страницы открываются, большие загрузки стоят, видео буферизуется бесконечно, часть сайтов не догружается — почти всегда виноват MTU.

Каждый пакет прибавляет в размере, когда WireGuard его оборачивает. Если результат превышает то, что позволяет путь, пакет нужно фрагментировать или отбросить. Фрагментацию часто запрещают, а уведомление, которое подсказало бы устройству слать пакеты поменьше, нередко фильтруют, — и устройство продолжает отправлять пакеты, исчезающие в никуда. Мелкие запросы проходят, крупные передачи нет: ровно та картина, которую описывают словами «подключено, но не работает».

Лечится явным заданием MTU в секции Interface. Начните с 1360 и снижайте шагами по 40, если симптом остался. На мобильных сетях и PPPoE-подключениях часто нужны значения около 1280. Это стоит доли процента скорости и полностью снимает проблему.

Пятая: телефон убил клиент

Оптимизация батареи в Android агрессивно завершает фоновые приложения, и VPN-клиенты — первые в очереди. Часть фирменных оболочек ведёт себя куда жёстче стокового Android; поведение хорошо задокументировано у разных производителей, и именно поэтому туннель умирает в кармане и никогда не умирает, пока вы смотрите на экран.

Что делать на Android, по убыванию эффекта:

На iOS эквивалент — On-Demand, и система соблюдает его надёжно. iOS строже к фоновому выполнению, но лучше держит VPN-профиль, потому что профиль — системный объект, а не процесс приложения.

Шестая: его рвут намеренно

Первые пять причин — случайности. Эта нет, и у неё характерная подпись: туннель подключается и умирает через предсказуемый интервал, либо работает в одной сети и никогда в другой, либо перестал работать по всей стране в день, который вы можете назвать.

У стандартного WireGuard узнаваемое рукопожатие, и глубокая инспекция трафика опознаёт его за миллисекунды. После опознания его можно отбросить, придушить по скорости или дать подключиться и убить — последний вариант сбивает с толку намеренно, потому что выглядит как нестабильная связь, а не как политика.

Никакое значение MTU это не лечит: дело не в размере пакета, а в его внешнем виде. Ответ — протокол, чей трафик не похож на VPN: AmneziaWG, который добивает и рандомизирует рукопожатие, или VLESS/Reality, имитирующий обычный TLS. Наше сравнение трёх протоколов объясняет, когда каждый стоит накладных расходов, а в наши конфиги профили AmneziaWG входят именно для этого случая.

Конфиги, в которых всё это уже учтено.

Keepalive, разумный MTU и профили AmneziaWG идут в каждом конфиге Cypher VPN. Без аккаунта и почты, крипта от $1.99 за неделю.

Открыть инструкции

Порядок диагностики, который экономит вечер

Вместо того чтобы менять пять настроек разом, сперва определите слой:

FAQ

Почему VPN постоянно переподключается на мобильном интернете?

Обычно складываются две причины: мобильная сеть меняет адрес чаще, чем Wi-Fi, а оптимизация батареи замораживает клиент между обращениями. Включите On-Demand на iOS или Always-on плюс исключение из энергосбережения на Android и убедитесь, что PersistentKeepalive задан.

Опасно ли переподключение?

Зависит от kill switch. В промежутке между обрывом и восстановлением трафик может уйти обычным маршрутом и раскрыть ваш настоящий адрес. Опция Android «Блокировать соединения без VPN» предотвращает это на системном уровне, и потому она важнее самого переподключения.

Почему подключено, но ничего не грузится?

В подавляющем большинстве случаев MTU. Пропишите MTU 1360 в секции Interface и перепроверьте, при необходимости снижая дальше. Живой туннель при висящих передачах — классическая подпись проблемы с размером пакета.

VPN работал, а потом перестал по всей стране. Почему?

Такое совпадение по времени указывает на блокировку, а не на неисправность. Стандартный WireGuard распознаётся по отпечатку и фильтруется как категория. Переходите на маскирующий профиль вроде AmneziaWG: перенастройка обычного WireGuard тут не помогает.

Помогает ли смена локации?

Она подсказывает, где проблема. Если один выход стабилен, а другой нет — дело в пути или в конкретном хосте. Если все выходы ведут себя одинаково, причина на вашем устройстве или в роутере.

Меньше обрывов по умолчанию.

Keepalive и AmneziaWG в каждом конфиге, три выхода: Нидерланды, Румыния, Финляндия. Без аккаунта и почты. Telegram: t.me/CypherESIM_bot

Получить Cypher VPN