Глава 5
Запустить iptables можно командой:
service iptables start
А остановить командой:
service iptables stop
Для перезапуска iptables служит параметр
restart
. Настроить автоматический за-
пуск iptables в Red Hat-совместимых системах можно с помощью команды
chkconfig
:
/sbin/chkconfig --level 345 iptables on
Более точная команда настройки автоматического запуска iptables зависит от ис-
пользуемой системы инициализации. Вполне вероятно, что в вашем дистрибутиве
используется другая система инициализации, и команда будет иной.
Цепочки и правила
Основная задача брандмауэра — это фильтрация пакетов, которые проходят через
сетевой интерфейс. При поступлении пакета брандмауэр анализирует его и затем
принимает решение: принять пакет (
ACCEPT
) или избавиться от него (
DROP
). Бранд-
мауэр может выполнять и более сложные действия, но часто ограничивается имен-
но этими двумя.
Прежде чем брандмауэр примет решение относительно пакета, пакет должен прой-
ти по цепочке правил. Каждое правило состоит из условия и действия (цели). Если
пакет соответствует условию правила, то выполняется указанное в правиле дейст-
вие. Если пакет не соответствует условию правила, он передается следующему
правилу. Если же пакет не соответствует ни одному из правил цепочки, выполняет-
ся действие по умолчанию.
Вроде бы все понятно, но, чтобы лучше закрепить знания, рассмотрим табл. 5.4,
демонстрирующую принцип работы цепочки правил.
Таблица 5.4.
Цепочка правил
Номер правила
Условие
Действие (цель)
1
Пакет от 192.168.1.0
ACCEPT
2
Пакет от 192.168.0.0
DROP
3
Пакет для 192.168.2.0
ACCEPT
DEFAULT
*
DROP
Предположим, что пакет пришел из сети 192.168.4.0 для узла нашей сети
192.168.1.7. Пакет не соответствует первому правилу (отправитель не из сети
192.168.1.0), поэтому он передается правилу 2. Пакет не соответствует и этому
правилу. Пакет адресован компьютеру 192.168.1.7, а не компьютеру из сети
Работа в глобальной сети
207
192.168.2.0, поэтому он не соответствует третьему правилу. Брандмауэру остается
применить правило по умолчанию — пакет будет отброшен (действие
DROP
).
Цепочки правил собираются в три основные таблицы:
filter — таблица фильтрации, основная таблица;
nat — таблица NAT, используется пакетом при создании нового соединения;
mangle — используется, когда нужно произвести специальные действия над па-
кетом.
П
РИМЕЧАНИЕ
Ранее брандмауэр в Linux поддерживал только цепочки правил и назывался ipchains,
сейчас брандмауэр поддерживает и цепочки правил, и таблицы цепочек, и называется
iptables. Это примечание сделано, чтобы вы понимали разницу между старым бранд-
мауэром ipchains (ядра 2.2 и ниже) и новым — iptables (ядра 2.4 и выше).
Если необходимо, вы можете создать собственные таблицы. В состав таблицы вхо-
дят три цепочки:
INPUT
— для входящих пакетов;
OUTPUT
— для исходящих пакетов;
FORWARD
— для пересылаемых (транзитных) пакетов.
Над пакетом можно выполнить следующие действия:
<имя цепочки>
— пакет будет отправлен для обработки в цепочку с указанным
именем;
ACCEPT
— пакет будет принят;
DROP
— пакет будет отброшен. После этого пакет удаляется и более над ним не
выполняется каких-либо действий;
MASQUERADE
— IP-адрес пакета будет скрыт.
Это не все действия, но пока нам больше знать и не нужно. На рис. 5.9 представле-
на схема обработки пакета. Входящий пакет (на схеме
ПАКЕТ IN
) поступает
в цепочку
PREROUTING
таблицы
mangle
. После чего (если он не был отбро-
шен правилами таблицы
mangle
) пакет обрабатывается правилами цепочки
PREROUTING
, но таблицы
nat
. На этом этапе проверяется, нужно ли модифици-
ровать назначение пакета (этот вид NAT называется Destination NAT, DNAT).
Затем пакет может быть направлен либо в цепочку
INPUT
(если получателем паке-
та является этот компьютер), либо в цепочку
FORWARD
(если пакет нужно пере-
дать другому компьютеру).
Если получатель компьютера — сам шлюз (на нем может быть запущен, например,
почтовый или веб-сервер), то пакет сначала обрабатывается правилами цепочки
INPUT
таблиц
mangle
и
filter
. Если пакет не был отброшен, он передается прило-
жению (например, почтовому серверу). Приложение получило пакет, обработало
его и отправляет ответный пакет. Этот пакет обрабатывается цепочкой
OUTPUT
208
Достарыңызбен бөлісу: |