目錄

簡介

必要條件

需求

採用元件

安裝pfSense

解決方案概述

準備

安裝

網路設定

完成初始設定

配置基本管理員設定

新增所需的包

配置證書

新增虛擬IP

配置防火牆

配置HAProxy

HAProxy概念

初始HAProxy設定

配置HAProxy後端

配置HAProxy前端

簡介

本文檔介紹將pfSense社群版設定為企業聊天和電子郵件(ECE)的負載平衡器的步驟。

必要條件

需求

思科建議您瞭解以下主題：

- ECE 12.x

- pfSense社群版本

採用元件

本檔案中的資訊是根據以下軟體版本：

- 歐洲經委會12.6(1)

- pfSense社群版本2.7.2

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路運作中，請確保您瞭解任何指令可能造成的影響。

安裝pfSense

解決方案概述

pfSense Community Edition是一個多功能產品，可在單個伺服器中提供防火牆、負載平衡器、安全掃描器和許多其他服務。pfSense構建於免費BSD之上，具有最低的硬體要求。負載均衡器是HAProxy的實現，提供了易於使用的GUI來配置產品。

您可以將此負載均衡器用於ECE和聯絡中心管理門戶(CCMP)。本文檔提供了為ECE配置pfSense的步驟。

準備

步驟 1.下載pfSense軟體

使用pfSense網站下載iso安裝程式映像。

步驟 2.配置VM

按照最低要求配置VM:

· 64位amd64(x86-64)相容CPU

· 1GB或更多RAM

· 8 GB或更大的磁碟驅動器（SSD、HDD等）

·一個或多個相容網路介面卡

·用於初始安裝的可啟動USB驅動器或高容量光碟機（DVD或BD）

實驗安裝只需要一個網路介面(NIC)。運行裝置的方法有多種，但最簡單的方法是使用單個NIC（也稱為單臂模式）。在單臂模式下，有一個介面與網路通訊。雖然對於實驗室來說這是一種簡單且充分的方法，但它並不是最安全的方式。

配置裝置的更安全的方法是至少擁有兩個NIC。一個NIC是WAN介面，直接與公共Internet通訊。第二個NIC是LAN介面，與內部公司網路通訊。您還可以新增其他介面，以便與具有不同安全和防火牆規則的網路各個部分通訊。例如，您可以用一個NIC連線到公共網際網路，一個連線到DMZ網路（所有外部可訪問的Web伺服器都連線到該網路），第三個網絡卡連線到公司網路。這樣，您就可以讓內部和外部使用者安全地訪問儲存在DMZ中的同一組Web伺服器。確保在實施前瞭解任何設計的安全影響。與安全工程師協商，確保針對您的具體實施遵循最佳實踐。

安裝

步驟 1.將ISO安裝到VM

步驟 2.開啟VM電源，然後按照提示進行安裝。

請參閱本檔案以瞭解逐步說明。

網路設定

您必須為裝置分配IP地址才能繼續配置。

注意：本文檔顯示的是一個配置在一臂模式下的裝置。

步驟 1.配置VLAN

如果您需要VLAN支援，請回答第一個問題。否則，請回答n。

步驟 2.分配WAN介面

WAN介面是雙臂模式下的裝置的不安全端，也是單臂模式下的唯一介面。出現提示時輸入介面名稱。

步驟 3.分配LAN介面

LAN介面是雙臂模式下裝置的安全端。如果需要，請在系統提示時輸入介面名稱。

步驟 4.分配任何其他介面

配置您的特定安裝所需的任何其他介面。這些是可選的，並不常見。

步驟 5.為管理介面分配IP地址

如果您的網路支援DHCP，則分配的IP地址將顯示在控制檯螢幕中。

pfSense控制檯

如果沒有分配地址，或者如果您希望分配特定地址，請執行以下步驟。

1. 從控制檯選單中選擇選項2。

2. 回答n以禁用DHCP。

3. 輸入WAN介面的IPv4地址。

4. 輸入位計數中的網路掩碼。(24 = 255.255.255.0,16 = 255.255.0.0,8 = 255.0.0.0)

5. 輸入WAN介面的網關地址。

6. 如果您希望此網關成為裝置的預設網關，請回答y以進入網關提示，否則回答n。

7. 如果需要，配置IPv6的NIC。

8. 禁用介面上的DHCP伺服器。

9. 回答y以在webConfigurator協定上啟用HTTP。這將在後續步驟中使用。

然後，您將收到設定已更新的確認。

pfSense確認

完成初始設定

步驟 1.開啟Web瀏覽器並導航至:http://<ip_address_of_appliance>

注意：您最初必須使用HTTP而不是HTTPS。

pfSense管理員登入

步驟 2.使用預設登入名admin / pfSense登入

步驟 3.完成初始設定

按一下前兩個螢幕中的「下一步」。

pfSense安裝嚮導 — 1

提供主機名、域名和DNS伺服器資訊。

pfSense安裝嚮導 — 2

驗證IP地址資訊。如果您最初選擇了DHCP，現在您可以更改它。

提供NTP時間伺服器主機名並在下拉選單中選擇正確的時區。

pfSense安裝嚮導 — 3

繼續通過安裝嚮導直到結束。介面GUI會重新啟動，完成後，系統會將您重新導向到新URL。

配置基本管理員設定

步驟 1.登入到管理介面

步驟 2.從「系統」下拉選單中選擇「高級」

pfSense GUI - Admin下拉選單

步驟 3.更新WebConfigurator設定

pfSense GUI — 管理員配置

1. 選擇HTTPS(SSL/TLS)協定。

2. 此時將SSL/TLS證書保留為自簽名證書。

3. 將TCP埠更改為443以外的埠，以更好地保護介面並防止埠重疊問題。

4. 選擇WebGUI重定向選項以禁用埠80上的管理介面。

5. 選擇Browser HTTP_REFERER enforcement選項。

6. 通過選擇啟用安全外殼選項啟用安全外殼。

註：請確保在繼續操作之前,選擇「儲存」按鈕。然後您將重定向到新的https連結。

步驟 4.配置代理伺服器（如果需要）

如果需要，請在「其他」頁籤上配置代理資訊。要完成設定和配置，裝置必須能夠訪問Internet。

pfSense GUI — 代理配置

註：請確保在進行更改後選擇「儲存」按鈕。

新增所需的包

步驟 1.選擇「系統」>「包管理器」

步驟 2.選擇可用包

註：載入所有可用的軟體包可能需要幾分鐘的時間。如果超時，請確認DNS伺服器配置正確。通常，裝置的重新啟動會修復Internet連線。

pfSense GUI — 包清單

步驟 3.查詢並安裝所需的軟體包

1. haproxy

2. Open-VM工具

註：請勿選擇haproxy級包。

配置證書

pfSense可以建立自簽名證書，也可以與公共CA（內部CA）整合，或者可以充當CA並頒發CA簽名證書。本指南說明與內部CA整合的步驟。

開始此部分之前，請確保這些專案可用。

1. CA的根證書儲存為PEM或Base-64編碼格式。

2. CA的所有中繼（有時稱為簽發）憑證儲存為PEM或Base-64編碼格式。

步驟 1.從「系統」下拉選單中選擇「證書」

pfSense GUI - Certificates下拉選單

步驟 2.匯入CA根證書

pfSense GUI - CA證書清單

選擇Add按鈕。

pfSense GUI - CA匯入

如下圖所示：

1.提供一個唯一的描述性名稱

2.從「方法」下拉選單中選擇「匯入現有證書頒發機構」。

3.確保選中「信任儲存」和「隨機序列」覈取方塊。

4.將整個證書貼上到「證書資料」文本框中。確保包括-----BEGIN CERTIFICATE-----和-----END CERTIFICATE-----行。

5.選擇儲存。

6.驗證是否已匯入證書，如下圖所示。

pfSense GUI - CA清單

步驟 3.匯入CA中間證書

pfSense GUI - CA中間匯入

重複這些步驟以匯入根CA證書以匯入中間CA證書。

pfSense GUI - CA連結

檢視「Certificate Authorities（證書頒發機構）」 ，確保已正確將中間證書連結到根證書，如下圖所示。

步驟 4.為負載平衡網站建立和匯出CSR

以下說明建立CSR、匯出CSR，然後匯入簽署憑證的步驟。如果已經具有PFX格式的現有證書，則可以匯入此證書。有關這些步驟，請參閱pfSense文檔。

1.選擇「證書」選單，然後選擇新增/簽名按鈕。

pfSense GUI — 證書清單

2.完成「證書簽名請求」表單。

pfSense GUI - CSR建立

- 方法：從下拉選單中選擇「建立證書簽名請求」

- 描述性名稱：提供證書的名稱

- 金鑰型別和摘要演算法：檢視以確保它們符合您的要求

- 通用名稱：提供完全限定的域名網站

- 根據您的環境要求提供其餘證書資訊

pfSense GUI - CSR高級

- Certificate Type：在下拉選單中選擇Server Certificate。

- 備用名稱：提供實施所需的任何主題備用名稱(SAN)。

注意：公用名會自動新增到SAN欄位中。您只需要新增其他所需名稱。

所有欄位都正確後，選擇Save。

3.將CSR匯出到檔案。

pfSense GUI - CSR匯出

選擇「匯出」按鈕儲存CSR，然後與CA進行簽名。獲得簽名證書後，將其另存為PEM或Base-64檔案以完成該過程。

4.匯入簽名證書。

pfSense GUI — 憑證匯入

選擇鉛筆圖示以匯入簽名證書。

5.在表單中貼上證書資料。

pfSense GUI — 憑證匯入

選擇Update以儲存證書。

6.檢查證書資料以確保其正確。

pfSense GUI — 證書清單

7.如果希望在此pfSense上託管多個站點，請重複此過程。

新增虛擬IP

在pfSense上託管網站至少需要一個IP。在pfSense中，這可通過虛擬IP(VIP)完成。

步驟 1.從Firewall下拉選單中選擇Virtual IPs

pfSense GUI - VIP下拉選單

步驟 2.選擇「新增」按鈕

pfSense GUI - VIP登入頁

步驟 3.提供地址資訊

pfSense GUI - VIP配置

使用這些資訊新增VIP。

- 型別：選擇IP別名

- Interface：選擇要廣播的此IP地址的介面

- 地址：輸入IP地址

- 地址掩碼：對於用於負載平衡的IP地址，掩碼必須為/32

- 說明：提供簡短文本，以便以後更容易理解配置

選擇Save以提交更改。

對您的配置所需的每個IP地址重複此步驟。

步驟 4.應用配置

pfSense GUI - VIP清單

新增所有VIP後，選擇Apply Changes按鈕。

配置防火牆

pfSense具有內建防火牆。預設規則集非常有限。在裝置投入生產之前，請確保構建全面的防火牆策略。

步驟 1.從Firewall下拉選單中選擇Rules

pfSense GUI - Firewall Rules下拉選單

步驟 2.選擇其中一個Add按鈕

pfSense GUI — 防火牆規則清單

請注意，一個按鈕將新規則新增到所選行上方，而另一個按鈕將規則新增到所選規則下方。任一按鈕都可用於第一條規則。

步驟 3.建立防火牆規則以允許流量通過IP地址到埠443

pfSense GUI — 防火牆通過規則配置

使用該資訊建立規則。

- 操作：選擇通過

- Interface：選擇應用規則的介面

- 地址系列和協定：根據情況選擇

- 來源：將選定內容保留為任意

- 目標：從「目標」下拉選單中選擇「地址」或「別名」，然後輸入應用規則的IP地址

- 目的地連線埠範圍：選擇，在「自」和「至」下拉選單中的HTTPS(443)

- Log：選中此覈取方塊可記錄與此規則匹配的任何資料包進行記帳

- 說明：提供文本以稍後引用規則

選擇Save。

步驟 4.建立防火牆規則以丟棄到pfSense的所有其他流量

選擇Add按鈕將規則插入到新建立的規則下方。

pfSense GUI — 防火牆丟棄規則配置

- 操作：選擇塊

- Interface：選擇應用規則的介面

- 地址系列和協定：根據情況選擇

- 來源：將選定內容保留為任意

- 目標：將選定內容保留為任意

- Log：選中此覈取方塊可記錄與此規則匹配的任何資料包進行記帳

- 說明：提供文本以稍後引用規則

選擇Save。

步驟 5.檢查規則並確保阻止規則位於底部

pfSense GUI — 防火牆規則清單

如果需要，請拖動規則對它們進行排序。

選擇Apply Changes（在防火牆規則符合您的環境所需的順序後應用更改）。

配置HAProxy

HAProxy概念

HAProxy概念

HAProxy是使用Frontend/Backend模型實現的。

前端定義客戶與之通訊的代理端。

前端包括IP和埠組合、證書繫結，並且可以實施某些報頭操作。

後端定義代理與物理Web伺服器通訊的一端。

後端定義實際的伺服器和埠、用於初始分配的負載均衡方法、運行狀況檢查和永續性。

前端知道通過專用後端或使用ACL與哪些後端通訊。

ACL可以建立不同的規則，以便給定前端可以根據各種情況與不同的後端通訊。

初始HAProxy設定

步驟 1.從Services下拉選單中選擇HAProxy

pfSense GUI - HAProxy下拉選單

步驟 2.配置基本設定

pfSense GUI - HAProxy主設定

選中Enable HAProxy覈取方塊。

輸入最大連線數的值。有關所需記憶體的詳細資訊，請參閱本節中的圖表。

為Internal stats埠輸入一個值。此埠用於顯示裝置上的HAProxy統計資訊，但不會在裝置外部顯示。

輸入內部統計刷新率的值。

檢查其餘配置，並根據您的環境需要進行更新。

選擇Save。

pfSense GUI - HAProxy應用更改

注意：只有選擇「應用更改」按鈕後，配置更改才會變為活動狀態。您可以進行多項配置更改並同時應用所有更改。配置無需應用於其他部分即可使用。

配置HAProxy後端

從後端開始。原因是前端必須引用後端。確保已選擇「Backend（後端）」選單。

pfSense GUI - HAProxy新增後端

選擇Add按鈕。

pfSense GUI - HAProxy後端啟動

為後端提供名稱。

選擇向下箭頭，將第一個伺服器新增到「伺服器」清單中

後端 — 伺服器清單

提供引用伺服器的名稱。這不需要與實際的伺服器名稱匹配。這是顯示在統計資訊頁面上的名稱。

提供伺服器的地址。可以將其配置為FQDN的IP地址。

提供要連線的埠。這是ECE的埠443。

選中Encrypt(SSL)覈取方塊。

在Cookie欄位中提供一個值。這是會話粘性Cookie的內容，並且在後端內必須是唯一的。

配置第一個伺服器後，選擇向下箭頭以配置環境中的任何其他Web伺服器。

HAProxy後端 — 負載平衡

配置負載均衡選項。

對於ECE伺服器，必須將其設定為「最少連線」。

HAProxy後端 — 運行狀況檢查

此配置中未使用訪問控制清單。

超時/重試設定可以保留為其預設配置。

配置健康檢查部分。

1. 運行狀況檢查方法：HTTP

2. 檢查頻率：留空以使用每1秒的預設值。

3. 日誌檢查：選擇此選項可將任何運行狀況更改寫入日誌。

4. Http檢查方法：從清單中選擇GET。

5. http檢查請求使用的URL。提示：對於ECE伺服器，請輸入/system/web/view/platform/common/login/root.jsp?partitionId=1

6. HTTP檢查版本： Enter，HTTP/1.1\r\n\Host:\ {fqdn_of_server}

請確保在最後反斜線之後但在伺服器的FQDN之前包含空格。

HAProxy後端 — Cookie持續性

保持未選中代理檢查。

配置Cookie永續性：

1. Cookie Enabled：選擇以啟用基於Cookie的永續性。

2. Cookie名稱：提供cookie的名稱。

3. Cookie模式：從下拉框中選擇插入。

4. 不設定其餘選項。

HAProxy後端 — HST

後端配置表單的其餘部分可以保留其預設設定。

如果要配置HSTS，請在此部分中配置超時值。ECE也插入HSTS cookie，因此此配置是冗餘的。

選擇，儲存。

配置HAProxy前端

轉到「前端」選單。

pfSense GUI - HAProxy新增前端

選擇「新增」按鈕

HAProxy — 前端標頭

為前端提供一個名稱。

提供說明，以便稍後幫助識別前端。

在External address表中：

1. 收聽地址：選擇您為此網站建立的VIP。

2. 埠：輸入443。

3. SSL解除安裝：選擇此選項可插入會話cookie。

將Max連線留空。

確保「Type（型別）」選擇為「http / https（解除安裝）」。

HAProxy後端 — 預設後端選擇

最簡單的配置是從下拉選單中選擇預設後端。當VIP託管單個網站時可以選擇此選項。

HAProxy後端 — ACL高級

如圖所示，ACL可用於根據情況將單一前端重新導向多個後端。

您可以看到ACL會檢查請求中的主機是否以名稱和埠號開頭，或者只是以名稱開頭。基於此，使用特定後端。

這在歐洲經委會中並不常見。

HAProxy前端 — 憑證繫結

在SSL Offloading部分，選擇要用於此站點的證書。此證書必須是伺服器證書。

選擇選項Add ACL for certificate Subject Alternative Names。

可將其餘選項保留為預設值。

選擇此表單末尾的Save。

HAProxy — 應用配置

選擇Apply Changes以將前端和後端更改提交到運行配置。

恭喜，您已完成pfSense的設定和配置。