PF防火墻的配置命令
pfctl命令 是PF防火墻的配置命令,PF防火墻( 全稱:Packet Filter )是UNIX LIKE系統上進行TCP/ip流量過濾和網絡地址轉換的軟件系統。PF同樣也能提供TCP/IP流量的整形和控制,并且提供帶寬控制和數據包優先集控制。PF最早是由Daniel Hartmeier開發的,現在的開發和維護由Daniel和openBSD小組的其他成員負責。
PF防火墻的功能很多,本站只列舉一些基本配置。
要激活pf并且使它在啟動時調用配置文件,編輯/etc/rc.conf
文件,修改配置pf的一行:
pf=yes
重啟操作系統讓配置生效。
也可以通過pfctl程序啟動和停止pf:
pfctl -e
pfctl -d
注意這僅僅是啟動和關閉PF,實際它不會載入規則集,規則集要么在系統啟動時載入,要在PF啟動后通過命令單獨載入。
系統引導到在rc腳本文件運行PF時PF從/etc/pf.conf
文件載入配置規則。注意當/etc/pf.conf
文件是默認配置文件,在系統調用rc腳本文件時,它僅僅是作為文本文件由pfctl裝入并解釋和插入pf的。對于一些應用來說,其他的規則集可以在系統引導后由其他文件載入。對于一些設計的非常好的unix程序,PF提供了足夠的靈活性。
pf.conf文件有7個部分:
除去宏和表,其他的段在配置文件中也應該按照這個順序出現,盡管對于一些特定的應用并不是所有的段都是必須的。
空行會被忽略,以#開頭的行被認為是注釋。
引導之后,PF可以通過pfctl程序進行操作,以下是一些例子:
pfctl -f /etc/pf.conf # 載入 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 # 顯示任何可顯示的
完整的命令列表,請參閱pfctl的man手冊頁。