Ошибка расшифровки AEAD: неверный идентификатор пакета в openvpn с использованием UDP

Вопрос или проблема

Возникает ошибка расшифровки при использовании openvpn как UDP для подключения к серверу, вот такая:

Mon Apr 22 17:46:17 2019 AEAD Decrypt error: bad packet ID (may be a replay): [ #49607 ] -- см. запись в справочнике man для --no-replay и --replay-window для получения дополнительной информации или отключите это предупреждение с помощью --mute-replay-warnings
Mon Apr 22 17:46:34 2019 AEAD Decrypt error: bad packet ID (may be a replay): [ #51909 ] -- см. запись в справочнике man для --no-replay и --replay-window для получения дополнительной информации или отключите это предупреждение с помощью --mute-replay-warnings
Mon Apr 22 17:46:50 2019 AEAD Decrypt error: bad packet ID (may be a replay): [ #54482 ] -- см. запись в справочнике man для --no-replay и --replay-window для получения дополнительной информации или отключите это предупреждение с помощью --mute-replay-warnings

При использовании TCP проблем нет, но мне действительно нужно использовать UDP как openvpn.
Есть ли способ решить эту проблему?

Если MTU составляет 1500, добавьте mssfix 1431 внизу вашего *.ovpn.

Объяснение: получите информацию от объяснения Джеймса Йонана, который является владельцем OpenVPN

С туннелем в стиле TUN через UDP с использованием стандартных параметров TLS, накладные расходы на каждый пакет составляют:

  • 41 байт накладных расходов безопасности (включает тег пакета (1), HMAC-SHA1 подпись (20), вектор инициализации (16), порядковый номер (4))
  • 28 байт накладных расходов на туннелирование (включает IP + UDP заголовок)
  • Итого: 69 байт на пакет

Спасибо Минкус и j3ffyang !!

Это решило мою проблему, но на Windows 11!

Я смог подключиться к VPN, подключиться к серверу через ssh, но любое приложение, которое я запускал, зависало. Единственным ключом в логе была эта “AEAD Decrypt error”, и добавление “mssfix” решило проблему.

Ответ или решение

Причина ошибки "AEAD Decrypt error: bad packet ID" при использовании OpenVPN по протоколу UDP зачастую связана с сетевыми проблемами, вызванными дублированием пакетов или их неправильной последовательностью. Ошибка указывает на то, что OpenVPN не может корректно расшифровать пакет, возможно из-за его повторного появления на сервере. Рассмотрим более глубоко теоретические аспекты, примеры и пути решения данной проблемы.

Теоретическое обоснование

Когда вы используете OpenVPN с UDP, вы работаете с небезопасным и ненадежным по своей природе протоколом – UDP, который не гарантирует порядок доставки пакетов или их надежную отправку. Это контрастирует с TCP, который обязан гарантировать доставку и правильную последовательность пакетов, что объясняет, почему у вас не возникает эта проблема с TCP.

AEAD (Authenticated Encryption with Associated Data) – это метод, который обеспечивает одновременно конфиденциальность, проверку подлинности и целостность данных. Если порядок или наличие пакетов нарушается, OpenVPN может не пройти проверку целостности пакетов, что приведет к ошибке расшифровки.

Пример

При получении пакетов UDP OpenVPN использует окно перепроверки, чтобы предотвратить повторное применение одного и того же пакета. Пакеты идентифицируются по уникальным номерам, и если пакет с таким номером уже был получен или пришел не в последовательности, это вызывает ошибку. Пример:

  1. Пакет [#49607] приходит на сервер второй раз или вне последовательности.
  2. OpenVPN считает это потенциальной атакой повторного воспроизведения и игнорирует пакет, генерируя ошибку.

Практическое применение

  1. Конфигурация MTU и MSS Fix:
    Чтобы избежать сегментации пакетов, которая может привести к дублированию, рекомендуем настроить правильный Maximum Transmission Unit (MTU) и использовать параметры mssfix. Например, если ваш MTU равен 1500, добавление mssfix 1431 в конфигурацию может помочь избежать данных проблем.

  2. Настройка окна перепроверки:
    Вы можете настроить параметры --replay-window или полностью отключить проверку повторов пакетами, добавив --no-replay. Однако, отключение функции реплей-защиты ослабляет безопасность соединения и делается на ваш страх и риск.

  3. Изменение сетевых настроек:
    Проверьте сетевые устройства между клиентом и сервером. Брандмауэры, балансировщики нагрузки или роутеры могут некорректно обрабатывать или изменять порядок пакетов.

  4. Обновление и мониторинг:
    Регулярно обновляйте OpenVPN до последней версии, чтобы убедиться, что у вас есть последние исправления ошибок и оптимизации. Включите детальный лог OpenVPN для наблюдения за параметрами сети и выявления условий, которые могли бы влиять на последовательность и идентичность пакетов.

  5. Использование анализаторов трафика:
    Протестируйте соединение с помощью таких инструментов, как Wireshark, чтобы идентифицировать проблемы и посмотреть, как пакеты проходят через сеть.

Заключение: Управление VPN соединениями с помощью UDP имеет свои специфичные нюансы, и понимание теории, воздействие ее через реальные примеры, а затем применение на практике являются залогом успеха. Основное внимание здесь уделяется правильной конфигурации MTU и корректировке их оконной перепроверки для устранения проблемы, описанной выше.

Оцените материал
Добавить комментарий

Капча загружается...