Траблшутинг IPsec %CRYPTO-4-RECVD_PKT_MAC_ERR в Cisco: сбой хэша HMAC
- В системном журнале маршрутизатора фиксируются ошибки
%CRYPTO-4-RECVD_PKT_MAC_ERR: decrypt: packet failed hash authentication for SPI 0x3A2B1C4D. - Резкое падение пропускной способности VPN-туннеля IPsec, высокий процент потери пакетов (Packet Drop).
- Интерфейсы туннелей (VTI / GRE over IPsec) переходят в статус down или не передают данные.
1. Проверка текущих ассоциаций безопасности (IPsec SA)
show crypto ipsec sa | include integrity|mac error|invalid spi
show crypto ipsec sa detail2. Анализ счетчиков ошибок 'pkts auth failed'
Обратите внимание на поле pkts auth failed в выводе:
show crypto ipsec sa peer 203.0.113.53. Проверка совпадения Transform-Set и алгоритмов целостности (HMAC)
Убедитесь, что с обеих сторон согласованы одинаковые алгоритмы хэширования (SHA256 / SHA512):
show crypto ipsec transform-set
show crypto ipsec profile4. Принудительный сброс и пересогласование фаз IKE и IPsec
clear crypto isakmp
clear crypto ipsec sa peer 203.0.113.5
# Для IKEv2:
clear crypto ikev2 sa5. Проверка работы аппаратного криптоускорителя
В случае деградации крипточипа переключите обработку временно в программный режим для теста:
show crypto engine configuration
show crypto engine error Частые вопросы (FAQ)
Что означает ошибка RECVD_PKT_MAC_ERR?
Пакет ESP был принят, но значение поля Message Authentication Code (MAC/ICV) не сошлось при проверке с использованием сессионного ключа аутентификации. Пакет отброшен как поврежденный или модифицированный.
Может ли повреждение пакетов провайдером вызывать эту ошибку?
Да, если промежуточный провайдер модифицирует заголовки, фрагментирует ESP пакеты с ошибками или портит полезную нагрузку из-за сбоев оборудования, контрольная сумма HMAC не сойдется.
Почему ошибка возникает при высокой нагрузке на туннель?
При высокой нагрузке может происходить рассинхронизация ключей при rekeying или сбои в аппаратных буферах криптографического чипа (Crypto Engine FIFO overflow).
Как узнать, какой трафик вызывает ошибку?
Сравните входящий SPI из сообщения об ошибке со значением 'inbound esp sas' в выводе команды 'show crypto ipsec sa detail'.