Автор (ы) оригинала | Даниэль Хартмайер |
---|---|
Разработчики) | OpenBSD Project |
Первый выпуск | 1 декабря 2001 г. ; 19 лет назад ( 2001-12-01) |
Репозиторий | |
Написано в | C |
Операционная система | OpenBSD |
Тип | Пакетная фильтрация |
Лицензия | Лицензия BSD |
Веб-сайт | www.openbsd.org / faq / pf / index.html |
PF ( Packet Filter, также пишется pf) - это лицензированный BSD фильтр пакетов с отслеживанием состояния, центральная часть программного обеспечения для межсетевого экрана. Он сравним с netfilter ( iptables ), ipfw и ipfilter.
PF был разработан для OpenBSD, но был перенесен во многие другие операционные системы.
Первоначально PF был разработан как замена IPFilter Даррена Рида, от которого он во многом заимствовал свой синтаксис правил. IPFilter был удален из дерева CVS OpenBSD 30 мая 2001 г. из-за опасений разработчиков OpenBSD по поводу его лицензии.
Первоначальная версия PF была написана Дэниелом Хартмайером. Он появился в OpenBSD 3.0, выпущенном 1 декабря 2001 года.
Позже он был значительно переработан Хеннингом Брауэром и Райаном Макбрайдом, при этом большая часть кода была написана Хеннингом Брауэром. Хеннинг Брауэр в настоящее время является главным разработчиком PF.
Синтаксис фильтрации аналогичен IPFilter с некоторыми изменениями, чтобы сделать его более понятным. Трансляция сетевых адресов (NAT) и качество обслуживания (QoS) были интегрированы в PF. Такие функции, как pfsync и CARP для аварийного переключения и резервирования, authpf для аутентификации сеанса и ftp-proxy для облегчения межсетевого экрана сложного протокола FTP, также расширили PF. Также PF поддерживает SMP ( симметричная многопроцессорная обработка ) и STO ( параметры отслеживания с отслеживанием состояния ).
Одной из многих инновационных функций является ведение журнала PF. Ведение журнала PF настраивается для каждого правила в файле pf.conf, а журналы предоставляются из PF с помощью псевдосетевого интерфейса pflog, который является единственным способом извлечения данных из режима уровня ядра для программ уровня пользователя. Журналы можно отслеживать с помощью стандартных утилит, таких как tcpdump, который в OpenBSD был специально расширен для этой цели, или сохранять на диск в двоичном формате tcpdump / pcap с помощью демона pflogd.
Помимо работы на своей домашней платформе OpenBSD, PF был перенесен на многие другие операционные системы, однако есть существенные различия в возможностях. Некоторым портам много лет. OpenBSD всегда имеет самую последнюю версию с наибольшим количеством функций.
PF в настоящее время используется в:
pf(4)
- Руководство по интерфейсам ядра OpenBSD pfctl(8)
- Руководство администратора системы OpenBSD