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

В попытках установить 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 mailing list
[email protected]
https://lists.altlinux.org/mailman/listinfo/sysadmins

Ответить