KorDen Posted August 21, 2016 Posted August 21, 2016 v2.08(AAUX.0)A4 <-> v2.06(AAFS.11)B4 При экспериментах с производительностью туннеля решил попробовать отключить шифрование ESP. При этом соединение устанавливается и в веб-интерфейсе отображается активным, но удаленная сеть не пингуется. Стоит поставить шифрование - все начинает работать. Пример конфига: Скрытый текст crypto engine hardware crypto ike proposal TTest encryption aes-cbc-128 dh-group 15 integrity sha1 ! crypto ike policy TTest proposal TTest lifetime 3600 mode ikev2 ! crypto ipsec transform-set TTest cypher esp-null hmac esp-sha1-hmac dh-group 15 lifetime 3600 ! crypto ipsec profile TTest dpd-interval 30 identity-local email firnen@ellesmera.alagaesia match-identity-remote any authentication-local pre-share mode tunnel policy TTest ! crypto map TTest set-peer any set-profile TTest set-transform TTest match-address _WEBADMIN_IPSEC_TTest set-tcpmss pmtu nail-up virtual-ip no enable enable ! Quote
Le ecureuil Posted August 21, 2016 Posted August 21, 2016 5 часов назад, KorDen сказал: v2.08(AAUX.0)A4 <-> v2.06(AAFS.11)B4 При экспериментах с производительностью туннеля решил попробовать отключить шифрование ESP. При этом соединение устанавливается и в веб-интерфейсе отображается активным, но удаленная сеть не пингуется. Стоит поставить шифрование - все начинает работать. Пример конфига: Показать содержимое crypto engine hardware crypto ike proposal TTest encryption aes-cbc-128 dh-group 15 integrity sha1 ! crypto ike policy TTest proposal TTest lifetime 3600 mode ikev2 ! crypto ipsec transform-set TTest cypher esp-null hmac esp-sha1-hmac dh-group 15 lifetime 3600 ! crypto ipsec profile TTest dpd-interval 30 identity-local email firnen@ellesmera.alagaesia match-identity-remote any authentication-local pre-share mode tunnel policy TTest ! crypto map TTest set-peer any set-profile TTest set-transform TTest match-address _WEBADMIN_IPSEC_TTest set-tcpmss pmtu nail-up virtual-ip no enable enable ! Отключено было на обоих сторонах туннеля? Попробуйте еще без crypto engine hardware. Quote
KorDen Posted August 21, 2016 Author Posted August 21, 2016 26 минут назад, Le ecureuil сказал: Отключено было на обоих сторонах туннеля? Попробуйте еще без crypto engine hardware. Естественно на обоих сторонах, иначе туннель бы не поднялся, ругнувшись на несоответствие (проверил). Попробовал без аппаратного, аналогично. В момент отключения еще словил лок на ультре (в аттаче), селфтест чуть позже пытался сделать, не удалось запустить. threads-ipsec.zip Quote
Le ecureuil Posted August 21, 2016 Posted August 21, 2016 1 минуту назад, KorDen сказал: Естественно на обоих сторонах, иначе туннель бы не поднялся, ругнувшись на несоответствие (проверил). Попробовал без аппаратного, аналогично. В момент отключения еще словил лок на ультре (в аттаче), селфтест чуть позже пытался сделать, не удалось запустить. threads-ipsec.zip Будьте аккуратны при работе с командой crypto engine, поскольку эта команда в теории может вызвать lock, если случайно в ядре останутся незавершенные сессии Phase 2 SA. Сперва рекомендую обязательно остановить IPsec: > no service ipsec Затем выждать несколько секунд Затем уже выполнять нужную операцию: > crypto engine .... И только затем, через несколько секунд опять запускать IPsec: > service ipsec Quote
KorDen Posted August 22, 2016 Author Posted August 22, 2016 20 часов назад, Le ecureuil сказал: Попробуйте еще без crypto engine hardware. Попробовал с ожиданием, действительно, заработало. Только скорость Ultra 2 - Giga 2 без шифрования ~4 МБ/с, а с AES-128/hardware 12-13 МБ/с... Забавно... Quote
Le ecureuil Posted August 22, 2016 Posted August 22, 2016 33 минуты назад, KorDen сказал: Попробовал с ожиданием, действительно, заработало. Только скорость Ultra 2 - Giga 2 без шифрования ~4 МБ/с, а с AES-128/hardware 12-13 МБ/с... Забавно... Короче проблема в crypto engine, как я и ожидал А удивительного ничего нет: в обоих случаях кроме шифрования нужно еще посчитать HMAC для пакета, и в первом случае без шифрования он считается программно, а во втором случае - аппаратно за один такт с шифрованием. Потому и выходит быстрее. Спасибо за диагностику, буду разбираться где же неправильно работает crypto engine. Quote
Le ecureuil Posted August 26, 2016 Posted August 26, 2016 Да, проблема воспроизводится, но скорее всего поправлена не будет - несколько часов дебага и поисков причин ничего не дали, а смысла в продолжении мало, и вот почему. esp-null используется для дебага, чтобы захватить через wireshark или ndm-mod-monitor пакеты и посмотреть что же внутри ESP. В production же никто не будет использовать ESP без шифрования (по крайней мере я надеюсь на это). Потому если по каким-то причинам нужен esp-null - используйте crypto engine software. Quote
KorDen Posted August 26, 2016 Author Posted August 26, 2016 4 часа назад, Le ecureuil сказал: а смысла в продолжении мало, и вот почему. Раз решение ошибки нетривиальное - конечно смысла нет.. 4 часа назад, Le ecureuil сказал: В production же никто не будет использовать ESP без шифрования Теоретически, в зависимости от среды передачи, может быть необходимость туннеля [с проверкой валидности данных (HMAC)], но шифрование не обязательно, если по этому туннелю и так гоняются шифрованные TLS/... данные. Но это уже сильно частные случаи конечно, я просто игрался - нашел баг - сообщил.. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.