Восстановление IPsec после отказа или изменения настройки¶
Резервная копия¶
umask 077
BACK="/root/ike-backup-$(date +%Y%m%d-%H%M%S)"
install -d -m 700 "$BACK"
cp -a /etc/strongswan.conf "$BACK/"
cp -a /etc/swanctl "$BACK/"
iptables-save > "$BACK/iptables.rules"
ip route show table 220 > "$BACK/table220.txt"
ip rule show > "$BACK/ip-rules.txt"
swanctl --list-sas > "$BACK/sas-before.txt"
Каталог /etc/swanctl содержит секреты, поэтому такая резервная копия допустима только под root и в закрытом резервном хранилище. Не добавляйте её в Git, письма и пользовательский ZIP.
Проверка причины отказа¶
systemctl is-active strongswan.service
swanctl --list-conns
swanctl --list-sas
ip -d link show ipsec0
ip route show table 220
iptables -S OUTPUT
journalctl -u strongswan.service -b --no-pager | tail -n 100
При исчезновении SA можно восстановить выбранное соединение после устранения причины:
Если процесс упал, восстановление systemctl restart strongswan.service выполняйте в окно обслуживания; убедитесь, что VICI работает и swanctl --load-all успешен. Не снимайте fail-closed только ради ping. Восстанавливайте TUN и маршруты по инструкции.
Отказ при CRL¶
Если CRL отсутствует после лабораторного теста, верните проверенную действительную версию, swanctl --load-creds --clear, затем новое IKE_AUTH. Если сертификат действительно отозван, подменять CRL старым файлом запрещено: генерируйте новую ключевую пару и новый сертификат.
Откат конфигурации¶
Восстанавливайте только изменённые файлы из резервной копии и перечитывайте их swanctl --load-conns. Глобальный strongswan.conf может потребовать рестарта. После любых изменений проверьте выбранные ГОСТ IKE/ESP, CRL, маршруты, запрет обхода и двусторонний ICMP.
При аварии charon (SIGKILL) маршрут к защищённому адресу может переключиться на физический шлюз; адресный firewall REJECT должен оставаться активным. Это защищает тестовый /32, но не является автоматически доказанной политикой для всех IPv6/FORWARD маршрутов.