Настройка iptables

By | December 9, 2009

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

Первое, что нужно сделать – убедиться, что в файле конфигурации /etc/sysconfig/iptables-config параметр IPTABLES_SAVE_ON_STOP=”yes”. Это заставит сервис iptables сохранять свою конфигурацию в файл при каждом завершении работы, чтобы не пришлось конфигурировать все повторно. Начнем с того, что создадим начальный файл конфигурации


На свежеустановленной системе файл будет иметь примерно следующее содержимое:

Что означает полностью прозрачный (открытый) режим работы. Никаких ограничений не задано. Здесь цепочка INPUT отвечает за фильтрацию входящего трафика, OUTPUT – исходящего.

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

1. Начнем с базовых вещей. Разрешим передачу трафика уже открытым соединениям:


2. Разрешаем входящие подключения на конкретных портах:

Этими командами мы открыли доступ извне всем новым подключеням на портах 80 и 22, по протоколу TCP.

3. Как только вы завершили открывать доступ на всех нужных вам портах нам необходимо сделать самое важное – заставить iptables отсекать весь остальной трафик, для которого нет описаных правил. ВНИМАНИЕ! Если вы осуществляете конфигурацию iptables на удаленном сервере по ssh, убедитесь, что вы прописали правило, которое позволит сохранить текущее подключение (в нашем случае это правило в пункте 1 и правило из пункта 2 для новых подлкючений), иначе вы рискуете быть заблокированным файерволом:

Данная команда означает буквально следующее – отклонять все пакеты, которые не подходят ни под одно описанное выше правило, со статусом “узел запрещен”.

4. Сохраните все ваши правила и убедитесь, что служба iptables будет автоматически запущена при рестарте системы.

После рестарта системы, iptables должен прочитать все правила из файла /etc/sysconfig/iptables и автоматически применить их. Проверить все дейвствующие правила можно командой

Если вы перезагрузились, а правил нет – проверьте, откуда их читает сервис. Посмотреть это можно в файле /etc/init.d/iptables, в параметре IPTABLES_DATA.