Кіріспе
Пакет сүзгісі бағдарламалық қамтамасы
PF (Packet Filter, сондай-ақ pf деп те жазылады) – BSD лицензиясымен таратылатын күйлі пакет сүзгісі, брандмауэрдің маңызды бөлігі болып табылатын бағдарламалық қамтамасы. Ол netfilter (iptables), ipfw және ipfilter сияқты бағдарламалармен салыстыруға болады. PF бастапқыда OpenBSD үшін жасалған, бірақ көптеген басқа операциялық жүйелерге де көшірілген.
Тарих
PF бастапқыда Даррен Ридтің IPFilter құралын алмастыру мақсатында жасалған, және одан көптеген ережелік синтаксисін сіңірген. IPFilter 2001 жылдың 30 мамырында OpenBSD-нің CVS ағашынан алынып тасталды, себебі OpenBSD әзірлеушілері оның лицензиясына қатысты алаңдаушылық білдірді. PF-тің алғашқы нұсқасын Дэниел Хартмайер жазған. Ол 2001 жылдың 1 желтоқсанында жарық көрген OpenBSD 3.0 нұсқасында пайда болды. Кейіннен Хеннинг Брауэр мен Райан Макбрайд оны кеңінен қайта жобалады, кодтың басым бөлігін Хеннинг Брауэр жазды. Қазіргі таңда Хеннинг Брауэр PF-тің негізгі әзірлеушісі болып табылады.
Ерекшеліктері
Сүзгілеу синтаксисі IPFilter-ге ұқсас, бірақ оны түсінікті ету үшін кейбір өзгерістер енгізілді. Желілік мекенжай аудармасы (NAT) және қызмет сапасы (QoS) PF-қа енгізілді. Pfsync және CARP сияқты мүмкіндіктер, сондай-ақ сеанс аутентификациясы үшін authpf және FTP протоколын басқаруды жеңілдету үшін FTP проксисі де PF-ты кеңейтті. PF сонымен қатар SMP (симметриялық көппроцессорлық өңдеу) және STO (Stateful Tracking Options) қолдайды. PF-тың инновациялық мүмкіндіктерінің бірі – оның журналдау жүйесі. PF-тың журналдау мүмкіндігі pf.conf файлындағы әрбір ереже бойынша конфигурацияланады, ал журналдар pflog деп аталатын жалған желі интерфейсі арқылы PF-тан ұсынылады, бұл ядро деңгейінен деректерді пайдаланушы деңгейіндегі бағдарламаларға жеткізудің жалғыз жолы. Журналдарды tcpdump сияқты стандартты құралдармен бақылауға болады, ол OpenBSD жүйесінде осы мақсат үшін арнайы кеңейтілген, немесе pflogd демоны арқылы tcpdump/pcap бинарлық форматында дискіге сақтауға болады.