StrongSWAN и Network-Manager
klink0v — 14.08.2025
Оказывается, StrongSWAN вполне себе неплохо интегрируется с Network-Manager. Основной профит от этого в том, что можно через привычный GUI включать-выключать графическим "рубильничком" нужное IPSec-соединение. Однако есть пара неочевидностей.
Первая. Нужен отдельный вариант (бинарник) демона Charon, который управляется через D-Bus. В Debian-е это пакет "strongswan-nm", в то время как "традиционный" управляемый через Unix-сокет charon упакован в "charon-systemd". В принципе, они не дерутся друг с другом, так что можно иметь в системе оба. Про всякие "strongswan-starter" и "strongswan-charon" советую уже забыть, это прошлый век. Вот да, пакеты именуются так, что "с порога" не поймешь какой именно тебе нужен.
К "strongswan-nm" должен еще прилагаться пакет "network-manager-strongswan" — это "переходник" между Network-Manager и Charon-nm. Впрочем, он числится в рекомендуемых для "strongswan-nm" так что не промахнешься.
Вторая неочевидность заключается в том, что в GUI нет кучи зачастую важных настроек, которые выставлены в какие-то значения по умолчанию. К ним в числе прочих относятся шифры и хеш-алгоритмы первой фазы. "Из коробки" там идут какие-то аж ed25519, которых "традиционные" сетевые железки просто не понимают. Тот же Juniper когда видит незнакомый proposal в сообщении, просто не отвечает вообще ничего на init-пакет. А ты сиди и думай что же не так. Поэтому я долго не понимал, почему в одних и тех же условиях через charon-systemd соединение до домашнего маршрутизатора устанавливается, а через charon-nm — нет. Грешил на очередные блокировки, но на поверку всё оказалось прозаичнее.
Таким образом, нужно лезть руками в "/etc/NetworkManager/system-connections/БлаБлаБла.nmconnection" и дописывать в секцию "[vрn]" строчки наподобие.
proposal=yes esp=aes256gcm16 ike=aes256gcm16-prfsha384-ecp256
Тут привел как пример свои настройки, у вас они могут быть другими. Смысл в том, чтобы явно определить шифры, тогда всё срастается как надо. Для применения настроек нужно перезапустить (!) NetworkManager: просто reload чё-то не катит.
И ещё один интересный нюанс. Charon-systemd использует виртуальные xfrm-интерфейсы. А Charon-nm — "обычные" tun-интерфейсы. Непонятно, но очень интересно. Типа, на десктопах необязательно гоняться за производительностью и аппаратной криптоакселерацией, поэтому и старый добрый tun проканает? Впрочем, с точки зрения мясного пользователя особой разницы нет.
Всем найти управу на Network-Manager и как можно позже повстречаться с Хароном.
|
|
</> |
Анонимные чаты: технические принципы и цифровая безопасность 
