[Sysadmins] IPsec, p10, ядро 5.10.174-std-def-alt1, strongswan 5.9.10-alt1 и Кинетик с Микротиком

Alex Moskalenko mav на elserv.msk.su
Чт Апр 20 16:17:56 MSK 2023


Здравствуйте.

В попытках установить IPsec-туннель между сервером на стареньком Xeon с 
AES-NI, AVX и без AVX2 и двумя удаленными точками с Keenetic и Mikrotik 
наткнулся на непонятное поведение скорее всего ядра.

Пытаюсь поднять обычный IKEv2 туннель между сетями с параметрами IKE 
AES_CBC_256/HMAC_SHA2_256_128/MODP_2048 и параметрами ESP 
AES_CBC_256/HMAC_SHA2_256_128/MODP_2048. Согласование проходит, 
соединение устанавливается, ESP SAs создаются (с одинаковыми ключами на 
обоих сторонах), маршрут также создается - но трафик не ходит. При этом 
на каждый отправленный любой из сторон ESP-пакет увеличивается счетчик 
failed на другой стороне туннеля.

Путем экспериментов было выяснено, что если в ESP (и только в ESP) 
изменить SHA256 на SHA1 (получается AES_CBC_256/HMAC_SHA1_96/MODP_2048) 
- проблема исчезает, счетчики ошибок нулевые и трафик ходит.

Как я понимаю, вся обработка трафика происходит внутри ядра, и 
получается, что проблема в нем. Так как на другой стороне устройства 
двух разных вендоров ведут себя совершенно одинаково - проблема вряд ли 
в них.

Подскажите пожалуйста, из-за чего может возникать такая ситуация и как 
все-таки заставить работать SHA256 в ESP.



Подробная информация о списке рассылки Sysadmins