ipfw | |
---|---|
Тип | Межсетевой экран |
Разработчик | Команда добровольцев-разработчиков FreeBSD |
Операционная система | FreeBSD, DragonFly BSD, Mac OS X |
Лицензия | BSD |
Сайт | freebsd.org |
ipfirewall — межсетевой экран, который поставляется с FreeBSD начиная с версии 2.0. С его помощью можно, например, подсчитывать трафик по любым разумным правилам, основывающимся на данных заголовков пакетов протоколов стека TCP/IP, обрабатывать пакеты внешними программами, прятать за одним компьютером целую сеть и т. п.[1]
Используется во многих ОС для встраиваемых систем, основанных на FreeBSD, таких как m0n0wall.
Имеется портированная версия — Wipfw для Windows 2000, Windows XP, и Windows Server 2003.
ipfw — название пользовательской утилиты (запускаемой из командной строки) предназначенной для управления системой IPFW. С её помощью администраторы создают и изменяют правила, управляющие фильтрацией и перенаправлением пакетов.
ipfw может быть подгружен как модуль, а может быть встроен в ядро.
Ipfirewall состоит из следующих компонентов:
Утилита ipfw впервые появилась во FreeBSD 2.0. Поддержка dummynet была добавлена позже, начиная с версии 2.2.8. Поддержка divert socket вместе с natd была добавлена начиная с версии 3.x (уточнить). Поддержка NAT на уровне ядра была добавлена начиная с версии 7.0.
Поддержка NAT на уровне ядра была написана Paolo Pisati и впервые появилась в FreeBSD 4.0. До этого преобразование NAT осуществлялось демоном natd, пакеты которому передавались действием divert.
Настроенный брандмауэр представлен упорядоченным списком правил с номерами из диапазона 1-65535. Каждый пакет приходит с различных уровней стека протоколов, и попадая на брандмауэр поочередно сравнивается с критерием каждого правила в списке. Если совпадение найдено, то выполняется действие, закрепленное за данным правилом.
ipfw всегда содержит правило по умолчанию (с номером 65535) которое не может быть ни изменено, ни удалено. Это правило является терминальным, т.е оно применяется к пакетам, не попавшим во все предыдущие. В зависимости от конфигурации ядра это правило может выполнять действия «запретить» или «разрешить»(по умолчанию оно deny ip from any to any, чтобы изменить это, в ядро нужно добавить options IPFIREWALL_DEFAULT_TO_ACCEPT). Все остальные правила могут редактироваться администратором системы.
Существует несколько основных действий, которые могут применяться к пакетам:
При установке системы FreeBSD стандартными средствами, ipfw по умолчанию не включён. Поддержка может быть выполнена либо включением кода ipfw в ядро (добавлением опций и перекомпиляцией ядра с последующей перезагрузкой системы), либо (в любой момент после загрузки системы) подключением одноимённых модулей (доступно в последних версиях системы). Загрузка процессора меньше при включении ipfw в ядро, однако, это заметно лишь при большом количестве обрабатываемых пакетов и правил.
Если вы хотите использовать IPFW, то вам необходимо пересобрать ядро с опцией:
options IPFIREWALL
По умолчанию в IPFW встроено неудаляемое правило «всем всё запрещено», которое имеет наибольший номер и потому будет обрабатываться после всех правил, внесённых администратором системы. При некоторых ошибочных действиях администратора система может оказаться закрытой от любого доступа по сети, и администратору потребуется доступ к консоли; чтобы заменить это правило на «всем всё разрешено», надо добавить опцию
options IPFIREWALL_DEFAULT_TO_ACCEPT
Если вы хотите использовать NAT (посредством демона natd), то вам необходимо добавить опцию:
options IPDIVERT
Если вы хотите использовать NAT уровня ядра, то вам необходимо добавить опции:
options LIBALIAS options IPFIREWALL_NAT
Если вы хотите использовать pipe/queue, то вам необходимо добавить опцию:
options DUMMYNET
Включение ipfw через загрузку модулей ядра выполняется (суперпользователем) командами
kldload ipfw kldload ipdivert kldload dummynet
соответственно.
Общий формат для построения правил:
трафик от адресов в таблице № 1 к любом адресам;
Этот раздел ещё не написан. |
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .