Перейти к содержанию

Установка 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 repolist
tdnf install strongswan openssl openssl-libs openssl-gost-engine iptables

Если пакет уже установлен, команда не должна заменять его компонентами из других дистрибутивов. Конкретная версия зависит от выбранного канала репозитория. При необходимости сначала запросите 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 вручную поверх системного процесса.