PFPacket Filter ,常縮寫為 pf)是一個以 BSD 許可發布的,常被用於 BSD 系統防火牆軟件。類似於其他系統中的 netfilter (iptables)、 ipfwipfilter

Quick Facts 原作者, 開發者 ...
PF
原作者Daniel Hartmeier
開發者OpenBSD 項目組
首次發布2001年12月1日,​22年前​(2001-12-01
源代碼庫cvsweb.openbsd.org/src/
編程語言C
操作系統OpenBSD 及其他移植平台
類型防火牆
許可協議BSD許可證
網站www.openbsd.org/faq/pf/index.html
Close

PF 起初是為 OpenBSD 開發的,但已被移植到許多其他操作系統

歷史

PF 的開發始於 OpenBSD 開發人員不滿 Darren Reed 開發的 IPFilter 防火牆所用的許可證,而在 IPFilter 於 2001 年 5 月 30 日被從 OpenBSD 的 CVS 源碼樹中刪除後,PF 被設計來取代 IPFilter。它的大部分規則語法也都源自 IPFilter。[1]

PF 的最初版本由 Daniel Hartmeier 編寫, [2]並隨 OpenBSD 3.0 於 2001 年 12 月 1 日發布[3],在此後 Henning Brauer 和 Ryan McBride [4]對其進行了深度的重新設計,大部分代碼由 Henning Brauer 編寫。目前 Henning Brauer 是 PF 的主要開發者。

特徵

語法方面,PF 的過濾語法與 IPFilter 類似,但進行了一些修改以使其更清晰。

功能方面,PF 支持 SMP(對稱多處理)和 STO(狀態跟蹤選項),也集成了常見的網絡地址轉換 (NAT) 和服務質量 (QoS) 管理模塊。在擴展方面,PF 支持用於故障轉移冗餘的 pfsync 和 CARP 、用於會話身份驗證的 authpf ,以及使配置複雜的 FTP 協議防火牆更容易的 ftp-proxy 等。

PF 的日誌記錄是眾多創新功能之一。用戶可在 pf.conf 中按規則進行配置 PF 的日誌記錄,被記錄的日誌會由 PF 通過名為 pflog 的偽網絡接口(pseudo-network interface)向應用程序提供。這是從內核態將數據提取至用戶態程序的唯一方法。記錄下的日誌既可以通過 tcpdump (該實用程序在 OpenBSD 中已專門為此目的進行了擴展) 等常見工具來監視,也可以使用 pflogd 守護程序tcpdump / pcap 二進制格式保存到磁盤。

其他平台上的移植版本

除了在其開發平台 OpenBSD 上運行之外,PF 還被移植到了許多其他操作系統,但功能上存在重大差異。有些移植版的歷史可以追溯到很多年前,因此與當下 OpenBSD 上擁有最多功能的最新版本差異巨大。

PF 目前被用於:

另見

參考

圖書

外部連結

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.