Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Пакетный фильтр (англ. Packet Filter, также pf) — это stateful-пакетный фильтр, распространяемый под лицензией BSD и являющийся ключевым компонентом программного обеспечения для межсетевых экранов. Он сопоставим с netfilter (iptables), ipfw и ipfilter. PF был разработан для OpenBSD, но портирован на многие другие операционные системы.
Packet filter software
PF (Packet Filter, also written pf) is a BSD licensed stateful packet filter, a central piece of software for firewalling. It is comparable to netfilter (iptables), ipfw, and ipfilter. PF was developed for OpenBSD, but has been ported to many other operating systems.
История
PF изначально был разработан как замена IPFilter Даррена Рида, от которого он унаследовал значительную часть синтаксиса правил. IPFilter был удален из репозитория CVS OpenBSD 30 мая 2001 года из-за обеспокоенности разработчиков OpenBSD его лицензией. Первоначальную версию PF написал Дэниел Хартмайер. Она впервые появилась в OpenBSD 3.0, выпущенной 1 декабря 2001 года. Впоследствии PF был значительно переработан Хеннингом Брауэром и Райаном Макбрайдом, при этом основную часть кода написал Хеннинг Брауэр. В настоящее время Хеннинг Брауэр является основным разработчиком PF.
PF was originally designed as replacement for Darren Reed's IPFilter, from which it derives much of its rule syntax. IPFilter was removed from OpenBSD's CVS tree on 30 May 2001 due to OpenBSD developers' concerns with its license. The initial version of PF was written by Daniel Hartmeier. It appeared in OpenBSD 3.0, which was released on 1 December 2001. It was later extensively redesigned by Henning Brauer and Ryan McBride with most of the code written by Henning Brauer. Henning Brauer is currently the main developer of PF.
Особенности
Синтаксис фильтрации аналогичен IPFilter, но с некоторыми изменениями для большей ясности. Трансляция сетевых адресов (NAT) и обеспечение качества обслуживания (QoS) были интегрированы в PF. Функции, такие как pfsync и CARP для обеспечения отказоустойчивости и резервирования, authpf для аутентификации сессий и FTP-прокси для упрощения межсетевого экранирования сложного протокола FTP, также расширили возможности PF. PF также поддерживает SMP (симметричную многопроцессорность) и STO (опции отслеживания состояния). Одной из многих инновационных особенностей является система логирования PF. Логирование в PF настраивается для каждого правила в файле pf.conf, а данные логов предоставляются PF через псевдосетевой интерфейс pflog – это единственный способ извлечения данных из режима ядра для программ пользовательского уровня. Логи можно отслеживать с помощью стандартных утилит, таких как tcpdump, которая в OpenBSD была специально расширена для этой цели, или сохранять на диск в двоичном формате tcpdump/pcap с помощью демона pflogd.
The filtering syntax is similar to IPFilter, with some modifications to make it clearer. Network address translation (NAT) and quality of service (QoS) have been integrated into PF. Features such as pfsync and CARP for failover and redundancy, authpf for session authentication, and ftp proxy to ease firewalling the difficult FTP protocol, have also extended PF. Also PF supports SMP (Symmetric multiprocessing) & STO (Stateful Tracking Options). One of the many innovative features is PF's logging. PF's logging is configurable per rule within the pf. conf and logs are provided from PF by a pseudo network interface called pflog, which is the only way to lift data from kernel level mode for user level programs. Logs may be monitored using standard utilities such as tcpdump, which in OpenBSD has been extended especially for the purpose, or saved to disk in the tcpdump/pcap binary format using the pflogd daemon.