■濰坊 代善國
筆者在單位中負責網絡系統的維護工作。苦于資金限制,對網絡的安全性一直沒有找到好的解決辦法。
在通過網絡了解到開源防火墻軟件Pfsense后,經過一段時間學習,終于將其部署到了網絡中,切實提高了網絡的安全性。
但在使用過程中,逐漸發現單路防火墻加路由器的模式,在安全威脅較大的網絡或是數據流量較大的網絡中需要的維護工作量相當大。特別是對7×24小時不間斷的數據采集工作,由于單路系統的中斷是不可能完全避免的,而采集工作一旦中斷,后期的數據補收、處理等工作往往會給維護人員造成相當大的工作量。

圖1 網絡結構圖
為了切實解決單路網絡的低可靠性問題,筆者嘗試將網絡架構改為雙路路由加防火墻的高可靠性模式。
筆者的總體思路是,部署兩個Pfsense主機,上端分別通過光纖利用固定公網IP方式接入外網。下端分別利用CARP方式虛擬為一個虛擬IP,通過交換機,為網絡中的服務器與單機提供網絡接入與流控服務。中間將兩個Pfsense主機設置為高可靠性熱備運行模式。一臺為MASTER狀態(以下稱“主機”),負責正常的網絡接入與防火墻流控任務。另一臺為BACKUP狀態(以下稱“副機”),隨時保持與主機的同步狀態,根據主機的防火墻規則及狀態變化自動修改本身的規則與狀態,隨時保持與主機的一致性,但正常狀態下并不參與實際的網絡接入與流控任務。一旦主機造成宕機,則副機自動接管網絡的接入與流控任務,進入MASTER狀態。同時原主機自動由MASTER狀態進入BACKUP狀態,實現網絡的無縫銜接,保證網絡的高可用性。
整個網絡的結構如圖1所示。以下為具體部署操作。
硬件最重要的是兩臺可滿足運行PFSENSE的主機,建議選擇可穩定不間斷運行的工控機或閑置低端服務器,但強烈建議使用最低三網口的機器,因為經多次測試,在兩網口機器上,功能可以實現,但性能受限很大,不能滿足高性能與高可靠的設計初衷。
軟件基本只需PFSENSE即可,但建議使用PFSENSE的最新版本,筆者使用為2.4.4-RELEASE-p3(amd64)版本。在主機與副機上安裝應為同一版本,否則在后期兩機同步時,可能會出現不能傳輸相關狀態的問題。會出現提示“The pfsense software configuration version of the other member coult not be determind,Skip synchronization to avoid causing problem.”的錯誤。
首先是按網絡結構要求安裝相關的硬件設備,然后按如下步驟完成軟件配置:

表1 在主機與副機上設置相關網絡接口

表2 設置CARP共享虛擬IP地址
1.在主機與副機上分別安裝版本Pfsense軟件。
2.開機菜單中選“2)Set interfaces(s) IP address.”進入網卡接口設置狀態,在主機與副機上按表1所示設置相關網絡接口。
注意:在設置接口時兩機網絡接口的順序最好一致,以最大限度降低出現問題的機會,同時對系統運行性能的提升也有幫助。
3.設置CARP共享虛擬IP地址,本步的作用是將主機與副機的LAN口虛擬為一個共同的IP,并對局域網中的用戶提供公網接入與流控服務。局域網內用戶在訪問防火墻主機時,可以用虛擬IP訪問,此時主機與副機虛擬為一臺防火墻,可進行各種流控規則與狀態設置,其設置將同時作用到主機與副機中,也可以用主機與副機各自的獨立LAN口IP進行分別訪問,在其上的設置將分別同步到對方,作用與通過虛擬IP進行設置是一樣的。
具體操作為:分別進入主機與副機的WEB管理頁面;選擇防火墻菜單——虛擬IPS項;在出現的設置頁面中,按表2所示項進行相應設置。
在以上設置中,廣播頻率與偏離值可自主設置,但要保證主機上的設置值應小于副機上的值,否則在同步時,將出現主副機沖突,造成防火墻規則失效。
4.設置主副機中Pfsense中Web管理訪問協議。具體操作為:分別進入主機與副機的Web管理頁面;選擇系統菜單—高級選項,在出現的管理員訪問選項卡中,將Web訪問協議修改為一致,如都為HTTPS或HTTP;同時將并發訪問數修改為2或以上,然后保存即可。
注意:調整Web訪問協議后,均應重啟主機,或在主機開機設置菜單中利用“11)Reset WEB Configurator”項將主機的WEB服務重啟。同時在瀏覽器上應清除此前頁面上已啟動的Cookie,否則將不能登錄進入PFSENSE的Web管理界面進行后面的設置。
5.設置防火墻規則,實現主副機利用各自的SYNC口進行同步通訊。具體操作為:進入主機Web管理界面,選擇防火墻菜單—規則策略項SYNC選項卡;按表3、表4、表5所示,添加相應的規則。
選項卡中其他設置項保持默認即可,在規則1的設置中,所取值應與操作步驟4中的設置一致。
進入副機,設置防火墻規則如表6所示。
6.設置系統同步
具體操作為:進入主副機系統菜單—同步設置選項卡,按表7及表8所示設置各參數。
注意:主副機系統管理帳號與密碼應完全一致,同時在副機設置中,對XMLPRC項不能作任何設置。

表3 規則1

表4 規則2

表5 規則3

表6 防火墻規則1

表7 主機參數設置

表8 副機參數設置
至此,主副機的設置已全部完成。在保存相關設置后,即可看到主機與副機已進入同步狀態,相關的防火墻規則等已完全一致。
可利用三種方式進行驗證:一是在主機上進入狀態菜單—重置過濾—強制配置同步項,即可看到成功完成同步配置。二是進入狀態菜單—CARP項,可看到虛擬接口192.168.1.1已啟用,同時主機與副機的虛擬接口狀態分別MASTER與BACKUP。三是可通過在主機或副機上增加防火墻規則,一旦保存,在幾秒內,在別的主機上即可看到更新的規則。
通過一段較長時間的運行測試,筆者的整個網絡可靠性與安全性有了極大提高,在以往經常出現的數據中斷后的補處理工作基本沒有再出現,極大地減少了網絡的日常維護工作,達到了系統設計的初衷。