防火牆能夠過濾透過系統內送 (Incoming) 與外發 (Outgoing) 的流量,防火牆可使用一組或多組 “規則 (Rules)” 來檢查網路連線中進出的網路封包(Network packets),並且能允許或阻擋其通過。 而防火牆規則可以檢查封包中一個或數個特徵,例如通訊協定類型、來源或目的主機位址,以及來源及目地的連接埠 (Port)。
防火牆可以加強主機或網路的安全性,它可以用來完成下列事情:
保護並隔離內部網路的應用程式、服務與主機,避免來自網際網路不必要的存取。
限制或者禁止內部網路的主機存取網際網路服務。
支援網路位址轉譯 (Network address translation, NAT),可允許內部網路使用私有 IP 位址並共用一個連線使用一個 IP 位址連到網際網路或者自動分配一個共用池當中的公開位址。
FreeBSD 有三種內建於基礎系統的防火牆:PF, IPFW 與 IPFILTER 即 IPF。FreeBSD 也提供了兩種流量限制程式 (Traffic shaper) 來控制頻寬的用量:altq(4) 與 dummynet(4),ALTQ 一般配合 PF 使用,而 dummynet 會配合 IPFW。每一種防火牆都會使用規則來管制來自與送往 FreeBSD 的封包,儘管它們用不同的方式運作且有不同的規則語法。
FreeBSD 提供多個防火牆是為了滿足不同的需求與各種使用者的偏好,每位使用者應評估那一種防火牆最能滿足其需求。
讀完這章,您將了解︰
如何定義封包過濾規則。
FreeBSD 內建防火牆之間的差異。
如何使用與設定 PF 防火牆。
如何使用與設定 IPFW 防火牆。
如何使用與設定 IPFILTER 防火牆。
在開始閱讀這章之前,您需要︰
了解 FreeBSD 基礎及網路概念。
由於所有防火牆均是以監控所選封包的控制欄位值為基礎運作,所以防火牆規則集的建立者必須很明白 TCP/IP 是如何運作的,在封包的控制欄位中會有那些數值,這些數值會被如何用在一般的連線階段,要了解更多相關資訊,可參考 Daryl's TCP/IP Primer。
本文及其他文件,可由此下載: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/。
若有 FreeBSD 方面疑問,請先閱讀
FreeBSD 相關文件,如不能解決的話,再洽詢
<questions@FreeBSD.org>。
關於本文件的問題,請洽詢
<doc@FreeBSD.org>。