Утилита записи / применения правил
Установка и настройка 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