Эти параметры используются для управления работой PF.
Они укразываются в файле pf.conf при помощи директивы set.
set block-policy optionblock.
drop - пакет молча отбрасывается.
return - будет возвращен пакет TCP RST для заблокированных
TCP пакетов и пакет ICMP Unreachable для всех остальных.
set debug optionemerg, alert, crit,
err, warning, notice,
info и debug.
set fingerprints file/etc/pf.os.
set limit option valuepfctl -s memory.
frags - максимальное количество записей в пуле памяти, которые
используются для пересборки пакетов (scrub rules).
По умолчанию 5000.
src-nodes - максимальное количество записей в пуле памяти, которые
используются для отслеживания source IP адресов (создаются параметрами
sticky-address и source-track).
По умолчанию 10000.
states - максимальное количество записей в пуле памяти, которые
используются для состояния записей таблицы (filter правила
которые определяют keep state).
По умолчанию 10000.
tables - максимальное количество таблиц,
которое может быть создано.
По умолчанию 1000.
table-entries - максимальное количество адресов, которое может быть
сохранено во всех таблицах.
По умолчанию 200000.
Если размер физической памяти системы меньше 100MB, значение по умолчанию
устанавливается в 100000.
set loginterface interfacematch, bad-offset и др.,
а также счетчики таблицы состояний будут записаны, несмотря на то, установлен
loginterface или нет.
Для отключения сбора статистики установите параметр в значение none.
По умолчанию none.
set optimization optionnormal - применимо для большинства сетей.
high-latency - сети с высокими задержками, такие как например
спутниковые соединения.
aggressive - агрессивное удаление соединений из таблицы состояний.
Этот режим может серьезно уменьшить потребление памяти в нагруженных файрволах
и увеличивает риск раннего отбрасывания простаивающих (idle) соединений.
conservative - чрезвычайно консервативная настройка.
Она позволяет избежать сброса простаивающих (idle) соединений при большем
расходе памяти и немного увеличенной нагрузке на процессор.
normal.
set ruleset-optimization option
none - полностью запрещает оптимизатор.
basic - разрешает следующую оптимиацию правил:
profile - использует загруженный профиль как feedback профиль,
чтобы приспособить порядок быстрых правил (правил с параметром quick) к текущему
сетевому трафику.
basic.
В pf.conf(5) можно найти более детальное описание.
set skip on interfaceinterface.
Эта директива может быть полезной для loopback интерфейса, на котором фильтрация,
нормализация, управление очередями и другие действия не требуются.
Этот параметр может быть использован несколько раз.
По умолчанию этот параметр не установлен (не используется).
set state-policy optionif-bound - состояния привязываются к интерфейсу, на котором они
были созданы.
Если трафик совпадает с записью из таблицы состояний, но не совпадает с
записанным в ней интерфейсом, то совпадение отвергается.
Пакет должен попадать под правило фильтра или он будет удален/отвергнут
(dropped/rejected) полностью.
floating - состояние может соответствовать пакету на любом
интерфейсе.
До тех пор пока пакет соответствует записи состояния и он проходит по тому же
направлению, по которому он проходил через интерфейс в момент создания
состояния, интерфейс через который он проходит неважен, и он будет передан
далее (pass).
floating.
set timeout option valueinterval - задержка в секундах перед удалением просроченных
состояний и фрагменов пакета.
По умолчанию 10.
frag - время в секундах, до пометки несобранного (unassembled)
пакета как просроченного.
По умолчанию 30.
src.track - значение в секундах периода хранения записи
source tracking в памяти после истечения
срока последного состояния.
По умолчанию 0.
set timeout interval 10
set timeout frag 30
set limit { frags 5000, states 2500 }
set optimization high-latency
set block-policy return
set loginterface dc0
set fingerprints "/etc/pf.os.test"
set skip on lo0
set state-policy if-bound