徒手打造pfSense負載平衡器

目前光纖線路因價格下降已慢慢地被市場接受,但配置固定IP的光纖線路單價仍高,一般中小型企業較難負荷,因此負載平衡仍廣泛運用在各種網路架構上。但大多數的負載平衡設備價格昂貴,並且提供許多一般企業不會用到的功能。Linux或FreeBSD雖可以實作出負載平衡功能,但在維護及設定上較為困難。其實,利用pfSense這一款免費好用的負載平衡器就可解決以上所有的難題。

完成以上的設定後,可以做一個簡單的測試,依序使用IE和Firefox開啟,能夠顯示目前所使用Public IP的網頁,例如「http://checkrealip.com/」,從圖15中可以看出,兩次測試時的Public IP是不同的。


▲圖15 對外Public IP的測試。

在完成本階段的設定後,最基本的負載平衡設定「內網至外網」已經設定完成。下一階段,將繼續完成外網至內網的負載平衡設定。

同樣地,這裡以一個簡單的流程圖來說明如何完成外網對內網的負載平衡設定,如圖16所示。


▲圖16 外網對內網負戴平衡設定流程圖。

安裝及設定DNS Server

在前置作業中曾經提到,要實現外網對內網的負載平衡,須仰賴DNS Server的輔助,在此示範如何在pfSense內安裝DNS Server並進行相關設定。

首先要安裝對應的Packages。點選System,並點選Packages,接著找到dns-server,再點選最後面的+號圖示,如圖17所示。


▲圖17 安裝DNS Server。

安裝完成後,點選Services中的DNS Server進行相關設定,如圖18所示。


▲圖18 設定DNS Server。

在IP Address欄位內輸入127.0.0.1。接著,在Interface to listen欄位中選擇WAN及OPT1,如圖19所示。


▲圖19 設定DNS Server的IP及介面。

然後,選擇上方選單的New domain wizard來協助進行剩餘的設定。在點選後,會帶出設定的頁面。在Domain Name欄位內輸入honeypot.idv.tw,而Primary Nameserver欄位中則輸入203.70.181.248,另外將Secondary Nameserver欄位設定成123.204.45.73(圖20)。


▲圖20 使用「New domain wizard」完成DNS設定。

緊接著,設定A記錄。在First A record hostname欄位內輸入ftp.honeypot.idv.tw,並在First A record IP address欄位中輸入203.70.181.248。

同樣地,將Second A record IP hostname指定成ftp.honeypot.idv.tw,並在Second A record IP address欄位內設定123.204.45.73,如圖21所示。在此也會發現,可以輸入第三組A記錄,這代表pfSense支援三個介面的負載平衡。


▲圖21 設定ftp.honeypot.idv.tw的A記錄。

設定Firewall Rule

同樣地,也要設定Firewall Rule,讓從外部進來查詢DNS Server的封包可以進入內網。選擇Firewall的Rules,並選擇WAN的設定。接著,點選右上角的+號圖示來新增一筆rule(之前已設定過,請參考圖13,此次要選擇的是WAN)

在Interface的部分,預設為WAN,不加以變更。在Protocol設定上,理論上選擇UDP即可(DNS預設使用UDP),但為避免萬一,這裡選擇TCP/UDP。而Destination port range部分, from及to設定都選擇DNS,如圖22所示。


▲圖22 設定WAN Firewall rules。

此刻,針對用來測試的FTP服務,也要設定對應的rule。設定方式與設定DNS時相同,唯一不同的是,在設定Destination port range時記得選擇FTP。

設定NAT

緊接著設定NAT,這樣一來,進來的封包才曉得要往哪個IP送。在此選擇Firewall中的NAT,再點選Port Forward,並點選右上角的+號圖示來新增一筆設定(圖23)。


▲圖23 NAT新增一筆Port Forward設定。


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!