Установка strongSwan с ГОСТ из RPM НАЙС.ОС¶
1. Предварительные требования¶
ОС: НАЙС.ОС CLOUD 5.2 (проверенная архитектура x86_64). Нужны администраторский доступ, репозитории НАЙС.ОС, соединение с другим узлом по UDP 500/4500, /dev/net/tun, свободное место и синхронизированные часы. По умолчанию на сервере может действовать политика iptables DROP: доступ IKE необходимо разрешить адресно.
Перед изменениями:
cat /etc/os-release
uname -r
timedatectl status
ip -br -4 addr
ip -4 route
iptables -S INPUT
iptables -S OUTPUT
test -c /dev/net/tun && echo 'TUN: OK'
2. Установить пакеты¶
Если пакет уже установлен, команда не должна заменять его компонентами из других дистрибутивов. Конкретная версия зависит от выбранного канала репозитория. При необходимости сначала запросите tdnf info strongswan и список доступных версий.
rpm -q strongswan openssl openssl-libs openssl-gost-engine
rpm -V strongswan openssl-gost-engine
rpm -ql strongswan | grep -E '(swanctl|charon|niceos-gost|kernel-libipsec|systemd|vici)'
Проверенная сборка 26.10.2026: strongswan-6.1.0-1.niceosc5, openssl-3.5.9-1.niceosc5, openssl-gost-engine-3.0.5-2.niceosc5, ядро 6.12.114-1.niceosc5. Не утверждайте, что именно эти версии установлены на каждой актуальной машине — проверяйте вывод rpm -q.
3. Где находятся компоненты¶
| Назначение | Путь в проверенном RPM |
|---|---|
| Управление | /usr/sbin/swanctl |
| Процесс IKEv2 | /usr/libexec/strongswan/charon |
| ГОСТ-плагин | /usr/lib/ipsec/plugins/libstrongswan-niceos-gost.so |
| Служба | /usr/lib/systemd/system/strongswan.service |
| Основной конфиг | /etc/strongswan.conf |
| Настройки соединений | /etc/swanctl/swanctl.conf, включаемые conf.d/*.conf |
| Сертификаты | /etc/swanctl/x509, x509ca, x509crl, private |
| ГОСТ Engine | /usr/lib/engines-3/gost.so |
| Настройка Engine | /etc/pki/niceos-gost/engine.cnf |
Установленный пакет может менять пути в следующих релизах: rpm -ql strongswan является источником истины для текущей машины.
4. Проверка системного ГОСТ¶
OPENSSL_CONF=/etc/pki/niceos-gost/engine.cnf openssl engine -t gost
OPENSSL_CONF=/etc/pki/niceos-gost/engine.cnf openssl dgst -md_gost12_512 /etc/os-release
systemctl enable --now strongswan.service
systemctl is-active strongswan.service
swanctl --list-algs | grep -Ei 'KUZNYECHIK|STREEBOG|GOST'
Если имена digest могут отличаться в другой версии Engine, сначала посмотрите openssl list -digest-algorithms с тем же OPENSSL_CONF. Критично проверить реальную загрузку плагина niceos-gost по journalctl, а не только присутствие файла .so.
5. Проверка VICI и портов¶
pgrep -a charon
ss -xlpn | grep '/run/strongswan/charon.vici'
ss -lunp | grep -E ':(500|4500)[[:space:]]'
journalctl -u strongswan.service -b --no-pager | grep 'loaded plugins:' | tail -n 1
Здесь ожидаются niceos-gost, kernel-libipsec, vici, x509, revocation, curl. Если службы нет или она аварийно завершается, сначала изучите параметры службы и диагностику. Не запускайте второй charon вручную поверх системного процесса.