Здесь полная схема прохождения пакетов через iptables, в том числе на ней указаны места, где выполняется шифрование/дешифровка пакетов (этот момент обычно опускается). ВАЖНО! Проверка на соответствие политики и расшифровка делается ядром исключительно на основе SAD и SPD, без использования чего-либо еще.
Что можно сделать.
Со стороны линуха посмотреть статистику XFRM - преобразователя пакетов при шифровке-расшифровке:
# cat /proc/net/xfrm_stat
Если счетчик любой ошибки растет - это жжж неспроста. У меня например, была ситуация, когда микротик не вязался с Strongswan из-за хэша SHA256 - у микротика какая-то своя, особенная реализация - два микротика вяжутся без проблем, а вот микротик и strongswan катеорически отказывались. При этом постоянно рос счетчик XfrmInStateProtoError - пакет принимался, но при расшифровке возникала ошибка и его просто отбрасывали, как поврежденный.
Есть еще полезная команда swanctl -l, показывающая состояние соединения.