Эти параметры используются для управления работой PF.
Они укразываются в файле pf.conf
при помощи директивы set
.
set block-policy option
block
.
drop
- пакет молча отбрасывается.
return
- будет возвращен пакет TCP RST для заблокированных
TCP пакетов и пакет ICMP Unreachable для всех остальных.
set debug option
emerg
, alert
, crit
,
err
, warning
, notice
,
info
и debug
.
set fingerprints file
/etc/pf.os
.
set limit option value
pfctl -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 interface
match
, bad-offset
и др.,
а также счетчики таблицы состояний будут записаны, несмотря на то, установлен
loginterface
или нет.
Для отключения сбора статистики установите параметр в значение none
.
По умолчанию none
.
set optimization option
normal
- применимо для большинства сетей.
high-latency
- сети с высокими задержками, такие как например
спутниковые соединения.
aggressive
- агрессивное удаление соединений из таблицы состояний.
Этот режим может серьезно уменьшить потребление памяти в нагруженных файрволах
и увеличивает риск раннего отбрасывания простаивающих (idle) соединений.
conservative
- чрезвычайно консервативная настройка.
Она позволяет избежать сброса простаивающих (idle) соединений при большем
расходе памяти и немного увеличенной нагрузке на процессор.
normal
.
set ruleset-optimization option
none
- полностью запрещает оптимизатор.
basic
- разрешает следующую оптимиацию правил:
profile
- использует загруженный профиль как feedback профиль,
чтобы приспособить порядок быстрых правил (правил с параметром quick) к текущему
сетевому трафику.
basic
.
В pf.conf(5) можно найти более детальное описание.
set skip on interface
interface
.
Эта директива может быть полезной для loopback интерфейса, на котором фильтрация,
нормализация, управление очередями и другие действия не требуются.
Этот параметр может быть использован несколько раз.
По умолчанию этот параметр не установлен (не используется).
set state-policy option
if-bound
- состояния привязываются к интерфейсу, на котором они
были созданы.
Если трафик совпадает с записью из таблицы состояний, но не совпадает с
записанным в ней интерфейсом, то совпадение отвергается.
Пакет должен попадать под правило фильтра или он будет удален/отвергнут
(dropped/rejected) полностью.
floating
- состояние может соответствовать пакету на любом
интерфейсе.
До тех пор пока пакет соответствует записи состояния и он проходит по тому же
направлению, по которому он проходил через интерфейс в момент создания
состояния, интерфейс через который он проходит неважен, и он будет передан
далее (pass).
floating
.
set timeout option value
interval
- задержка в секундах перед удалением просроченных
состояний и фрагменов пакета.
По умолчанию 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