Сохранение и восстановление правил iptables¶
В НАЙС.ОС пакет iptables дополнен сервисом iptables.service и набором служебных скриптов. Это важно: распространённые инструкции из других дистрибутивов могут предполагать другие пути и команды.
Установите текущий механизм¶
Эти команды ничего не изменяют:
rpm -q iptables
rpm -ql iptables | grep -E 'systemd/scripts|iptables.service'
systemctl cat iptables
systemctl is-enabled iptables
ls -l /etc/systemd/scripts/
Если сервис есть, но не активирован, сначала выясните, почему: его может запускать preset, образ или другой профиль. Не выполняйте systemctl enable --now iptables автоматически на производственном сервере, пока неизвестно содержимое скриптов и их влияние на текущие правила Docker/SSH.
Снять резервную копию активных правил¶
sudo mkdir -p /root/firewall-backups
sudo iptables-save | sudo tee /root/firewall-backups/ip4.rules >/dev/null
sudo ip6tables-save | sudo tee /root/firewall-backups/ip6.rules >/dev/null
sudo chmod 600 /root/firewall-backups/ip4.rules /root/firewall-backups/ip6.rules
Это текстовые дампы действующего состояния IPv4/IPv6. Если Docker активен, дамп включает динамически созданные цепочки контейнеров. Простое восстановление дампа поверх работающего Docker может нарушить работающие контейнеры; согласуйте окно и проверяйте схему восстановления.
Как изучить штатные скрипты¶
sudo sed -n '1,220p' /etc/systemd/scripts/ip4save
sudo sed -n '1,220p' /etc/systemd/scripts/ip6save
sudo sed -n '1,220p' /etc/systemd/scripts/iptables
sudo systemctl cat iptables
Если файл отсутствует, проверьте состав пакета и версию. В следующем выпуске документации после изучения оригинальных Source1–Source5 здесь появится точная команда постоянного сохранения.
Восстановление из копии¶
При аварийном восстановлении работайте через локальную или внеполосную консоль. iptables-restore способен немедленно заменить правила и закрыть SSH; перед выполнением проверьте файл и состав таблиц, в том числе наличие Docker. Общий синтаксис:
# Только для согласованного восстановления через консоль:
# sudo iptables-restore < /root/firewall-backups/ip4.rules
Команда намеренно закомментирована: порядок восстановления зависит от того, какие службы создают и меняют правила в этом профиле.
Что необходимо проверить перед объявлением инструкций полностью готовыми¶
- Фактический
ExecStartиExecStopизiptables.service. - Чем и куда сохраняют правила
ip4save/ip6save. - Применяются ли правила до запуска SSH и Docker.
- Сохраняются ли новые правила после перезагрузки.
- Не конфликтует ли восстановление с правилами контейнеров.
Только после этих проверок можно публиковать команду штатного постоянного сохранения для конкретного выпуска НАЙС.ОС.