跳轉到內容

Unix/BSD/OpenBSD 防火牆指南

來自華夏公益教科書

OpenBSD 包含 PF(“資料包過濾器”)作為防火牆。

要啟動時開啟 PF,請建立配置檔案 rc.conf.local。

vi /etc/rc.conf.local

要在啟動時啟用 PF,請在配置檔案中輸入以下內容

pf=YES

要手動啟用 PF,請輸入以下命令

pfctl -e

要手動停用 PF,請輸入以下命令

pfctl -d

恭喜,您現在受保護,使用的是最好的防火牆之一。

配置 PF

[編輯 | 編輯原始碼]

Pf 預設是一個非常好的防火牆,但也包含一些選項。您可以透過編輯配置檔案 /etc/pf.conf 來更改 pf 的配置。

選項 描述 示例 示例描述
rdr 重定向流量 rdr on tl0 proto tcp from any to any port 80 -> 192.168.1.20 重定向 192.168.1.20 在 tl0 介面上的流量,對於任何埠,最高到 80。
阻止 阻止流量 block out on fxp0 from 192.168.0.1 to any 對於 192.168.0.1,阻止 fxp0 介面上的所有出站流量,對於任何埠。
透過 允許流量透過 pass in all 除非另有說明,否則 pf 將允許所有入站流量。
清理 清理對分片資料包進行碎片整理,在某些情況下會拒絕分片資料包。 scrub in all 清理所有介面上的所有入站流量。
表格 定義 IP 組。 table <goodguys> { 172.16.0.0/16, 172.16.1.0/24, 172.16.1.100 }

block in on dc0 all
pass in on dc0 from <goodguys> to any

允許對 dc0 介面上的 <goodguys> 進行入站連線。阻止 dc0 介面上的所有其他入站連線。

錯誤資訊。

清理對分片資料包進行碎片整理,在某些情況下會拒絕分片資料包。這可以防止您的計算機變得碎片化,但也會導致大量資料包丟失。要清理網路介面,請在 /etc/pf.conf 中輸入以下內容

scrub <in/out> <interface>

一個簡單的例子是清理所有入站介面。

scrub in all

如果您對本文件做出了貢獻,請隨意新增您的使用者名稱。

另請參閱

[編輯 | 編輯原始碼]
  • PF 在維基百科上

參考文獻

[編輯 | 編輯原始碼]
華夏公益教科書