Переход strongSwan от ipsec.conf к swanctl
Что такое strongSwan
strongSwan — это популярная open-source реализация VPN на базе протоколов IPsec / IKEv1 / IKEv2, широко используемая для site-to-site и remote-access VPN.
Проект активно развивается, поддерживает современные криптографические алгоритмы, EAP-аутентификацию, сертификаты, MOBIKE, IKEv2 и хорошо подходит как для серверных, так и для клиентских сценариев.
Два варианта конфигурации strongSwan
В strongSwan исторически существует два подхода к установке и конфигурации.
1. Классический (legacy, ipsec.conf)
- Конфигурация через:
ipsec.confipsec.secrets
- Управление через команду
ipsec - Использует демон
starter - Подход считается устаревшим, но всё ещё поддерживается для обратной совместимости
2. Современный (swanctl)
- Конфигурация через
swanctl.conf - Управление соединениями через утилиту
swanctl - Напрямую работает с демоном
charon - Рекомендуемый вариант от разработчиков strongSwan
Преимущества использования swanctl
Переход на swanctl даёт ряд существенных преимуществ:
Современная архитектура
swanctlвзаимодействует напрямую сcharon, без промежуточного слояstarter.Динамическая загрузка конфигураций
Соединения, сертификаты, ключи и CRL можно загружать и обновлять без перезапуска сервиса.Чёткая иерархия конфигурации
swanctl.confимеет логичную структуру:connectionssecretsauthoritiespools
Будущее strongSwan
Новый функционал и улучшения в первую очередь появляются именно вswanctl, а не в legacy-конфигурацииipsec.conf.
Установка strongSwan с swanctl на Ubuntu 24.04
В Ubuntu 24.04 все необходимые пакеты доступны в официальных репозиториях.
Минимальная установка
sudo apt update
sudo apt install -y strongswan-swanctl strongswan-pki charon-systemd
Полезные дополнительные пакеты
sudo apt install -y libstrongswan-standard-plugins libstrongswan-extra-plugins
Проверка сервиса
После установки основной сервис — charon-systemd — запускается автоматически через systemd:
systemctl status strongswan
Утилита управления:
swanctl --version
Важное замечание
При использовании swanctl файлы:
ipsec.confipsec.secrets
не используются и могут быть пустыми или отсутствовать вовсе.
Кроме того, swanctl и ipsec вместе работать не могут. Надо выбрать что-то одно, и лучше чтобы это был swanctl.
Что дальше?
- Вспомнить как настроить легаси вариант.
- Структура /etc/swanctl и настройка CA, сертификатов и CRL в strongSwan
- Настройка подключения с аутентификацией по EAP-MSCHAPV2
- Настройка подключения с аутентификацией по EAP-TLS
- Настройка подключения с аутентификацией по как по EAP-TLS, так и EAP-MSCHAPV2.
Оставить комментарий могут только зарегистрированные пользователи.
Войдите на сайт или зарегистрируйтесь, чтобы оставить комментарий.