pfSense book中Web服務(wù)器負載平衡配置的示例分析,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
在pfsense的網(wǎng)關(guān)和服務(wù)器中有兩種類型的負載平衡功能。網(wǎng)關(guān)負載平衡可以通過多個WAN連接分發(fā)Internet綁定的流量。服務(wù)器負載平衡管理傳入流量,因此它利用多個內(nèi)部服務(wù)器進行負載分配和冗余,服務(wù)器負載平衡允許流量在多個內(nèi)部服務(wù)器之間分配,它最常用于Web服務(wù)器和SMTP服務(wù)器。下面我們就以實例來介紹服務(wù)器負載平衡的設(shè)置。
下面介紹如何通過pfsense2.32配置Web服務(wù)器的負載平衡。
上圖為示例網(wǎng)絡(luò)環(huán)境。它由單個防火墻組成,使用其WAN IP地址池,DMZ段上有兩個Web服務(wù)器。
導(dǎo)航到 Services > Load Balancer
單擊Pools 標簽
單擊 添加一個新的地址池
如圖所示,使用以下設(shè)置:
Name: | WebServers |
---|---|
Mode: | Load Balance |
Description: | Web server Pool |
Port: | 80 |
Retry: | 5 |
Pool Members: | 添加兩個Web服務(wù)器 (10.6.0.11 和10.6.0.12) |
單擊Save
地址池配置
虛擬服務(wù)器配置
單擊Virtual Servers標簽
單擊 添加一個新的虛擬服務(wù)器
如圖所示,使用以下設(shè)置:
Name: | WebVirtualServer |
---|---|
Description: | Web Server |
IP Address: | The firewall’s WAN IP address, 198.51.100.6 |
Port: | 80 |
Virtual Server Pool: | |
WebServers | |
Fall Back Pool: | None |
單擊 Submit(提交)
單擊 Apply Changes(應(yīng)用更改)
注意:在這個示例中,如果兩個池服務(wù)器都關(guān)閉,則虛擬服務(wù)器無法訪問。 如果沒有配置虛擬服務(wù)器,防火墻將會起作用。 如果防火墻上的某些應(yīng)用綁定到80端口,那么客戶端就會直達綁定了這個端口的應(yīng)用。 這可能包括通過端口80訪問內(nèi)置Web GUI,因此應(yīng)該在System > Advanced > Admin Access 選項卡上禁用或采用其他端口。
防火墻規(guī)則必須配置為允許訪問池中的服務(wù)器。 規(guī)則必須允許流量使用內(nèi)部IP地址和端口,并且對虛擬服務(wù)器配置中使用的外部IP地址和端口不需要任何規(guī)則限制。
創(chuàng)建一個包含池中所有服務(wù)器的別名,因此可以使用單個防火墻規(guī)則進行訪問。
導(dǎo)航到Firewall > Aliases
單擊 添加 一個別名
如圖所示,使用以下設(shè)置:
Name: | www_servers |
---|---|
Type: | Hosts |
Hosts: | 兩個Web服務(wù)器IP地址: 10.6.0.11 和 10.6.0.12 |
單擊 Save
單擊 Apply Changes(應(yīng)用更改)
圖中的“Name”顯示了用于此示例配置的別名,其中包含兩個Web服務(wù)器。
Web 服務(wù)器別名設(shè)置
下一步,用這個別名創(chuàng)建一個防火墻規(guī)則: 導(dǎo)航到Firewall > Rules ,切換到外部連接訪問的接口(例如WAN), 單擊 在頂部添加一條新規(guī)則,設(shè)置如下:
Interface: WAN Protocol: TCP Source: any Destination Type: Single Host or Alias Destination Address: www_servers Destination Port Range: HTTP Description: Allow to Web Server
單擊 Save
單擊 Apply Changes(應(yīng)用更改)
下圖為Web服務(wù)器設(shè)置的防火墻規(guī)則,未顯示的選項保留默認值。
為Web服務(wù)器添加防火墻規(guī)則
列表中顯示的規(guī)則。
Web 服務(wù)器防火墻規(guī)則
現(xiàn)在已經(jīng)配置了負載平衡器,要查看其狀態(tài),請瀏覽到Status > Load Balancer,然后單擊“Virtual Servers”選項卡。此頁面顯示整個服務(wù)器的狀態(tài),通常列為“Active(聯(lián)機)”或“Down(脫機)”。
Pools選項卡顯示池的每個成員的單獨狀態(tài)(如下圖所示)。如果服務(wù)器處于聯(lián)機狀態(tài),服務(wù)器的行為綠色,如果服務(wù)器處于脫機狀態(tài),則為紅色。
此外,池中的每個服務(wù)器都有一個復(fù)選框。 已檢查的服務(wù)器在池中處于活動狀態(tài),池中已禁用未選中的服務(wù)器,與在池編輯頁面上啟用和禁用列表之間移動的服務(wù)器相同。 要禁用服務(wù)器:取消選中它,然后單擊保存。
如果在其中一個服務(wù)器上停止了Web服務(wù)器服務(wù),或者如果使用ICMP監(jiān)視器將服務(wù)器完全從網(wǎng)絡(luò)中刪除,則狀態(tài)將更新為“脫機”,并將服務(wù)器從池中刪除。
為了驗證負載平衡, curl 是確保Web瀏覽器緩存和持久連接不影響測試結(jié)果的最佳選擇。curl 可以從 curl 官方網(wǎng)站下載,有各種操作系統(tǒng)的版本。 要使用它,只需運行以下命令:
curl http://mysite
在該命令中,將198.51.100.6替換為站點的IP地址或主機名。 這必須從網(wǎng)絡(luò)外部進行測試(例如,從WAN上的遠程網(wǎng)絡(luò)或客戶端)。 例如,在外網(wǎng)用curl進行測試:
# curl http://198.51.100.6 This is server www2 - 10.6.0.12 # curl http://198.51.100.6 This is server www1 - 10.6.0.11
測試負載平衡時,設(shè)置每個服務(wù)器返回指定其主機名、IP地址或兩者,因此明確哪個服務(wù)器響應(yīng)該請求。 如果未啟用粘性連接,則不同的服務(wù)器將響應(yīng)每個請求。
不能連接到負載平衡
不能連接到負載平衡器通常是使用測試方法不當造成的,這通常是HTTP特有的。 Web瀏覽器通常會保持與Web服務(wù)器建立的連接,并且點擊刷新會重新使用現(xiàn)有的連接。 單個連接將永遠不會更改為另一個平衡服務(wù)器。 另一個常見的問題是網(wǎng)絡(luò)瀏覽器緩存,瀏覽器只從緩存讀取數(shù)據(jù),未真正再次刷新頁面。 最好使用諸如curl等命令行工具來測試,因為它確保測試不受Web瀏覽器測試中固有問題的影響。curl沒有緩存,并在每次運行時都會重新建立與服務(wù)器的新連接。
如果啟用了粘性連接,請確保從多個源IP地址執(zhí)行測試。來自單個源IP地址的測試將轉(zhuǎn)到單個服務(wù)器,除非連接嘗試之間經(jīng)過了較長的時間。
如果服務(wù)器關(guān)閉但沒有標記為脫機,那是因為負載平衡守護程序執(zhí)行的監(jiān)視信號仍然處于啟動狀態(tài)。 如果使用TCP監(jiān)視器,TCP端口必須仍然接受連接。 該端口上的服務(wù)可以以多種方式斷開,仍然可以回復(fù)TCP連接。 對于ICMP監(jiān)視器,這個問題更加嚴重,因為服務(wù)器可以掛起或故障,沒有任何監(jiān)聽服務(wù),仍然可以回答ping。
如果服務(wù)器在線,但沒有標記為在線,那是因為從負載平衡守護程序監(jiān)視器的角度來看,它不是聯(lián)機的。 服務(wù)器必須在所使用的TCP端口上回答或響應(yīng)來自最靠近服務(wù)器的防火墻接口IP地址的ping。
例如,如果服務(wù)器在LAN上,則服務(wù)器必須應(yīng)答從防火墻的LAN IP地址發(fā)起的請求。 要驗證ICMP監(jiān)視器,請導(dǎo)航到到Diagnostics > Ping,并使用服務(wù)器所在的接口Ping服務(wù)器IP地址。
對于TCP監(jiān)視器,請使用“Diagnostics > Test Port”,并選擇防火墻的LAN接口作為源,將Web服務(wù)器的IP地址和端口作為目標。
另一種測試方法是使用防火墻的shell提示符,使用console或ssh菜單選項8和nc命令:
# nc -vz 10.6.0.12 80nc: connect to 10.6.0.12 port 80 (tcp) failed: Operation timed out
上面是一個失敗的例子。
下面是一個成功連接的例子:
# nc -vz 10.6.0.12 80 Connection to 10.6.0.12 80 port [tcp/http] succeeded!
如果連接失敗,請在Web服務(wù)器上進一步進行故障排除。
與池服務(wù)器在同一子網(wǎng)中的客戶端系統(tǒng)將無法使用此負載平衡方法正確連接。 relayd將連接轉(zhuǎn)發(fā)到具有客戶端源地址的Web服務(wù)器。然后,服務(wù)器將嘗試直接響應(yīng)客戶端。如果服務(wù)器具有到客戶端的直接路徑,例如通過同一子網(wǎng)中的本地連接的NIC,它將不會正常通過防火墻回流,客戶端將從服務(wù)器的本地IP地址收到回復(fù),而不會在relayd中收到該IP地址。然后,由于從客戶端的角度看,服務(wù)器IP地址不正確,連接被丟棄為無效。
這樣做的一個方法是使用手動出站NAT和制定手動出站NAT規(guī)則,以便從LAN子網(wǎng)到達Web服務(wù)器的內(nèi)部接口(LAN)的流量轉(zhuǎn)換為LAN的接口地址。這樣,流量似乎源于防火墻,服務(wù)器將響應(yīng)到防火墻,然后防火墻將該流量中繼到客戶端使用的預(yù)期地址。原始的客戶端源IP地址在該過程中丟失,最佳的解決方案是將服務(wù)器移動到不同的網(wǎng)段。
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
當前標題:pfSensebook中Web服務(wù)器負載平衡配置的示例分析-創(chuàng)新互聯(lián)
文章URL:http://www.rwnh.cn/article44/pdsee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機、ChatGPT、移動網(wǎng)站建設(shè)、電子商務(wù)、微信小程序、App開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容