Различные опции для управления поведением PF.
# ee /usr/src/tools/tools/tinybsd/conf/wireless/etc/pf.conf
...
# Options: tune the behavior of pf, default values are given.
# Указаны значения по умолчанию
#set timeout { interval 10, frag 30 }
#set timeout { tcp.first 120, tcp.opening 30, tcp.established 86400 }
#set timeout { tcp.closing 900, tcp.finwait 45, tcp.closed 90 }
#set timeout { udp.first 60, udp.single 30, udp.multiple 60 }
#set timeout { icmp.first 20, icmp.error 10 }
#set timeout { other.first 60, other.single 30, other.multiple 60 }
#set timeout { adaptive.start 0, adaptive.end 0 }
#set limit { states 10000, frags 5000 }
#set loginterface none
#set optimization normal
#set block-policy drop
#set require-order yes
#set fingerprints "/etc/pf.os"
...
set limit states 250000 # Менять пришлось т.к. переполнялась таблица NAT и правила с keep state set optimization aggressive # изменяет тайминги, которые можно посмотреть pfctl -st.
После изменения предельные значения можно проверить так
> pfctl -sm states hard limit 250000 src-nodes hard limit 10000 frags hard limit 5000 tables hard limit 1000 table-entries hard limit 200000
Задать интерфейс для которого пакетный фильтр собирает статистическую информацию: количество прошедших пакетов, количество заблокированных пакетов, сколько байт вошло, сколько вышло. Статистику можно собирать одновременно только на одном интерфейсе. При этом, счётчики match, bad-offset и т.п., а также счётчики в таблице состояний, работают независимо от этой опции. Чтобы отключить сбор статистики следует выставить опцию в none. Значение по умолчанию — none.
Просмотреть статистику можно при помощи команды pfctl с опцией -s info.
Установить поведение по умолчанию для правил фильтра, когда срабатывает правило block. Возможные варианты:
В конкретных правилах значение опции может быть переопределено. Умолчание — drop
Установить предел для различных опций:
Допустим синтаксис: set limit { states 20000, frags 20000, src-nodes 2000 }
Установить оптимизацию пакетного фильтра для различного поведения сети:
Умолчание —normal
Установить уровень отладки для пакетного фильтра:
Умолчание — urgent. Уровень отладки можно также изменять при помощи команды pfctl (опция -x). Например:
> pfctl -x loud debug level set to 'loud'
Поведение пакетного фильтра при использовании таблицы состояний. Это поведение может быть переопределено в конкретных правилах фильтрации:
Умолчание — floating