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

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

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

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

WireGuard Error: Cookie reply rejected due to invalid timestamp — Решение

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

При высокой нагрузке на VPN-сервер клиенты не могут установить соединение, а пакеты аутентификации Cookie сбрасываются ядром.

  • В логах ядра: wireguard: wg0: Could not decode cookie response / Invalid cookie timestamp.
  • Клиент циклически отправляет Handshake Initiation, получает Cookie Reply, но не может успешно завершить аутентификацию.
  • Значительное расхождение локального времени на клиенте и сервере (более 120 секунд).
  • Сбой рукопожатия при резком всплеске нагрузки (SYN/UDP flood на порт VPN).

1. Принцип работы защитного Cookie-механизма

Когда сервер перегружен, он перестает отвечать на обычные инициализации и требует от клиента подтверждения владения IP-адресом через отправку зашифрованного Cookie-токена, содержащего метку времени (Timestamp) и MAC-аутентификатор.

2. Проверка и синхронизация системного времени

Метки времени в Cookie валидируются со строгим интервалом. Рассинхронизация часов приводит к немедленному отклонению токена:

# Проверка статуса синхронизации на сервере и клиенте
timedatectl status

# Принудительная синхронизация через chrony
chronyc sources -v
chronyc makestep

3. Мониторинг входящего флуда на порт WireGuard

Проверьте, не находится ли сервер под сетевой атакой, вызывающей принудительный переход WireGuard в режим Cookie-защиты:

# Анализ pps (пакетов в секунду) на интерфейсе
iftop -i eth0 -P

# Подсчет UDP-пакетов на порту 51820
tcpdump -nn -i eth0 udp port 51820 | pv -l -r > /dev/null

4. Ограничение нежелательного трафика через iptables / nftables

Защитите порт WireGuard от чрезмерного флуда с одного IP-адреса:

iptables -I INPUT -p udp --dport 51820 -m state --state NEW -m hashlimit --hashlimit-name wg_limit --hashlimit-above 20/sec --hashlimit-burst 50 --hashlimit-mode srcip -j DROP

5. Перезапуск интерфейса

wg-quick down wg0 && wg-quick up wg0
💡 Практика специалистов: Если Cookie-ошибки появляются регулярно без сетевых атак, проверьте виртуализацию сервера: в KVM/VMware гипервизорах часто наблюдается 'замерзание' таймеров виртуальных CPU (vCPU clock drift).

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

Почему Cookie Reply отправляется в открытом виде?

Cookie Reply не содержит конфиденциальных данных и шифруется специальным ключом Cookie-секрета (обновляемым каждые 2 минуты), чтобы не расходовать ресурсы процессора на расшифровку при атаках.

Каков допустимый дрейф времени для Cookie-пакетов?

Таймстемп в Cookie-пакетах должен укладываться в скользящее окно валидности секрета (120 секунд), иначе токен считается устаревшим.

Можно ли отключить Cookie-защиту в WireGuard?

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

Помогает ли смена ключей при ошибках Cookie Timestamp?

Нет. Проблема кроется исключительно в рассинхронизации часов (NTP) или перегрузке сетевого буфера хоста.

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