Что происходит с VPN, когда трафик надолго замолкает?

WireGuard и AmneziaWG используют UDP и в тишине почти ничего не отправляют. Это нормальное и экономное поведение: туннель не создаёт постоянный поток только ради видимости активности. Однако домашний роутер или мобильная сеть могут решить, что давно молчащий UDP-маршрут больше не нужен.

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

Telegram-flow

Хотите подключить VPN без ручных настроек?

Откройте бота: он покажет trial или тариф, отправит файл подключения и QR-код прямо в Telegram.

Попробовать в Telegram

Как stateful NAT запоминает UDP-соединение?

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

Запись, которую часто называют mapping, существует ограниченное время. UDP не устанавливает долговременную сессию с подтверждениями, как TCP, поэтому промежуточное устройство судит об активности по пакетам. После паузы оно удаляет запись, освобождая память и диапазон портов для новых потоков.

Почему сервер не может первым достучаться после NAT timeout?

VPN-сервер хранит последний внешний endpoint клиента. Пока mapping действует, ответные пакеты проходят через роутер к телефону или компьютеру. После удаления записи пакет всё ещё приходит на внешний адрес, но промежуточное устройство уже не знает, какому внутреннему клиенту его передать, и обычно отбрасывает его.

Новый исходящий пакет способен создать mapping заново. Проблема проявляется, когда клиент ждёт ответ, а сервер продолжает отправлять его на устаревший порт. Внешне это похоже на зависание после блокировки экрана, сна ноутбука или долгого отсутствия трафика, хотя первоначальное подключение было успешным.

Что делает PersistentKeepalive?

PersistentKeepalive заставляет сторону за NAT через заданные интервалы отправлять небольшой служебный пакет. Он не несёт пользовательского содержимого; его задача — напоминать NAT или stateful firewall, что UDP-маршрут всё ещё используется и запись нельзя удалять.

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

Почему часто называют интервал 25 секунд?

Официальный WireGuard Quick Start называет 25 секунд разумным интервалом, работающим с широким набором NAT и межсетевых экранов. Это практический ориентир, а не обязательная строка каждого профиля. По умолчанию keepalive выключен, поскольку большинству сценариев постоянная активность не требуется.

Слишком большой интервал может не успеть обновить mapping до его удаления, а слишком короткий чаще будит сетевой интерфейс. Реальное время жизни записи зависит от роутера, мобильного оператора и конкретной сети. Настройку применяют по наблюдаемому симптому и проверяют повторяемым тестом.

Как keepalive влияет на батарею и трафик?

Служебные пакеты малы, поэтому их прямой объём обычно невелик. На смартфоне важнее другой эффект: периодическая передача способна активировать радиомодуль и сократить время самого экономичного состояния сети. Влияние зависит от системы, сигнала, интервала и общей фоновой активности.

Если туннель стабильно восстанавливает обмен без keepalive, выключенное значение экономнее и соответствует исходной логике WireGuard. Если соединение регулярно замирает именно после тишины, небольшой расход может быть оправдан. Включать функцию всем пользователям на всякий случай нет необходимости.

Как понять, что проблема связана именно с NAT timeout?

Сравните время последнего handshake до и после сбоя. Если после долгой паузы оно устарело, а после переподключения или нового исходящего запроса сразу обновилось, картина согласуется с потерей mapping. Но одного признака мало: похожее поведение дают сон приложения, смена сети и фильтрация UDP.

Проверьте тот же профиль через Wi-Fi и мобильный интернет и зафиксируйте время появления симптома. Поддержке достаточно устройства, типа сети и времени handshake; приватный ключ и полный файл не нужны. Не меняйте PersistentKeepalive в выданном профиле самостоятельно: сначала исключите срок доступа, старый файл и другие причины.

Какие короткие ответы важно запомнить?

Нужно ли включать PersistentKeepalive каждому пользователю?

Нет. По умолчанию WireGuard оставляет его выключенным. Keepalive нужен прежде всего там, где клиент за NAT должен оставаться достижимым после длительной тишины.

Исправляет ли PersistentKeepalive любые обрывы VPN?

Нет. Он сохраняет UDP mapping, но не исправляет DNS, MTU, слабый сигнал, истёкший доступ или сетевую фильтрацию. Для мгновенного сбоя причина обычно другая.

Какие данные передать поддержке для диагностики?

Укажите устройство, приложение, сеть и время проблемы, а также помогает ли переподключение. Приватный ключ, QR-код и полный профиль отправлять не требуется.

Telegram-flow

Хотите подключить VPN без ручных настроек?

Откройте бота: он покажет trial или тариф, отправит файл подключения и QR-код прямо в Telegram.

Попробовать в Telegram