ipfirewall это механизм позволяющий фильтровать проходящие через узел IP пакеты по различным критериям. Системный администратор может определить набор блокирующих (addblocking) и маршрутизирующих (addforwarding) фильтров. Блокирующие фильтры описывают пакеты, которые могут приниматься данным узлом. Маршрутизирующие фильтры описывают пакеты, которые могут проходить сквозь данный узел во время маршрутизации.
Каждый фильтр описывает класс пакетов и определяет способ их обработки
(отбросить и зарегистрировать, пропустить, пропустить и зарегистрировать).
Пакеты могут фильтроваться на основании следующих характеристик:
Фильтры могут быть двух классов (наборов) - запрещающие (reject)
и разрешающие (accept).
Кроме того, фильтр может быть применим ко всем принимаемым пакетам
или только к пакетам, поступающим через определённый интерфейс.
Каждый принимаемый пакет сравнивается со всеми правилами в наборе по
очереди.
Первый же фильтр, который полностью соответствует принятому пакету,
определяет его дальнейшую судьбу. Если фильтр является разрешающим (accept),
то пакет принимается, в противном случае он отвергается. Если ни
один фильтр не соответствует принимаемому пакету, то выполняется фильтр
обратный
к первому фильтру в наборе (например, если первый фильтр в наборе
разрешающий (accept), то пакет отбрасывается, в противном случае
принимается). Если нет ни одного фильтра в наборе, то пакет принимается.
Внимание! Отбрасываемый пакет просто уничтожается без уведомления источника.
Фильтры определяются с помощью команды ipfw . Например, команда
ipfw addblocking reject all from 192.168.5.3 to 192.168.11.7
добавит в набор блокирующих фильтров запрещающий фильтр, который отбросит все пакеты, приходящие с адресом источника 192.168.5.3 и адресом назначения 192.168.11.7.
Для более полного понимания работы фильтра необходимо ознакомиться с
описанием того, как
строятся фильтры и механизмом применения
фильтров.
По функциональным возможностям фильтр соответствует пакету Juniper
Firewall Toolkit