Freebsd and PF

Надо сказать что он уже морально устарел , тем не менее буду описывать свой небольшой опыт работы с PF , такой уж необходимости ставить его (я имею ввиду в замен штатного IPFW  для моих целей  — не было ) тем не менее для разнообразия работаю и с ним .

Делаю не большую выноску по нужным командам  для работы с PF .

Команды для  работы с PF :

# pfctl -e                   включить pf
# pfctl -d                   выключить pf
# pfctl -f /etc/pf.conf      загрузить pf.conf
# pfctl -e -f /etc/pf.conf   включить pf и загрузить pf.conf
# pfctl -nf /etc/pf.conf     анализировать файл, но не загружать
# pfctl -Nf /etc/pf.conf     загрузить только правила NAT из файла
# pfctl -Rf /etc/pf.conf     загрузить только правила фильтрации
# pfctl -sn                  показать текущие правила NAT
# pfctl -sr                  показать текущие правила фильтрации
# pfctl -ss                  показать текущее состояние таблиц
# pfctl -si                  показать статистику правил и состояние счетчиков
# pfctl -sa                  показать все

Тут находятся скрипты начальной загрузки :

#/etc/rc.d/pf start
#/etc/rc.d/pflogd start

Так же можно сделать так :

Запустить pflogd

pflogd_enable=»YES» в rc.conf

после чего можно посмотреть при помощи tcpdump что же там залогировал PF :

tcpdump -n -e -ttt -r /var/log/pf.log

tcpdump -n -e -ttt -r /var/log/pf.log port 80

tcpdump -n -e -ttt -r /var/log/pf.log host 92.243.167.223

Тоже самое только в реальном времени :

tcpdump -n -e -ttt -i pflog0

или так :

натравить tcpdump на интерфейс pflog0

tcpdump -pni pflog0 -ttt             —  вывод будит запрос номер порта и IP