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

Сохранение цепочек можно сделать автоматическим, но я не советую вам на это надеяться. Лучше сделать все вручную, так будет надежнее.

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

ipchain-restore < файл

Это очень удобно. Допустим, что вы хотите протестировать новые правила, но боитесь испортить уже отлаженные цепочки. Сохраните в каком-нибудь файле текущее состояние и изменяйте что угодно и как угодно. В любой момент можно вернуться к исходной точке, выполнив одну команду восстановления.

<p>4.12. iptables</p>

Программа iptables является новой разработкой по управлению фильтрами и обеспечению безопасности, но пока еще не смогла завоевать сердца большинства пользователей. Если вы разобрались с утилитой ipchains, то понять принцип работы с iptables будет не сложнее.

С помощью iptables вы также можете редактировать цепочки правил input, output и forward.

<p>4.12.1. Основные возможности iptables</p>

Сходство между ipchains и iptables прослеживается уже при взгляде на параметры:

□ -A цепочка правило — добавить правило в конец цепочки. В качестве параметра указывается имя цепочки INPUT, OUTPUT или FORWARD;

□ -D цепочка номер — удалить правило с указанным номером из заданной цепочки;

□ -R цепочка номер правило — заменить правило с указанным номером в цепочке;

□ -I цепочка номер правило — вставить правило в указанную первым аргументом цепочку под номером, заданным во втором параметре. Если номер равен 1, то правило станет первым в цепочке;

□ -L цепочка — просмотреть содержимое указанной цепочки;

□ -F цепочка — удалить все правила из цепочки;

□ -р протокол — определяет протокол, на который воздействует правило;

□ -i интерфейс — определяет сетевой интерфейс, с которого данные были получены. Здесь можно использовать INPUT, FORWARD или PREROUTING;

□ -o интерфейс — задает интерфейс, на который направляется пакет. Здесь можно указывать OUTPUT, FORWARD или POSTROUTING;

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

 • LOG — поместить в журнал запись о получении пакета;

 • REJECT — отправителю будет направлено сообщение об ошибке;

 • DROP — удалить пакет;

 • BLOCK — блокировать пакеты;

□ -s адрес — IP-адрес отправителя пакета. Как и в случае с iptables, после адреса можно задать маску в виде /mask и знак отрицания "!", что будет соответствовать любым адресам, кроме указанных;

□ -d адрес — адрес назначения пакета.

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

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

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

Для сохранения изменений в iptables также надо выполнить специализированную команду:

service iptables save

<p>4.12.2. Переадресация</p>

Для разрешения переадресации с помощью iptables нужно выполнить следующую команду:

iptables -A FORWARD -o ppp0 -j MASQUERADE

В данной строке позволяется переадресация на интерфейс ppp0. С помощью параметра -j мы требуем прятать IP-адрес отправителя, т.е. включаем маскарадинг.

Если вы используете трансляцию сетевых адресов (NAT, Network Address Translation), то команда может выглядеть следующим образом:

iptables -t nat -A FORWARD -o ppp0 -j MASQUERADE

Ключ -t nat указывает на необходимость загрузить модуль iptable_nat. Если он не загружен, то это легко сделать вручную с помощью следующей команды:

Перейти на страницу:

Похожие книги