[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