Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

WG_REPLAY_ATTACK_DETECTED Сетевое оборудование и VPN

WireGuard Error: Underflow / overflow in replay counter — Защита от Replay атак

Обновлено: 24.08.2026 · Официальная документация ↗

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

  • Сообщения в dmesg: wireguard: wg0: Packet has invalid nonce/counter: underflow/overflow или Packet is a replay! Dropping..
  • Внезапные задержки и обрывы активных TCP-сессий при нестабильном интернет-канале (Wi-Fi, Satellite, LTE).
  • Счетчик rx перестает увеличиваться, несмотря на наличие входящих дейтаграмм на сетевой карте.
  • После ручного перезапуска туннеля трафик временно восстанавливается.

1. Принцип работы Replay Counter в протоколе WireGuard

WireGuard защищает трафик от атак повторного воспроизведения (Replay Attacks) с помощью 64-битного счетчика нонсов (Nonce) и скользящего окна (Sliding Window) размером 2048 пакетов. Пакеты, пришедшие вне пределов окна или повторно, немедленно отбрасываются ядром.

2. Анализ состояния нестабильности канала (Jitter / Packet Reordering)

Если пакеты в канале сильно переупорядочиваются (packet reordering) из-за проблем провайдера или агрегации каналов (Multipath), старые пакеты выпадают из окна валидации:

# Проверка стабильности задержек и переупорядочивания
ping -c 100 -i 0.1 <IP_СЕРВЕРА>

# Захват пакетов для анализа дубликатов
tcpdump -nn -i any udp port 51820 -c 1000

3. Устранение дублирования пакетов на сетевом оборудовании

Проверьте настройки сетевого оборудования на предмет петель коммутации (Spanning Tree Loops) или неправильной балансировки bond-интерфейсов:

# Проверка ошибок на физическом интерфейсе хоста
ip -s link show eth0

4. Принудительная инициализация нового сессионного ключа

Если счетчик нонсов переполнился (передано $2^{64}$ пакетов) или рассинхронизировался, принудительно вызовите повторное рукопожатие:

# Быстрый сброс сессии без размонтирования интерфейса
wg set wg0 peer <PublicKey> endpoint <Endpoint_IP:Port>
💡 Практика специалистов: Часто ошибки replay возникают при одновременном запуске двух клиентов с одним и тем же приватным ключом. Никогда не используйте один конфиг клиента на двух устройствах одновременно.

Частые вопросы (FAQ)

Что означает ошибка Replay Attack в логах WireGuard?

Это означает, что модуль ядра получил пакет с номером счетчика (nonce), который уже был обработан ранее, либо его номер сильно отстал от текущего окна валидации (размер окна — 2048 пакетов).

Может ли злоумышленник внедрить данные при возникновении этой ошибки?

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

Как часто WireGuard автоматически обновляет сессионные ключи?

WireGuard выполняет рекеинг (Rekeying) каждые несколько минут или после передачи определенного количества сообщений (Rekey-After-Messages), что автоматически сбрасывает счетчики нонсов.

Влияет ли аппаратное ускорение (Crypto Offload) на счетчики нонсов?

Сбои в прошивках некоторых сетевых карт с поддержкой hardware offloading могут вызывать дублирование UDP-дейтаграмм. В таком случае отключите generic-receive-offload: ethtool -K eth0 gro off.

Полезные материалы
Рекомендуем