目前光纖線路因價格下降已慢慢地被市場接受,但配置固定IP的光纖線路單價仍高,一般中小型企業較難負荷,因此負載平衡仍廣泛運用在各種網路架構上。但大多數的負載平衡設備價格昂貴,並且提供許多一般企業不會用到的功能。Linux或FreeBSD雖可以實作出負載平衡功能,但在維護及設定上較為困難。其實,利用pfSense這一款免費好用的負載平衡器就可解決以上所有的難題。
本文將使用擴充性強大且易於操作及設定的開源防火牆軟體pfSense,把速度慢但有配置固定IP以及速度快但僅提供PPPoE固定IP的兩條線路加以整合,實作出內網對外網及外網對內網的負載平衡功能。
安裝環境及測試架構
pfSense的安裝相當簡單,只須連至pfSense的官方網站(http://www.pfsense.org/)下載其ISO檔後,將之燒錄至光碟。再找一台電腦,使用該光碟開機,便會自動開始其安裝流程。筆者使用的版本為pfSense-2.0.1-RELEASE-i386.iso.gz,讀者可依自己的需求,選擇合適的版本。在安裝時有兩個事項必須注意:
1. 建議安裝至硬碟或記憶卡以便日後管理。
2. 在設定網路時無須設定VLAN(可依本身需求進行調整)。
設定完成後,記得輸入99 (Install pfSense to a hard drive, etc.),將pfSense裝進硬碟或記憶卡。pfSense在2.0之後的版本,對於負載平衡功能的支援更為強大,這也是筆者特別撰文介紹的原因之一。
除了主機板內建的網路卡(sis0)外,筆者新增了兩張網路卡(re0和re1)。sis0是用來連接內網的部分,re0則連接低速但配有固定IP的512K/64K線路,而re1連接的是使用PPPoE方式取得固定IP,速率為12M/3M的線路。
而在測試架構的部分,筆者在內網架設一台IP為192.168.1.101的FTP伺服器(Server)。希望外部的訪客在連線至內部的FTP Server時可以做到負載平衡的效果。
前置作業
pfSense在2.0之後對於負載平衡提供了較完善的功能,但要實現外網至內網的負載平衡,除了pfSense本身提供的功能外,還需要在DNS上動手腳。因此先至Domain Name的註冊網頁進行相關設定,如圖1所示。
|
▲圖1 網域名稱設定。 |
筆者將之前註冊的Domain Name名稱「honeypot.idv.tw」,設定為自行DNS代管模式(在此以Seednet為例進行操作),將低速線路的固定IP「203.70.181.248」對應到dns1.honeypot.idv.tw,並將PPPoE取得的固定IP「123.204.45.73」對應到dns2.honeypot.idv.tw。在之後的章節,會將203.70.181.248設定在pfSense的WAN介面,123.204.45.73設定在OPT1(可以想像為第二個WAN)的介面上。
以上的設定方式是假設讀者的內網有兩種以上的伺服器,因此需要自己架設DNS伺服器。假如讀者只有一種伺服器(如Web Server)提供對外服務並且是使用某些DNS業者的服務(如TWNIC),若指定為DNS代管模式,並設定兩筆名稱相同的A記錄,這些業者就能提供外網對內網查詢時的負載平衡服務。
舉例而言,第一次查詢web.honeypot.idv.tw的IP時,會得到203.70.181.248的結果,在第二次查詢web.honeypot.idv.tw的IP,則會顯示123.204.45.73。這樣就能輕易地達到外對內負載平衡的效果。
為便於讀者理解設定流程,以下繪製了內網對外網負載平衡設定流程圖,如圖2所示:
|
▲圖2 內網對外網負載平衡設定流程圖。 |
設定主要介面IP及Gateway
pfSense預設的LAN IP為192.168.1.1,在此不做調整,請依自己的環境進行配置。首先,示範如何設定WAN介面及路由(Gateway)、DNS Server,讓內網的電腦能夠透過pfSense連出Internet,之後再介紹OPT1介面的設定。首先設定WAN介面,先點選Interfaces,再點選WAN,如圖3所示。
|
▲圖3 設定WAN介面。 |