Текст и данные · Инструкция
WireGuard handshake не обновляется
WireGuard handshake не обновляется. Если latest handshake не обновляется во время реальной попытки передать трафик, проверяйте endpoint, public keys, UDP-доступность и AllowedIPs; старый handshake в полном простое не.
Короткий ответ
Если latest handshake не обновляется во время реальной попытки передать трафик, проверяйте endpoint, public keys, UDP-доступность и AllowedIPs; старый handshake в полном простое не всегда означает поломку.
Как читать handshake вместе с RX/TX
WireGuard не обязан постоянно поддерживать свежий timestamp handshake, когда нет данных для передачи. `wg show` позволяет сопоставить latest handshake с endpoint и накопительными счётчиками RX/TX. TX растёт без RX — признак того, что локальная сторона отправляет данные, но ответа не получает; конкретная причина ещё не определена.
Совет: Зафиксируйте исходную точку: создайте тестовый трафик к внутреннему IP, который точно должен идти через проблемный peer.
Практическая проверка в воспроизводимых условиях
- 1. Создайте тестовый трафик к внутреннему IP, который точно должен идти через проблемный peer.
- 2. Проверьте `wg show` и сравните latest handshake, RX, TX и endpoint до и после теста.
- 3. Сверьте public key пира с ключом второй стороны и убедитесь, что вы смотрите именно нужный peer.
- 4. Проверьте UDP-порт сервера на локальном firewall и пограничном устройстве, а также актуальность DNS имени endpoint.
- 5. Сверьте AllowedIPs и маршруты; только затем тестируйте PersistentKeepalive для пира за NAT.
Важно: Не публикуйте private keys и preshared keys в логах.
Как не перепутать причину
Если TX не меняется при запросе к внутреннему адресу, нужный трафик может вообще не попадать к этому peer из-за AllowedIPs или маршрута. PersistentKeepalive полезен для некоторых NAT-сценариев, но не исправляет несовпадающие ключи или закрытый серверный порт. Разделяйте четыре ситуации. Если TX не растёт, пакет не выбирает этот peer — смотрите AllowedIPs и локальный маршрут. Если TX растёт, а RX остаётся на месте, проверяйте endpoint, UDP/firewall, NAT и ключи. Если оба счётчика растут, но приложение не работает, WireGuard как транспорт уже не главный подозреваемый: проверяйте адреса сервиса, DNS и ACL. Наконец, старый handshake без активного трафика допустим: WireGuard специально не поддерживает постоянную болтовню ради свежего таймстампа. Если доступна вторая сторона туннеля, снимите `wg show` одновременно там: это быстро показывает, на каком направлении прекращается обмен.
Предупреждение: Не перезапускайте интерфейс после каждого теста: это стирает полезный контекст и мешает увидеть динамику счётчиков.
Что нельзя считать исправлением
Не публикуйте private keys и preshared keys в логах. Не перезапускайте интерфейс после каждого теста: это стирает полезный контекст и мешает увидеть динамику счётчиков. Не перезапускайте интерфейс после каждого действия: так вы стираете накопленные счётчики и усложняете сравнение.
Что учитывать
Не публикуйте private keys и preshared keys в логах. Не перезапускайте интерфейс после каждого теста: это стирает полезный контекст и мешает увидеть динамику счётчиков. Не перезапускайте интерфейс после каждого действия: так вы стираете накопленные счётчики и усложняете сравнение.
Источники и проверка
Фактическая часть сверена по первичным источникам (в т.ч. WireGuard Quick Start). Пример и формулировки — редакция N1RO на 2026-09-23.