MikroTik IPsec Error: payload malformed / bad hash — устранение сбоя
- В журнале RouterOS появляется
ipsec,error payload malformed / bad hash / invalid payload type. - Разрыв IKE сессии сразу после отправки пакетов с аутентификационными сертификатами или большими списками SA.
- Невозможность поднять туннель поверх каналов с низким MTU (PPPoE, LTE, L2TP).
- Пакеты IKE фрагментируются и отбрасываются промежуточными провайдерами.
1. Проверка фрагментации IKE пакетов (IKE Fragmentation)
Если используются тяжелые сертификаты X.509 или длинные списки шифров, пакеты фазы 1 фрагментируются. Включите IKE Fragmentation:
/ip ipsec profile set [find] enc-algorithm=aes-256,aes-128 hash-algorithm=sha256
! Для RouterOS v7 IKE fragmentation поддерживается по умолчанию в IKEv22. Проверка и синхронизация системного времени по NTP
Неверное время приводит к ошибкам валидации временных меток хэша (Anti-Replay / Nonce):
/system ntp client set enabled=yes
/system ntp client servers add address=pool.ntp.org
/system clock print3. Проверка аппаратных сбоев шифрования (Hardware Crypto Acceleration)
В редких случаях сбой встроенного криптомодуля приводит к повреждению дайджеста. Проверьте стабильность без HW-ускорения:
/ip ipsec proposal set [find] enc-algorithms=aes-128-cbc,aes-256-cbc4. Корректировка MSS и MTU на WAN-интерфейсе
/ip firewall mangle
add chain=forward action=change-mss new-mss=clamp-to-pmtu passthrough=yes \
protocol=tcp tcp-flags=syn Частые вопросы (FAQ)
Что вызывает ошибку 'payload malformed' в IPsec?
Ошибка указывает на то, что принятый IKE-пакет имеет неверный формат структуры данных, поврежденную контрольную сумму, неверную длину поля payload или был обрезан при фрагментации.
Почему ошибка 'bad hash' может возникать при правильном пароле?
Если на одном из концов туннеля используется другой алгоритм хэширования PRF или некорректно работает аппаратный чип шифрования, результирующий дайджест будет невалидным.
Помогает ли переход на IKEv2 избавиться от этой ошибки?
Да. IKEv2 имеет нативную стандартизированную поддержку фрагментации сообщений (RFC 7383), что предотвращает повреждение полезной нагрузки при прохождении через каналы с малым MTU.
Как проверить, поддерживает ли провайдер фрагментированные UDP пакеты?
Выполните пинг с запретом фрагментации: '/ping <IP> size=1472 do-not-fragment' и проверьте, возвращаются ли ответы.