UMGUM.COM (лучше) 

Автозапуск IPTables ( Подсистема автоматического сохранения и применения правил утилиты сетевого защитного экрана "iptables". )

6 апреля 2014  (обновлено 23 сентября 2016)

OS: Linux Debian Lenny/Squeeze/Wheezy.

В Linux Debian версий 6/7/8 "по умолчанию" правила iptables не сохраняются автоматически. Это не недоработка, а своего рода защита от неподготовленного пользователя, коих с появлением пакетных дистрибутивов развелось хоть пруд пруди. Инструкции большая часть новоявленных "администраторов" читать не любит, пробавляясь всё больше подсказками на форумах, пользуясь которыми успешно блокируют сами себе доступ к удалённой машине. Так вот, если в результате бездумного манипулирования сильным и резким инструментом сетевые подключения заблокированы напрочь, то достаточно перезагрузить сервер, сделав тем самым "как было".

Уже после того, как вы вдоволь наигрались с iptables, получив работающую конфигурацию, можно установить надстройку, сохраняющую набор правил iptables и применяющую их при загрузке системы:

# aptitude install iptables-persistent

Настройки iptables в Linux Debian сохраняются в файлах "/etc/iptables/rules.v4" и "/etc/iptables/rules.v6" (очевидно, для каждого протокола отдельно). Изначально, если вы или какая-нибудь программа не успели добавить правила, там пусто.


Наверное невредно будет проконтролировать и сверить с задуманным текущую конфигурацию iptables. Сделать это можно следующей командой (вывод с номерами правил, последовательно применяемых - что важно):

# iptables -n -L -v --line-numbers

Теперь текущий набор правил можно сохранить принудительно, не дожидаясь остановки или перезагрузки системы (сохранять правила этот инструмент научился только в Debian Wheezy; в более древних версиях нужно поработать руками, как описано чуть далее):

# /etc/init.d/iptables-persistent save

С помощью этого скрипта можно вообще "остановить" защиту (на самом деле сервис iptables при этом не останавливается и модуль ядра не выгружается, а просто вычищаются все правила):

# /etc/init.d/iptables-persistent stop

Ну и, естественно, можно загрузить сохранённый ранее набор правил:

# /etc/init.d/iptables-persistent start

Если есть желание вывести текущий набор правил в отличающийся от заданного по умолчанию файл (в качестве резервной копии, например), можно сделать это с помощью соответствующей утилиты пакета iptables (этот набор из пяти-шести мини-программ и модулей ядра является стандартным набором для всех без исключения современных дистрибутивов Linux):

# iptables-save > /target-dir/iptables.up.rules-backup

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

# iptables -F

Ясное дело, что имеется и утилита восстановления конфигурации из файла:

# iptables-restore < /source-dir/iptables.up.rules-backup

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


Заметки и комментарии к публикации:


Оставьте свой комментарий ( выразите мнение относительно публикации, поделитесь дополнительными сведениями или укажите на ошибку )