iptables после перезагрузки, способы сохранения правил iptables

iptables является системной утилитой, позволяющей контролировать возможные соединения. Чаще всего используется для разрешения или ограничения доступа к серверу с опредленных IP адресов или по определенным портам.



При помощи iptables можно настроить желаемые политики безопасности и гибко управлять трафиком (например, перенаправляя все запросы, поступающие на 80 и 443 порты на порт, на котором работает прокси-сервер в системе).

iptables не является службой и перезапустить iptables каким-либо образом нельзя, несмотря на то, что конструкции вида /etc/init.d/iptables restart встречаются во многих статьях.

 

Способы сохранения правил iptables после перезагрузки

iptables часто используется при настройке, среди прочего, OpenVPN и Squid. Для корректной работы пакетов необходимо обеспечить сохранение заданных правил после перезапуска системы. По умолчанию при перезапуске все правила iptables очищаются.

 

Существует два способа реализовать сохранение правил после перезагрузки:

 

  • Первый способ универсален и будет работать на всех системах

 

Прежде всего сохраняем существующие правила в файл iptables-save > /tmp/iptables.txt

Затем открываем для редактирования файл с сетевыми настройками и в конец файла дописываем строку, которая будет обеспечивать восстановление правил при подъеме сетевого интерфейса

mcedit /etc/network/interfaces

 

pre-up      iptables-restore < /tmp/iptables.txt

 

  • Второй способ заключается в использовании специальной утилиты- iptables-persistent.

Она доступна для установки в стандартным репозиториях Debian, для других дистрибутивов утилита может быть недоступна

Устанавливается стандартным способом:

apt-get install iptables-persistent

 

Правила iptables необходимо создать, затем выполнить следующую команду

service iptables-persistent start

 

В возникшем диалоге будет задан вопрос относительно необходимости сохранения правил после перезагрузки, следует дать положительный ответ

iptables-persistent работает как демон и загружается при старте системы. Правила iptables после перезагрузки будут подгружаться автоматически.

 

Поскольку утилита является демоном — прекратить ее работу нельзя, однако можно очистить список правил

service iptables-persistent flush

 

На практике пользоваться можно любым из описанных способов, использование iptables-persistent во многом предпочтительнее и удобнее.