(1) pfSense 有以下可能的用途:
邊界防火墻
路由器
交換機
無線路由器 / 無線接入點
(2)邊界防火墻
->要充當邊界防火墻,pfSense 系統至少需要兩個接口:一個廣域網(WAN)接口(用于連接外部網絡)和一個局域網(LAN)接口(用于連接本地網絡)。
->邊界防火墻主要執行兩項功能。第一項功能,即監控和控制入站流量。允許特定端口上的某些流量通過,同時阻止所有其他流量,這是所有防火墻的核心功能。第二項功能,即監控和控制出站流量。
->在防火墻后面設置具有分割架構的網絡是很常見的做法,將可從互聯網訪問的資產與網絡的其他部分隔離開來。在這種情況下,可從互聯網訪問的資源被放置在一個單獨的網絡中,這個網絡通常被稱為非軍事區(DMZ)。
(3)路由器
->在家庭或小型辦公室 / 家庭辦公室(SOHO)環境中,防火墻和路由器的功能通常由同一設備來執行。然而,在中型到大型網絡中,路由器是與邊界防火墻分開的設備。
->在更為復雜的網絡設置中, pfSense 系統可能需要與網絡上的其他路由器交換路由信息。用于交換此類信息的協議有兩種類型:距離矢量協議通過與相鄰路由器交換信息來獲取其路由信息;路由器使用鏈路狀態協議來構建網絡地圖,以便計算到另一臺路由器的最短路徑,每臺路由器都獨立計算距離。pfSense 能夠運行這兩種類型的協議。對于距離矢量協議,如路由信息協議(RIP)和 RIP 版本 2(RIPv2),以及鏈路狀態協議,如邊界網關協議(BGP)。
(4) 硬件選型事項
->關于 CPU:對于更快的互聯網連接,CPU 的要求會增加。以下是一般的指導原則:最低硬件規格(英特爾或 AMD 500 兆赫茲或更高主頻的 CPU)適用于最高 20 兆比特每秒(Mbps)的網絡速度。當網絡速度超過 20 Mbps 時,CPU 的要求就開始增加。
->網絡連接速度:100 Mbps 或更快的網絡連接將需要使用 PCI-E 網絡適配器,以跟上增加的網絡吞吐量。
->接口橋接情況:如果你打算使用 pfSense 來橋接接口,例如,如果你想橋接無線網絡和有線網絡,或者你想把 pfSense 用作交換機,那么就應該考慮 PCI 總線的速度。PCI 總線很容易成為瓶頸。因此,在這種情況下,使用 PCI-E 硬件是更好的選擇,因為它的速度最高可達 31.51 GB/s(對于 16 通道插槽上的 PCI-E 4.0 標準),而最快的傳統 PCI 總線速度僅為 533 MB/s。
->用作 VPN 服務器的情況:如果你計劃將 pfSense 用作 VPN 服務器,那么你應該考慮到 VPN 使用對 CPU 的影響。每一個 VPN 連接都需要 CPU 對流量進行加密,連接數量越多,CPU 的負擔就越重。一般來說,最具成本效益的解決方案是使用更強大的 CPU。不過,也有一些方法可以減少 VPN 流量對 CPU 的負載。
->關于內存:如果你不是高級用戶,512 MB 的內存可能對于你的 pfSense 系統來說就足夠了。然而,這樣留給狀態表(如前所述,狀態表用于跟蹤活動連接)的空間就很少了。每個連接狀態大約需要 1 KB 的內存,這比一些消費級路由器所需的內存要少,但如果你預計會有大量的同時連接,你仍然需要留意內存的使用情況。pfSense 的其他組件需要 32 MB 到 48 MB 的內存,根據你使用的功能不同,可能需要更多內存,所以在計算最大狀態表大小時,你必須從可用內存中減去這部分內存用量。
->磁盤空間的大小以及你所使用的存儲形式,很可能取決于你安裝的軟件包以及你啟用的日志記錄形式。有些軟件包對存儲的要求比其他軟件包更高。一些軟件包比其他軟件包需要更多的磁盤空間。像 Squid 這樣的代理服務器會存儲網頁;像 pfBlocker 這樣的反垃圾郵件程序會下載被阻止的 IP 地址列表,因此需要額外的磁盤空間。代理服務器還往往會進行大量的讀寫操作,所以,如果你要安裝代理服務器,磁盤的輸入輸出(I/O)性能可能是你應該考慮的因素。
->關于網卡,你可能會傾向于選擇最便宜的網卡(NIC)。然而,便宜的網卡通常有復雜的驅動程序,這些驅動程序會將大部分處理工作卸載到 CPU 上。它們可能會使 CPU 因處理中斷而不堪重負,從而導致丟包。較便宜的網卡通常緩沖區較小(通常不超過 300 KB),當緩沖區滿了時,數據包就會被丟棄。此外,它們中的許多不支持大于最大傳輸單元(MTU)1500 字節的以太網幀。
不支持較大幀的網卡無法發送或接收巨型幀(MTU 大于 1500 字節的幀),因此它們無法利用使用巨型幀所帶來的性能提升。此外,這類網卡在處理 VLAN 流量時往往會出現問題,因為 VLAN 標簽會使以太網報頭的大小超出傳統的大小限制。
pfSense 項目推薦基于英特爾芯片組的網卡,這類網卡被認為可靠有幾個原因。它們往往具有足夠大小的緩沖區,并且在處理較大幀時不會出現問題。此外,其驅動程序往往編寫得很好,并且能與基于 UNIX 的操作系統很好地配合工作。