Утилита записи / применения правил

Материал из КРАТКАЯ СПРАВОЧНАЯ DIGITAL-ORGY
Перейти к навигации Перейти к поиску

Установка и настройка iptables-persistent

📌 Описание

По умолчанию правила межсетевого экрана iptables в Linux живут только в оперативной памяти и безвозвратно сбрасываются при перезагрузке сервера. Пакет iptables-persistent (работающий через службу netfilter-persistent в современных версиях Ubuntu/Debian) решает эту проблему. Он автоматически сохраняет активные правила в конфигурационные файлы и восстанавливает их при каждом старте системы.

⚙️ Установка

Для установки утилиты выполните стандартные команды:

sudo apt update
sudo apt install iptables-persistent -y

Внимание в процессе установки:
На экране появится псевдографическое окно (ncurses) с вопросом, нужно ли сохранить текущие правила для IPv4 и IPv6.

  • Если фаервол уже настроен так, как вам нужно — выбирайте Yes (Да).
  • Если система чистая или правила ошибочны — выбирайте No (Нет).

🚀 Использование и основные команды

Вся работа с сохранением после установки выполняется через утилиту netfilter-persistent.

Сохранение новых правил

Если вы добавили или изменили правила в терминале (командой iptables ...), их необходимо «закоммитить»:

sudo netfilter-persistent save

Эта команда моментально выгрузит все текущие правила из ядра и запишет их в конфигурационные файлы.

Перезагрузка правил из файла

Если вы внесли изменения напрямую в текстовый файл конфигурации (или случайно сбросили правила в консоли) и хотите вернуть сохраненное состояние без перезагрузки сервера:

sudo netfilter-persistent reload

📂 Расположение конфигурационных файлов

Служба хранит сохраненные правила в виде простого текста (в формате вывода iptables-save). При необходимости их можно бэкапить или редактировать через nano/vim:

  • Правила IPv4: /etc/iptables/rules.v4
  • Правила IPv6: /etc/iptables/rules.v6

⚠️ Полезные советы (Troubleshooting)

1. Проверка статуса службы
Убедитесь, что служба добавлена в автозагрузку и работает без ошибок:

sudo systemctl status netfilter-persistent
sudo systemctl enable netfilter-persistent

2. Ручной бэкап
Перед сложными экспериментами с сетью полезно сделать быстрый ручной снимок текущих правил в домашнюю директорию:

sudo iptables-save > ~/iptables-backup-$(date +%F).v4

Восстановить такой бэкап можно командой: sudo iptables-restore < ~/iptables-backup-....v4