Синтаксис этой формы команды такой:
ipfw [-N] команда [номер] действие [log] протокол адреса [параметры]
При использовании этой формы команды доступен один флаг:
-N
Разрешение адресов и имен сервисов при отображении.
Задаваемая команда может быть сокращена до более короткой уникальной формы. Существующие команды:
add
Добавление правила к списку фильтрации/учета
delete
Удаление правила из списка фильтрации/учета
Предыдущие версии IPFW использовали отдельные записи для фильтрации и учета пакетов. Современные версии учитывают пакеты для каждого правила.
Если указано значение номер, оно используется для помещения правила на определенную позицию в цепочке. Иначе правило помещается в конец цепочки с номером на 100 больше, чем у предыдущего правила (сюда не включается правило по умолчанию с номером 65535).
С параметром log соответствующие правила выводят информацию на системную консоль, если ядро собрано с опцией IPFIREWALL_VERBOSE.
Существующие действия:
reject
Отбросить пакет и отправить в адрес источникаICMP пакет, сообщающий о недостижимости хоста или порта.
allow
Пропустить пакет как обычно. (синонимы: pass, permit, и accept)
deny
Отбросить пакет. Источнику не выдается ICMP сообщение (как если бы пакет вообще не достиг цели).
count
Обновить счетчик пакета, но не применять по отношению к нему правила allow/deny. Поиск продолжится со следующего правила в цепочке.
Каждое действие может быть записано в виде более короткого уникального префикса.
Могут быть определены следующие протоколы:
all
Соответствует всем IP пакетам
icmp
Соответствует ICMP пакетам
tcp
Соответствует TCP пакетам
udp
Соответствует UDP пакетам
Поле адреса формируется так:
источник адрес/маска [порт] цель адрес/маска [порт] [via интерфейс]
Вы можете указать port только вместе с протоколами, поддерживающими порты (UDP и TCP).
Параметр via опционален и может содержать IP адрес или имя домена локального IP интерфейса, или имя интерфейса (например ed0), он настраивает правило на соответствие только тем пакетам, которые проходят через этот интерфейс.