01-負載均衡配置
本章節下載: 01-負載均衡配置 (2.25 MB)
目 錄
2.14.13 配置基於SIP信令報文Call ID的持續性方法
2.14.17 開啟匹配持續性表項的會話不受連接數限製影響功能
2.15.6 配置TCP連接TIME-WAIT狀態的超時時間
2.15.9 配置TCP連接FIN-WAIT-1狀態的超時時間
2.15.10 配置TCP連接FIN-WAIT-2狀態的超時時間
2.15.11 配置對客戶端發來的HTTP請求報文中超出MSS的數據段的處理方式
2.15.12 配置負載均衡設備與對端建立TCP連接時的MSS值
2.15.19 配置對每個HTTP請求或應答報文的首部都執行插入、刪除或修改操作
2.15.22 配置Secondary Cookie相關參數
2.15.23 配置當HTTP請求或應答報文首部超出最大長度時的處理方式
2.15.24 配置允許通過的HTTP請求報文實體的最大長度
2.17.4 配置TCP zero-window類型負載均衡探測模板
2.17.5 配置HTTP passive類型負載均衡探測模板
3.10.5 開啟匹配持續性表項的會話不受連接數限製影響功能
LB(Load Balance,負載均衡)是一種集群技術,它將特定的業務(網絡服務、網絡流量等)分擔給多台網絡設備(包括服務器、防火牆等)或多條鏈路,從而提高了業務處理能力,保證了業務的高可靠性。
負載均衡技術具有以下優勢:
· 高性能:通過將業務較均衡地分配到多台設備或多條鏈路上,提高了係統的整體性能。
· 可擴展性:可以方便地增加集群中設備或鏈路的數量,在不降低業務質量的前提下滿足不斷增長的業務需求。
· 高可靠性:單個甚至多個設備或鏈路發生故障也不會導致業務中斷,提高了係統的整體可靠性。
· 可管理性:大量的管理工作都集中在應用了負載均衡技術的設備上,集群中的設備或鏈路隻需要進行普通的配置和維護。
· 透明性:對用戶而言,集群等同於一個可靠性高、性能好的設備或鏈路,用戶感知不到也不必關心具體的網絡結構。增減集群中的設備或鏈路不會影響正常業務。
負載均衡技術可分為以下幾種類型:
· 服務器負載均衡:在數據中心等組網中,通過此技術可將網絡服務分擔給多台服務器或防火牆進行處理,從而提高服務器或防火牆的處理能力。
· 鏈路負載均衡:當存在多條運營商鏈路時,通過此技術可實現鏈路的動態選擇,從而充分利用多條鏈路。鏈路負載均衡支持IPv4與IPv6,但不支持IPv4報文與IPv6報文的互相轉換。根據數據的連接請求方向不同,鏈路負載均衡又分為以下三種:
¡ 出方向鏈路負載均衡:當內網用戶訪問外部互聯網存在多條鏈路時,可在多條鏈路上分擔內網用戶訪問外部互聯網的流量。
¡ DNS透明代理:當內網用戶訪問外網DNS服務器存在多條鏈路時,可在多條鏈路上分擔內網用戶訪問外部DNS服務器的流量。
¡ 入方向鏈路負載均衡:當外網用戶訪問內網服務器存在多條鏈路時,可在多條鏈路上分擔外網用戶訪問內網服務器的流量。
在企業或大型數據中心場景下,需要多台服務器同時對外提供服務。服務器負載均衡技術能將用戶流量在多台服務器間進行合理分配,從而提高服務器資源利用率,提升用戶訪問體驗。
如圖2-1所示,通過服務器負載均衡技術,管理員可將多台真實服務器配置成一台虛擬服務器,對外發布虛擬服務器的IP地址。當用戶流量訪問虛擬服務器時,SLB(Server Load Balancing,服務器負載均衡)設備跟據預先配置的調度算法、負載均衡策略等為用戶流量分配最優的服務器資源。
服務器負載均衡功能包含以下基本概念:
· 虛服務器:SLB設備對外提供服務的邏輯載體,由協議類型、IP地址和端口唯一標識。當客戶端的訪問請求到達SLB設備後,隻有匹配虛服務器的流量才能進入SLB處理流程。
· 實服務器:負責響應和處理用戶請求的物理服務器。
· 實服務組:由多台實服務器組成的集合,它們提供相同的服務。
服務器負載均衡的工作流程如圖2-2所示。
(1) 客戶端向SLB設備發送訪問請求,此時的源IP地址為客戶端IP地址,目的IP地址為虛服務器IP地址(圖中簡寫為VSIP,即Virtual sever's IP)。
(2) SLB設備根據健康檢測方法、持續性方法、負載均衡策略、調度算法等,綜合計算出將訪問請求分發給哪台實服務器,並將報文的目的IP地址轉換為選中的實服務器的IP地址。
(3) 設備將訪問請求轉發給實服務器,此時的源IP地址為客戶端IP,目的IP地址為實服務器的IP地址。
(4) 實服務器接收並處理請求報文,返回響應報文,此時的源IP地址為實服務器的IP地址,目的IP地址為客戶端IP地址。
(5) 設備收到響應報文後,將其源IP地址轉換為虛服務器IP地址。
(6) 設備向客戶端轉發響應報文,此時的源IP地址為虛服務器IP地址,目的IP地址為客戶端IP地址。
根據識別信息的層級不同,服務器負載均衡可分為以下兩種:
· 四層服務器負載均衡:可識別網絡層和傳輸層信息,是基於流的負載均衡,通過對報文進行逐流分發,將同一條流的報文分發給同一台服務器。由於四層服務器負載均衡對七層業務無法按內容分發,從而限製了其適用範圍。
· 七層服務器負載均衡:除了可識別網絡層和傳輸層信息之外,還可識別應用層信息,是基於內容的負載均衡,通過對報文承載的內容進行深度解析,根據其中的內容進行逐包分發,按既定策略將連接導向指定的服務器,從而實現了業務範圍更廣泛的服務器負載均衡。
如圖2-3所示,在網關部署模式中,SLB設備串連部署在實服務器前端,客戶端的請求和響應流量均會經過SLB設備處理。當客戶端的請求流量經過SLB設備時,SLB設備根據健康檢測方法、會話保持、負載均衡策略、調度算法等選出最優的實服務器,並將客戶端請求的虛IP地址轉換為選中的實服務器的IP地址;在實服務器的響應流量經過SLB設備時,SLB設備會將其源IP地址還原為虛服務器IP地址。
在網關部署模式中,管理員需要在實服務器上配置缺省網關或靜態路由,將發往客戶端的報文發送到SLB設備上。
網關部署模式將SLB設備串接在原有組網中,會改變已有的網絡拓撲,僅適用於組網較為簡單的部署場景。
如圖2-4所示,在旁掛部署模式中,SLB設備旁掛部署在核心交換機上,客戶端的請求和響應流量均會經過SLB設備處理。
當客戶端的請求流量經過SLB設備時,SLB設備根據健康檢測方法、會話保持、負載均衡策略、調度算法等選出最優的實服務器,並將客戶端請求的虛IP地址轉換為選中的實服務器的IP地址;在實服務器的響應流量經過SLB設備時,SLB設備會將其源IP地址還原為虛服務器IP地址。
在旁掛部署模式中,管理員需要在實服務器上配置缺省網關或靜態路由,將發往客戶端的報文發送到旁掛SLB設備的核心交換機上。
相比於網關部署模式,旁掛部署模式不改變原有網絡拓撲,部署更為靈活。
如圖2-5所示,三角傳輸部署模式與旁掛部署模式的網絡拓撲相同,SLB設備旁掛部署在核心交換機上,但不同的是,SLB設備與實服務器之間通過二層傳輸,且隻有客戶端的請求流量會經過SLB設備處理,實服務器的響應流量不會經過SLB設備處理。當客戶端的請求流量經過SLB設備時,SLB設備根據健康檢測方法、會話保持、負載均衡策略、調度算法等選出最優的實服務器,並向選中的實服務器發送訪問請求,此時請求報文的源IP地址為客戶端的IP地址,目的IP地址仍為虛服務器的IP地址,目的MAC地址為實服務器的MAC地址。實服務器接收並處理請求報文,並直接向客戶端返回響應報文,響應報文不再經過SLB設備處理。此時的源IP地址為虛服務器的IP地址,目的IP地址為客戶端IP地址。
在三角傳輸部署模式中,管理員需要在實服務器上配置缺省網關或靜態路由,將發往客戶端的報文發送到出口網關上。並且,管理員還需要在實服務器的Loopback地址配置為服務器IP地址。
相比於網關部署模式,三角傳輸部署模式不改變原有網絡拓撲,部署更為靈活;相比於旁掛部署模式,三角傳輸部署模式的回程流量不經過SLB設備,更適用於諸如視頻等業務流量較大的場景。
在單台SLB設備的組網中,一旦發生單點故障,客戶端將無法訪問實服務器。采用高可靠性組網可以很好的避免單點故障,保證業務的連續性。高可靠性功能支持主備、雙主和集群幾種工作模式。有關高可靠性的詳細介紹,請參見“可靠性配置指導”中的“雙機熱備(RBM)”。
如圖2-6所示,主備模式(A/S即Active/Standby)由兩台SLB設備在一個內網(或數據中心)中組建成雙機熱備環境。正常情況下,僅由主設備處理業務,備設備處於待命狀態;當主設備的接口、鏈路或整機故障時,備設備立即接替主設備處理業務,保證業務不中斷。
如圖2-7所示,雙主模式(A/A即Dual-Active)由兩台SLB設備在一個內網(或數據中心)中組建成雙機熱備環境。兩台設備同時處理業務,充分利用設備資源,提高係統負載能力。並且當其中一台設備發生故障時,另外一台設備會立即承擔其業務,保證業務不中斷。
本功能的支持情況與設備型號有關,請以設備的實際情況為準。
F1000係列 |
型號 |
說明 |
F1000-X-G5係列 |
F1000-A-G5、F1000-C-G5、F1000-C-G5-LI、F1000-E-G5、F1000-H-G5、F1000-S-G5 |
支持 |
F1000-X-G3係列 |
F1000-A-G3、F1000-C-G3、F1000-E-G3、F1000-S-G3 |
支持 |
F1000-X-G2係列 |
F1000-A-G2、F1000-C-G2、F1000-E-G2、F1000-S-G2 |
支持 |
F1000-9X0-AI係列 |
F1000-9390-AI、F1000-9385-AI、F1000-9380-AI、F1000-9370-AI、F1000-9360-AI、F1000-9350-AI、F1000-9330-AI、F1000-9320-AI、F1000-990-AI、F1000-980-AI、F1000-970-AI、F1000-960-AI、F1000-950-AI、F1000-930-AI、F1000-920-AI |
支持 |
F1000-9310-AI、F1000-9305-AI、F1000-910-AI、F1000-905-AI |
不支持 |
|
F1000-C83X0係列 |
F1000-C8395、F1000-C8390、F1000-C8385、F1000-C8380、F1000-C8370、F1000-C8360、F1000-C8350、F1000-C8330、F1000-C8320、F1000-C8310 |
支持 |
F1000-C8305 |
不支持 |
|
F1000-C81X0係列 |
F1000-C8180、F1000-C8170、F1000-C8160 |
支持 |
F1000-C8150、F1000-C8130、F1000-C8120、F1000-C8110 |
不支持 |
|
F1000-7X0-HI係列 |
F1000-770-HI、F1000-750-HI、F1000-740-HI、F1000-730-HI |
支持 |
F1000-720-HI、F1000-710-HI |
不支持 |
|
F1000-C-X係列 |
F1000-C-EI、F1000-C-HI、F1000-C-XI、F1000-E-XI |
支持 |
F1000-V係列 |
F1000-E-VG |
支持 |
F1000-S-VG |
不支持 |
|
SecBlade IV |
LSPM6FWD8、LSQM2FWDSC8 |
支持 |
F100係列 |
型號 |
說明 |
F100-X-G5係列 |
F100-E-G5、F100-M-G5-EI |
支持 |
F100-A-G5、F100-C-G5、F100-C-G5-EI、F100-M-G5、F100-S-G5、F100-C-G5-SI |
不支持 |
|
F100-X-G3係列 |
F100-A-G3、F100-E-G3 |
支持 |
F100-C-G3、F100-M-G3、F100-S-G3 |
不支持 |
|
F100-X-G2係列 |
F100-A-G2、F100-E-G2 |
支持 |
F100-C-G2、F100-M-G2、F100-S-G2 |
不支持 |
|
F100-WiNet係列 |
F100-A80-WiNet、F100-A91-WiNet、F100-A81-WiNet |
支持 |
F100-C80-WiNet、F100-C60-WiNet、F100-C50-WiNet、F100-S80-WiNet |
不支持 |
|
F100-C-A係列 |
F100-C-A6、F100-C-A5、F100-C-A3、F100-C-A2、F100-C-A1、F100-C-A6-WL、F100-C-A5-W、F100-C-A3-W |
不支持 |
F100-X-XI係列 |
F100-A-EI、F100-A-HI、F100-A-SI、F100-E-EI |
支持 |
F100-C-EI、F100-C-HI、F100-A-XI、F100-C-XI、F100-S-HI、F100-S-XI |
不支持 |
如果在設備連接客戶端的接口上配置了NAT內部服務器功能,設備將基於轉換後的報文進行服務器負載均衡。有關NAT內部服務器的詳細介紹,請參見“三層技術—IP業務配置指導”中的“NAT”。
服務器負載均衡需要購買並正確安裝License後才能使用,有關License的詳細介紹,請參見“基礎配置指導”中的“License管理”。
服務器負載均衡各配置項之間的配置關係如圖2-8所示。
· 實服務組:將具有相同或相似功能的實服務器抽象成一個實服務組。實服務組可被虛服務器或負載均衡動作引用。
· 實服務器:負載均衡設備上處理用戶業務的實體。
· 虛服務器:負載均衡設備上麵向用戶業務的虛擬載體,隻有匹配上虛服務器的報文才需要進行負載均衡處理。
· 負載均衡類:將報文分類,以便對不同類型的報文執行不同的負載均衡動作。
· 負載均衡動作:製訂丟棄、轉發或修改報文的具體行為。
· 負載均衡策略:將負載均衡類和負載均衡動作關聯起來就構成了負載均衡策略。負載均衡策略可被虛服務器引用。
· 持續性組:根據某持續性方法將具有一定相關性的會話都分配給同一個實服務器處理。持續性組可被虛服務器或負載均衡動作引用。
· 參數模板:製訂對報文進行更深入處理的模板。參數模板可被虛服務器引用。
服務器負載均衡配置任務如下:
(1) 配置實服務組
(2) 配置實服務器
(3) 配置虛服務器
(4) (可選)配置負載均衡策略
a. 配置負載均衡類
b. 配置負載均衡動作
c. 配置負載均衡策略
(5) (可選)配置持續性組
(6) (可選)配置模板及策略
¡ 配置參數模板
¡ 配置防護策略
(7) (可選)配置SNAT全局策略
(8) (可選)配置負載均衡ALG功能
(9) (可選)配置重新加載代答文件
(10) (可選)測試負載均衡效果
(11) (可選)配置負載均衡告警及日誌功能
為了便於對實服務器進行統一管理,可將具有相同或相似功能的實服務器抽象成一個組,稱為實服務組。比如,可按存儲內容的不同劃分為歌曲服務器組、視頻服務器組和圖片服務器組等。
四層和七層服務器負載均衡的實服務組配置完全相同。
實服務器配置任務如下:
(1) 創建實服務組
(2) (可選)添加並配置實服務組成員
(3) 配置實服務組的調度算法
(4) 配置NAT功能
請至少選擇其中一項進行配置:
¡ 配置NAT功能
(5) 配置可用條件
(6) (可選)配置溫暖上線功能
(7) (可選)配置健康檢測功能
(8) (可選)配置自定義監控功能
(9) (可選)配置智能監控功能
(10) (可選)配置繁忙處理方式
(11) (可選)配置故障處理方式
(1) 進入係統視圖。
system-view
(2) 創建實服務組,並進入實服務組視圖。
server-farm server-farm-name
(3) (可選)配置實服務組的描述信息。
description text
缺省情況下,未配置實服務組的描述信息。
設備支持通過兩種方式向實服務組中添加成員:
· 在實服務組視圖下,通過本配置創建實服務組成員或添加已存在的實服務器。
· 在實服務器視圖下,指定其所屬的實服務組。具體配置請參見“2.9.2 創建實服務器並指定其所屬實服務組”。
本配置用來指定實服務器在實服務組內的權值、調用優先級、連接參數、健康檢測功能以及慢宕功能。基於實服務組成員的調度算法會依據這些配置,選出當前實服務組中最優的實服務器。
(1) 進入係統視圖。
system-view
(2) 進入實服務組視圖。
server-farm server-farm-name
(3) 創建並添加實服務組成員,並進入實服務組成員視圖。
real-server real-server-name port port-number
若指定名稱的實服務器已存在,則本命令隻是在實服務組視圖下添加已存在的實服務器。
(4) (可選)配置實服務組成員的描述信息。
description text
缺省情況下,未配置實服務組成員的描述信息。
(1) 進入係統視圖。
system-view
(2) 進入實服務組視圖。
server-farm server-farm-name
(3) 進入實服務組成員視圖。
real-server real-server-name port port-number
(4) 配置實服務組成員的權值。
weight weight-value
缺省情況下,實服務組成員的權值為100。
(5) 配置實服務組成員的調用優先級
priority priority
缺省情況下,實服務組成員的調度優先級為4。
(1) 進入係統視圖。
system-view
(2) 進入實服務組視圖。
server-farm server-farm-name
(3) 進入實服務組成員視圖。
real-server real-server-name port port-number
(4) 配置實服務組成員所允許的最大連接速率。
rate-limit connection connection-number
缺省情況下,實服務器所允許的最大連接速率為0,即不受限製。
(5) 配置實服務組成員所允許的最大連接數。
connection-limit max max-number
缺省情況下,實服務組成員所允許的最大連接數為0,即不受限製。
(6) 實服務組成員所允許的最大HTTP請求速率。
rate-limit http-request request-number
缺省情況下,實服務組成員所允許的最大HTTP請求速率為0,即不受限製。
(1) 進入係統視圖。
system-view
(2) 進入實服務組視圖。
server-farm server-farm-name
(3) 進入實服務組成員視圖。
real-server real-server-name port port-number
(4) 指定實服務組成員的健康檢測方法。
probe template-name [ nqa-template-port ]
缺省情況下,未指定實服務組成員的健康檢測方法。
設備支持通過引用NQA模板進行健康探測。有關NQA模板的詳細介紹,請參見“網絡管理和監控配置指導”中的“NQA”。
(5) 配置實服務組成員健康檢測的成功條件。
success-criteria { all | at-least min-number }
缺省情況下,隻有全部方法都通過檢測才認為健康檢測成功。
(6) (可選)開啟實服務組成員的健康檢測日誌功能。
probe log enable
缺省情況下,實服務組成員健康檢測日誌功能處於開啟狀態。
(1) 進入係統視圖。
system-view
(2) 進入實服務組視圖。
server-farm server-farm-name
(3) 進入實服務組成員視圖。
real-server real-server-name port port-number
(4) 指定實服務組成員引用的自定義監控類型的負載均衡探測模板。
probe-template external-monitor template-name
缺省情況下,未指定實服務組成員引用的自定義監控類型的負載均衡探測模板。
(1) 進入係統視圖。
system-view
(2) 進入實服務組視圖。
server-farm server-farm-name
(3) 進入實服務組成員視圖。
real-server real-server-name port port-number
(4) 開啟實服務組成員的慢宕功能。
slow-shutdown enable
缺省情況下,實服務組成員的慢宕功能處於關閉狀態。
(5) 關閉實服務組成員。
shutdown
缺省情況下,實服務組成員處於開啟狀態。
(1) 進入係統視圖。
system-view
(2) 進入實服務組視圖。
server-farm server-farm-name
(3) 進入實服務組成員視圖。
real-server real-server-name port port-number
(4) 配置實服務組成員關聯的變量。
variable variable-name value value
缺省情況下,未配置實服務組成員關聯的變量。
重寫TCP載荷的負載均衡動作通過調用實服務組成員關聯的變量將TCP報文載荷的指定內容替換為實服務組成員關聯的變量值。
設備根據實服務組中配置的調度算法,計算出處理用戶請求的實服務器。設備支持以下實服務組的調度算法:
· IP地址哈希算法:設備將具有相同源IP地址、源IP地址+端口或目的地址的用戶請求分配給相同的實服務器。服務器負載均衡支持以下IP地址哈希算法:
¡ 源IP地址哈希算法:適用於同一源IP地址發起的請求必須要調度到同一台實服務器的場景,多用於應用本身對請求的源IP地址有要求的環境。
¡ 源IP地址和端口哈希算法:適用於同一源IP地址和端口發起的請求必須要調度到同一台實服務器的場景,多用於應用本身對請求的源IP地址和端口有要求的環境。
¡ 目的IP地址哈希算法:適用於將發往同一目的IP地址的用戶請求必須要調度到同一台實服務器的場景,當客戶端有一係列業務需要處理且必須和一台服務器反複通信時需要用到該算法,該算法保證發送到相同目的IP地址的流量能夠一直在同一台服務器上進行處理。
· IP地址CARP哈希算法:CARP(Cache Array Routing Protocol,緩存陣列路由協議)哈希算法是在哈希算法的基礎上進行了改進。當可用實服務器不變時,CRAP哈希算法與普通哈希算法作用相同。然而,在實際應用中,已有服務器可能失效,管理員也有可能增加新的實服務器參與調度。在這種可用實服務器發生變化的情況下,采用IP地址CARP哈希算法,可使當前所有可用服務器負載分擔變動最小。服務器負載均衡支持以下IP地址CRAP哈希算法:
¡ 源IP地址CARP哈希算法:源IP地址CARP哈希算法適用於應用本身對請求的源IP地址有要求的場景。對於同一源IP地址發起的訪問請求,當可用的實服務器數量發生變化時,采用源IP地址CARP哈希算法,可使當前所有可用實服務器負載分擔變動最小。
¡ 源IP地址和端口CARP哈希算法:源IP地址和端口CARP哈希算法適用於應用本身對請求的源IP地址和端口有要求的場景。對於同一源IP地址和端口發起的訪問請求,當可用的實服務器數量發生變化時,采用源IP地址和端口CARP哈希算法,可使當前所有可用實服務器負載分擔變動最小。
¡ 目的IP地址CARP哈希算法:適用於客戶端一係列相關業務處理都需要和同一台實服務器反複通信的場景,設備將發往同一目的IP地址的請求調度到同一台實服務器,當可用的實服務器數量發生變化時,采用目的IP地址CARP哈希算法,可使當前所有可用實服務器負載分擔變動最小。
· HTTP載荷哈希算法:設備將具有相同HTTP載荷的用戶請求分配給相同的實服務器。
· HTTP載荷CRAP哈希算法:當可用實服務器不變時,設備將HTTP載荷相同的用戶請求分配給相同的服務器。當可用實服務器發生變化時,設備可使當前所有可用實服務器負載分擔變動最小。
· 動態反饋算法:根據實服務器的內存使用率、CPU使用率和磁盤使用率等信息計算出當前的負載能力權值。負載越小,權值越大,分配到的新連接越多。該算法隻有在引用了SNMP-DCA類型的NQA探測模板的情況下才會生效。若未引用SNMP-DCA類型的NQA探測模板,則使用非加權的輪轉算法進行調度。有關NQA模板的配置請參見“網絡管理與監控配置指導”中的“NQA”。
· 加權最小連接算法(基於實服務器):總是將請求分發給加權活動連接數(當前實服務器在所有實服務組中的活動連接總數/權值)最小的實服務器。該算法中使用的權值為實服務器視圖下配置的權值。
· 加權最小連接算法(基於實服務器組成員):總是將請求分發給加權活動連接數(實服務組成員在指定實服務組中的活動連接數/權值)最小的實服務組成員。該算法中使用的權值為實服務器組成員視圖下配置的權值。
· 隨機算法:將請求隨機分發給某個實服務器。
· 最快響應算法(基於實服務器):根據實服務器的響應時間計算出當前負載能力的權值。響應時間越短,權值越大,分配到的新連接越多。
· 最快響應算法(基於實服務組成員):根據實服務組成員的響應時間計算出當前負載能力的權值。響應時間越短,權值越大,分配到的新連接越多。
· 加權輪轉算法:根據實服務器權值的大小將請求依次分發給每個實服務器,權值越大,分配的請求越多。
· 帶寬算法:根據實服務器的權值與剩餘帶寬的比例把請求分發給每個實服務器。
· 最大帶寬算法:總是將請求分發給處於空閑狀態且剩餘帶寬最大的實服務器。
(1) 進入係統視圖。
system-view
(2) 進入實服務組視圖。
server-farm server-farm-name
(3) 配置實服務組的調度算法。
¡ 基於實服務器:
predictor { dync-round-robin | least-connection | least-time | { bandwidth | max-bandwidth } [ inbound | outbound ] }
¡ 基於實服務組成員:
predictor hash [ carp ] address { destination | source | source-ip-port } [ mask mask-length ] [ prefix prefix-length ]
predictor hash [ carp ] http [ offset offset ] [ start start-string ] [ [ end end-string ] | [ length length ] ]
predictor { least-connection member | random | round-robin }
缺省情況下,實服務組的調度算法為加權輪轉算法。
(4) 配置實服務組中可被調度算法調用的實服務器數量限製。
selected-server min min-number max max-number
缺省情況下,實服務組中調用優先級最高的實服務器全部被調度算法調用。
在三角傳輸模式下,需要在實服務組中關閉NAT功能。
(1) 進入係統視圖。
system-view
(2) 進入實服務組視圖。
server-farm server-farm-name
(3) 在實服務組中關閉NAT功能。
transparent enable
缺省情況下,實服務組中的NAT功能處於開啟狀態。
實服務組被HTTP類型的虛服務器引用時,即使關閉了NAT功能也將仍按照NAT模式處理。
NAT功能分為DNAT和SNAT方式,對於DNAT方式,隻需在實服務組中開啟NAT功能即可;而對於SNAT方式,還需配置SNAT地址轉換方式。實服務組配置相應的SNAT轉換方式之後,負載均衡設備將把收到報文的源IP地址按照對應的方式轉換後再轉發出去。設備在實服務組視圖下支持配置三種源地址轉換方式:
· 自動映射:采用設備與實服務器通信的接口IP地址進行源地址轉換。
· TCP Option:根據收到報文的TCP Option字段攜帶的地址進行源地址轉換。此方式還需要在TCP類型的參數模板中,配置進行SNAT地址轉換的TCP選項。具體配置請參見“2.15.15 配置進行SNAT地址轉換的TCP選項”。
· SNAT地址池:根據配置的SNAT地址池進行源地址轉換。
一個SNAT地址池由多個地址成員組成,每個地址成員最多包含256個IPv4地址或10000個IPv6地址,且不同SNAT地址成員中的IPv4或IPv6地址不允許重疊,同一SNAT地址池的不同地址成員中,也不允許包含相同的IPv4地址。
對於TCP Option類型的SNAT轉換方式,需要在業務處理之前將所用到的源地址插入到指定的TCP Option中。
若SNAT地址池中的IP地址與設備連接服務器端的接口IP地址在同一網段,則必須指定發送免費ARP報文或ND報文的接口。否則,無需指定發送免費ARP報文或ND報文的接口。
服務器負載均衡中的NAT功能不能和普通NAT功能配合使用。有關普通NAT功能的詳細介紹,請參見“三層技術-IP業務配置指導”中的“NAT”。
同一IP地址的實服務器被多個實服務組引用後,所有實服務組必須都不做或者都做SNAT地址轉換。
一個SNAT地址池中的成員個數必須大於或等於設備的CPU/備份組數目,對於支持雙安全引擎的設備,其SNAT地址成員個數必須大於或者等於引擎板/備份組數目乘以二。有關安全引擎的詳細介紹,請參見“虛擬化技術配置指導”中的“Context”。
(1) 進入係統視圖。
system-view
(2) 進入實服務組視圖。
server-farm server-farm-name
(3) 在實服務組中開啟NAT功能。
undo transparent enable
缺省情況下,實服務組中的NAT功能處於開啟狀態。
實服務組被HTTP類型的虛服務器引用時,即使關閉了NAT功能也將仍按照NAT模式處理。
(1) 進入係統視圖。
system-view
(2) (可選)創建SNAT地址池。
a. 創建SNAT地址池,並進入SNAT地址池視圖。
loadbalance snat-pool pool-name
b. (可選)配置SNAT地址池的描述信息。
description text
缺省情況下,未配置SNAT地址池的描述信息。
c. 添加SNAT地址池的IP地址成員。
(IPv4網絡)
ip range start start-ipv4-address end end-ipv4-address
(IPv6網絡)
ipv6 range start start-ipv6-address end end-ipv6-address
缺省情況下,未配置SNAT地址池的IP地址成員。
d. (可選)配置SNAT地址池所屬VPN實例。
vpn-instance vpn-instance-name
缺省情況下,SNAT地址池屬於公網。
本命令僅用作配置隔離。當存在多個地址池出現地址資源重疊時,可以通過配置各個地址池屬於不同的VPN實例進行配置隔離。
配置SNAT地址轉換方式為SNAT地址池方式時,必須配置本步驟。
(3) 退回係統視圖。
quit
(4) 進入實服務組視圖。
server-farm server-farm-name
(5) 在實服務組中開啟NAT功能。
undo transparent enable
缺省情況下,實服務組中的NAT功能處於開啟狀態。
實服務組被HTTP類型的虛服務器引用時,即使關閉了NAT功能也將仍按照NAT模式處理。
(6) 配置SNAT地址轉換方式。請選擇其中一項進行配置。
¡ 配置自動映射方式的SNAT地址轉換。
snat-mode auto-map
¡ 配置TCP Option方式的SNAT地址轉換。
snat-mode tcp-option
¡ 配置SNAT地址池方式的SNAT地址轉換。
snat-pool pool-name
缺省情況下,未配置SNAT地址轉換方式。
(7) (可選)指定發送免費ARP報文或者ND報文的接口。
arp-nd interface interface-type interface-number
缺省情況下,未指定發送免費ARP報文或者ND報文的接口。
通過配置實服務組的可用條件,可將流量在主用實服務組和備用實服務組之間進行切換:當主用實服務組中的實服務器可用率低於下限時,將流量切換到備用實服務組上,以防止服務器受到大流量的衝擊;待主用實服務組中的實服務器可用率恢複到上限時,再將流量切換回來。
(1) 進入係統視圖。
system-view
(2) 進入實服務組視圖。
server-farm server-farm-name
(3) 配置實服務組的可用條件。
activate lower lower-percentage upper upper-percentage
缺省情況下,實服務組中隻要有一個實服務器可用,該實服務組就被認為可用。
當向實服務組中添加實服務器時,某些新增的實服務器無法立即承擔大量業務,此時可以開啟溫暖上線功能。這樣,當實服務器上線後,在準備時間內,負載均衡設備不會向其分配任何業務;準備時間超時後,負載均衡設備在爬升時間內會逐步增加向其分配的業務量;爬升時間超時後,負載均衡設備開始向其正常分配業務。
(1) 進入係統視圖。
system-view
(2) 進入實服務組視圖。
server-farm server-farm-name
(3) 在實服務組中開啟實服務器的溫暖上線功能。
slow-online [ standby-time standby-time ramp-up-time ramp-up-time ]
缺省情況下,實服務組中實服務器的溫暖上線功能處於關閉狀態。
通過健康檢測可以對實服務器進行檢測,保證其能夠提供有效的服務。
用戶可在實服務組視圖下對組內的所有實服務組成員進行配置,也可在實服務組成員視圖下隻對當前實服務組成員進行配置,或者在實服務器視圖下隻對當前實服務器進行配置,後兩者的配置優先級相同且高於實服務組視圖下的健康檢測配置。建議優先在實服務組視圖下配置健康檢測。
設備支持通過引用NQA模板進行健康探測。有關NQA模板的詳細介紹,請參見“網絡管理和監控配置指導”中的“NQA”。
NQA模板中配置的探測報文的源IP地址不能與SNAT地址成員相同。
(1) 進入係統視圖。
system-view
(2) 進入實服務組視圖。
server-farm server-farm-name
(3) 指定實服務組的健康檢測方法。
probe template-name [ nqa-template-port ]
缺省情況下,未指定實服務組的健康檢測方法。
(4) 配置實服務組健康檢測的成功條件。
success-criteria { all | at-least min-number }
缺省情況下,隻有全部方法都通過檢測才認為健康檢測成功。
智能監控功能通過統計實服務器發出的RST報文的數量、零窗口報文的數量與HTTP響應報文中的異常URL次數來判斷實服務組成員的健康狀態,並執行相應的保護動作。通過在實服務組視圖下引用TCP RST、TCP zero-window或HTTP passive類型的負載均衡探測模板,可以開啟實服務組的智能監控功能。
如果智能監控功能將實服務器的狀態置為Auto shutdown,則可以通過配置實服務器的智能監控自動恢複時間使得實服務器自動恢複為正常狀態,也可以通過配置手動將實服務器或實服務組成員的狀態恢複為正常狀態。
因為RST報文或零窗口報文達到閾值導致實服務器關閉或導致實服務器處於繁忙狀態時,若刪除實服務組引用的負載均衡探測模板,則實服務器的狀態會立即恢複為正常。
異常URL次數達到閾值時,HTTP passive類型的負載均衡探測模板會將實服務器的狀態置為Auto shutdown,若刪除實服務組引用的負載均衡探測模板,則實服務器的狀態會立即恢複為正常。
在配置智能監控功能前,請先完成負載均衡探測模板的相關配置,具體配置請參見“2.17 配置負載均衡探測模板”。
(1) 進入係統視圖。
system-view
(2) 進入實服務組視圖。
server-farm server-farm-name
(3) 指定實服務組引用的負載均衡探測模板。
probe-template { http-passive | tcp-rst | tcp-zero-window } template-name
缺省情況下,未指定實服務組引用的負載均衡探測模板。
(4) (可選)配置實服務器的智能監控自動恢複時間。
auto-shutdown recovery-time recovery-time
缺省情況下,實服務組的智能監控自動恢複時間為0。0表示不自動恢複。
(1) 進入係統視圖。
system-view
(2) 進入實服務器視圖。
real-server real-server-name
(3) 手動恢複處於Auto shutdown狀態的實服務器。
recover-from-auto-shutdown
(1) 進入係統視圖。
system-view
(2) 進入實服務組視圖。
server-farm server-farm-name
(3) 進入實服務組成員視圖。
real-server real-server-name port port-number
(4) 手動恢複處於Auto shutdown狀態的實服務器。
recover-from-auto-shutdown
自定義監控功能是指,通過執行用戶自定義的監控腳本對實服務組成員的運行狀態進行監控。
既可在實服務組視圖下對組內的所有實服務組成員進行配置,也可在實服務組成員視圖下隻對當前實服務組成員進行配置,後者的配置優先級高。
在配置自定義監控功能前,請先完成負載均衡探測模板的相關配置,具體配置請參見“2.17 配置負載均衡探測模板”。
(1) 進入係統視圖。
system-view
(2) 進入實服務組視圖。
server-farm server-farm-name
(3) 指定實服務組引用的自定義監控類型的負載均衡探測模板。
probe-template external-monitor template-name
缺省情況下,未指定實服務組引用的自定義監控類型的負載均衡探測模板。
隻有當組內所有實服務器均處於繁忙狀態時,實服務組才處於繁忙狀態。通過本配置可以指定實服務組處於繁忙狀態的處理方式。設備支持以下三種繁忙處理方式:
· 調度失敗:設備停止向處於繁忙狀態實服務組分發流量,若配置負載均衡策略允許繼續匹配下一條規則,則繼續匹配下一條匹配規則,否則直接丟棄請求報文。
· 排隊等待:設備停止向處於繁忙狀態實服務組分發流量,並且將新的請求報文加入等待隊列。若等待隊列的長度超過配置的隊列長度,後續的請求報文將會被丟棄;若請求報文加入隊列後的等待時間超過配置的老化時間,請求報文將會被丟棄。
· 強製調度:實服務組內的所有實服務器均參與調度。
係統判斷實服務器是否處於繁忙狀態的依據包括:實服務器所允許的最大連接數、實服務器所允許的最大連接速率、實服務器所允許的最大HTTP請求速率、實服務器所允許的最大帶寬(總帶寬、入帶寬和出帶寬)和SNMP-DCA探測模板返回的探測狀態。
(1) 進入係統視圖。
system-view
(2) 進入實服務組視圖。
server-farm server-farm-name
(3) 配置實服務組的繁忙處理方式。
busy-action { drop | enqueue length length timeout timeout-value | force }
缺省情況下,實服務組的繁忙處理方式為調度失敗。
通過本配置可以選擇實服務組的故障處理方式:
· 保持已有連接:不主動斷開與故障實服務器的連接,連接繼續保持還是斷開將由協議自身的超時機製決定。
· 重定向連接:把連接重定向到實服務組中其它可用的實服務器上。
· 斷開已有連接:主動斷開與故障實服務器的連接。對於TCP報文,將發送RST報文;對於其它類型的報文,將發送ICMP不可達報文。
(1) 進入係統視圖。
system-view
(2) 進入實服務組視圖。
server-farm server-farm-name
(3) 配置實服務組的故障處理方式。
fail-action { keep | reschedule | reset }
缺省情況下,實服務組的故障處理方式為保持已有連接。
重定向連接和斷開已有連接這兩種故障處理方式對於硬件快速轉發流量不生效。
實服務器是負載均衡設備上處理用戶業務的實體。一個實服務器可以屬於多個實服務組,一個實服務組也可以包含多個實服務器。
四層和七層服務器負載均衡的實服務器配置完全相同。
實服務器配置任務如下:
(1) 創建實服務器並指定其所屬實服務組
(2) 配置IP地址和端口號
(3) 配置權值和調用優先級
(4) (可選)配置帶寬和連接參數
(5) (可選)配置健康檢測功能
(6) (可選)配置自定義監控功能
(7) (可選)慢宕實服務器
(8) (可選)配置實服務器所屬VPN實例
¡ (可選)指定實服務器所屬的VPN實例
¡ (可選)關閉實服務器所屬VPN實例的繼承功能
(1) 進入係統視圖。
system-view
(2) 創建實服務器,並進入實服務器視圖。
real-server real-server-name
(3) (可選)配置實服務器的描述信息。
description text
缺省情況下,未配置實服務器的描述信息。
(4) 指定實服務器所屬的實服務組。
server-farm server-farm-name
缺省情況下,實服務器不屬於任何實服務組。
(1) 進入係統視圖。
system-view
(2) 進入實服務器視圖。
real-server real-server-name
(3) 配置實服務器的IP地址。
(IPv4網絡)
ip address ipv4-address
(IPv6網絡)
ipv6 address ipv6-address
缺省情況下,未配置實服務器的IP地址。
(4) 配置實服務器的端口號。
port port-number
缺省情況下,實服務器的端口號為0(表示繼續使用原報文攜帶的端口號)。
通過本配置可以調整實服務器的加權輪轉和加權最小連接這兩種調度算法所使用的權值,以及實服務器在實服務組中的調用優先級。
(1) 進入係統視圖。
system-view
(2) 進入實服務器視圖。
real-server real-server-name
(3) 配置實服務器的權值。
weight weight-value
缺省情況下,實服務器的權值為100。
(4) 配置實服務器的調用優先級。
priority priority
缺省情況下,實服務器的調用優先級為4。
通過本配置可以調整實服務器所允許的最大帶寬、最大連接數、最大連接速率和最大HTTP請求速率。這四個參數值都是判斷實服務器是否繁忙的依據。若訪問實服務器的帶寬、連接數、每秒連接數或每秒HTTP請求數超過配置的數值,則實服務器進入繁忙狀態。
(1) 進入係統視圖。
system-view
(2) 進入實服務器視圖。
real-server real-server-name
(3) 配置實服務器所允許的最大帶寬。
rate-limit bandwidth [ inbound | outbound ] bandwidth-value kbps
缺省情況下,實服務器所允許的最大總帶寬、最大入帶寬和最大出帶寬均為0,即不受限製。
(4) 配置實服務器所允許的最大連接數。
connection-limit max max-number
缺省情況下,實服務器所允許的最大連接數為0,即不受限製。
(5) 配置實服務器所允許的最大連接速率。
rate-limit connection connection-number
缺省情況下,實服務器所允許的最大連接速率為0,即不受限製。
(6) 實服務器所允許的最大HTTP請求速率。
rate-limit http-request request-number
缺省情況下,實服務器所允許的最大HTTP請求速率為0,即不受限製。
通過健康檢測可以對實服務器進行檢測,保證其能夠提供有效的服務。
用戶可在實服務組視圖下對組內的所有實服務組成員進行配置,也可在實服務組成員視圖下隻對當前實服務組成員進行配置,或者在實服務器視圖下隻對當前實服務器進行配置,後兩者的配置優先級相同且高於實服務組視圖下的健康檢測配置。建議優先在實服務組視圖下配置健康檢測。
實服務器的健康檢測結果影響實服務器組成員的使用,實服務器組成員的健康檢測結果不影響實服務器的使用。
(1) 進入係統視圖。
system-view
(2) 進入實服務器視圖。
real-server real-server-name
(3) 指定實服務器的健康檢測方法。
probe template-name [ nqa-template-port ]
缺省情況下,未指定實服務器的健康檢測方法。
(4) 配置實服務器健康檢測的成功條件。
success-criteria { all | at-least min-number }
缺省情況下,隻有全部方法都通過檢測才認為健康檢測成功。
(5) 退回係統視圖。
quit
(6) (可選)開啟實服務器的健康檢測日誌功能。
probe log enable
缺省情況下,實服務器的健康檢測日誌功能處於開啟狀態。
自定義監控功能是指,通過執行用戶自定義的監控腳本對實服務組成員的運行狀態進行監控。
在配置自定義監控功能前,請先完成負載均衡探測模板的相關配置,具體配置請參見“2.17 配置負載均衡探測模板”。
(1) 進入係統視圖。
system-view
(2) 進入實服務器視圖。
real-server real-server-name
(3) 指定實服務器引用的自定義監控類型的負載均衡探測模板。
probe-template external-monitor template-name
缺省情況下,未指定實服務器引用的自定義監控類型的負載均衡探測模板。
通過shutdown命令可以立即中斷實服務器的已有連接,而慢宕則不會立即中斷實服務器的已有連接,而是讓其自然老化,並且不再建立新的連接。
慢宕功能需要與shutdown命令配合使用,即在開啟了慢宕功能之後再關閉實服務器,該實服務器才會開始慢宕。
(1) 進入係統視圖。
system-view
(2) 進入實服務器視圖。
real-server real-server-name
(3) 開啟實服務器的慢宕功能。
slow-shutdown enable
缺省情況下,實服務器的慢宕功能處於關閉狀態。
(4) 關閉實服務器。
shutdown
缺省情況下,實服務器處於開啟狀態。
(1) 進入係統視圖。
system-view
(2) 進入實服務器視圖。
real-server real-server-name
(3) 指定實服務器所屬的VPN實例。
vpn-instance vpn-instance-name
缺省情況下,當實服務器所屬VPN實例的繼承功能處於開啟狀態時,實服務器所屬的VPN實例與虛服務器所屬的VPN實例一致;當實服務器所屬VPN實例的繼承功能處於關閉狀態時,實服務器服務於公網。
實服務器所屬VPN實例的繼承功能是指實服務器所屬的VPN實例繼承對應虛服務器所屬的VPN實例。若在實服務器視圖下執行vpn-instance命令指定了實服務器所屬的VPN實例,則實服務器屬於該VPN實例。若未指定實服務器所屬的VPN實例,當實服務器所屬VPN實例的繼承功能處於開啟狀態時,實服務器所屬的VPN實例與虛服務器所屬的VPN實例一致;當該功能處於關閉狀態時,實服務器服務於公網。
(1) 進入係統視圖。
system-view
(2) 進入實服務器視圖。
real-server real-server-name
(3) 關閉實服務器所屬VPN實例的繼承功能。
inherit vpn-instance disable
缺省情況下,實服務器所屬VPN實例的繼承功能處於開啟狀態。
虛服務器是負載均衡設備上麵向用戶業務的虛擬載體,是為了判斷是否需要對進入負載均衡設備的報文進行負載均衡而引入的概念。隻有匹配上虛服務器的報文才會被進行負載均衡處理。
服務器負載均衡支持的虛服務器類型為快速HTTP、HTTP、IP、MySQL、RADIUS、SIP、TCP和UDP。快速HTTP、HTTP、MySQL、RADIUS、SIP、TCP和UDP類型的虛服務器需要安裝License才能使用,有關License的詳細介紹,請參見“基礎配置指導”中的“License管理”。
如果同時指定實服務組和引用負載均衡策略,報文會被優先交給負載均衡策略處理,當負載均衡策略無法處理時才交給實服務組處理。
虛服務器(四層)配置任務如下:
(1) 配置虛服務器基本功能
a. 創建虛服務器
b. 配置VSIP和端口號
c. 指定虛服務器所屬的VPN
(2) 配置報文處理策略
請至少選擇其中一項進行配置:
¡ 指定實服務組
¡ 引用負載均衡策略
(3) (可選)配置帶寬和連接參數
(4) (可選)配置UDP強製負載均衡功能
(5) (可選)引用參數模板和策略
¡ (可選)引用參數模板
¡ (可選)引用防護策略
¡ (可選)引用負載均衡連接數限製策略
¡ (可選)引用DPI應用profile
(6) (可選)提高網絡可靠性
¡ (可選)配置虛服務器綁定的VRRP備份組
¡ (可選)配置熱備份功能
¡ (可選)開啟虛服務器IP地址發布功能
(7) (可選)指定發送免費ARP報文或ND報文的接口
(8) 開啟虛服務器
虛服務器(七層)配置任務如下:
(1) 配置虛服務器基本功能
a. 創建虛服務器
c. 配置VSIP和端口號
d. 指定虛服務器所屬的VPN
(2) 配置報文處理策略
請至少選擇其中一項進行配置:
¡ 指定實服務組
¡ 引用負載均衡策略
(3) (可選)配置帶寬和連接參數
(4) (可選)配置HTTP重定向功能
(5) (可選)配置MySQL數據庫信息
¡ (可選)配置MySQL數據庫的版本
¡ (可選)配置登錄MySQL數據庫的用戶名和密碼
¡ (可選)開啟MySQL數據庫讀寫分離功能
(6) (可選)引用參數模板和策略
¡ (可選)引用持續性組
¡ (可選)引用參數模板
¡ (可選)引用防護策略
¡ (可選)引用負載均衡連接數限製策略
¡ (可選)引用SSL策略
¡ (可選)引用DPI應用profile
(7) (可選)配置外鏈代理功能
(8) (可選)提高網絡可靠性
¡ (可選)配置虛服務器綁定的VRRP備份組
¡ (可選)配置熱備份功能
¡ (可選)開啟虛服務器IP地址發布功能
(9) (可選)指定發送免費ARP報文或ND報文的接口
(10) (可選)配置快速日誌輸出內容
(11) 開啟虛服務器
四層服務器負載均衡的虛服務器包括IP、TCP和UDP三種類型。
七層服務器負載均衡的虛服務器包括快速HTTP、HTTP、MySQL、RADIUS、基於TCP的SIP和基於UDP的SIP類型。
快速HTTP類型的虛服務器需避免與TCP客戶端驗證功能(該功能的介紹請參見“安全配置指導”中的“攻擊檢測與防範”)同時使用。
(1) 進入係統視圖。
system-view
(2) 創建IP、TCP或UDP類型的虛服務器,並進入虛服務器視圖。
virtual-server virtual-server-name type { ip | tcp | udp }
創建虛服務器時必須為其指定類型;而在進入已創建的虛服務器視圖時可以不指定類型,但若要指定類型,則必須與創建時的類型一致。
(3) (可選)配置虛服務器的描述信息。
description text
缺省情況下,未配置虛服務器的描述信息。
(1) 進入係統視圖。
system-view
(2) 創建快速HTTP、HTTP、MySQL、RADIUS、基於TCP的SIP或基於UDP的SIP類型的虛服務器,並進入虛服務器視圖。
virtual-server virtual-server-name type { fast-http | http | mysql | radius | sip-tcp | sip-udp }
創建虛服務器時必須為其指定類型;而在進入已創建的虛服務器視圖時可以不指定類型,但若要指定類型,則必須與創建時的類型一致。
(3) (可選)配置虛服務器的描述信息。
description text
缺省情況下,未配置虛服務器的描述信息。
如果TCP類型的虛服務器配置了工作在七層模式,則必須為虛服務器配置非0端口號,否則該模式不生效。虛服務器端口號的配置請參見2.10.7 配置VSIP和端口號。
(1) 進入係統視圖。
system-view
(2) 進入TCP類型的虛服務器視圖。
virtual-server virtual-server-name
(3) 配置TCP類型的虛服務器工作在七層。
application-mode enable
缺省情況下,TCP類型的虛服務器工作在四層。
快速HTTP、HTTP、MySQL、RADIUS、基於TCP的SIP和TCP類型虛服務器的VSIP和端口號不能都相同。
UDP類型和基於UDP的SIP類型虛服務器的VSIP和端口號不能都相同。
(1) 進入係統視圖。
system-view
(2) 進入IP、TCP或UDP類型的虛服務器視圖。
virtual-server virtual-server-name
(3) 配置虛服務器的IP地址。
(IPv4網絡)
virtual ip address ipv4-address [ mask-length | mask ]
(IPv6網絡)
virtual ipv6 address ipv6-address [ prefix-length ]
缺省情況下,未配置虛服務器的IP地址。
若虛服務器的IP地址與設備連接客戶端的接口IP地址在同一網段,則必須配置虛服務器IP地址的IPv4掩碼長度為32或IPv6前綴長度為128,且必須指定發送免費ARP報文或ND報文的接口。否則,無需指定發送免費ARP報文或ND報文的接口。
在AFT與四層服務器負載均衡配合使用的場景下,虛服務器的IP地址不能配置為網段形式,即IPv4地址的掩碼長度必須為32位,IPv6地址的前綴長度必須為128位。
(4) 配置虛服務器的端口號。
port { port-number [ to port-number ] } &<1-n>
缺省情況下,IP、TCP和UDP類型虛服務器的端口號為0(表示任意端口號)。
(1) 進入係統視圖。
system-view
(2) 進入快速HTTP、HTTP、MySQL、RADIUS、基於TCP的SIP或基於UDP的SIP類型的虛服務器視圖。
virtual-server virtual-server-name
(3) 配置虛服務器的IP地址。
(IPv4網絡)
virtual ip address ipv4-address [ mask-length | mask ]
(IPv6網絡)
virtual ipv6 address ipv6-address [ prefix-length ]
缺省情況下,未配置虛服務器的IP地址。
(4) 配置虛服務器的端口號。
port { port-number [ to port-number ] } &<1-n>
缺省情況下,快速HTTP和HTTP類型虛服務器的端口號為80;MySQL類型虛服務器的端口號為3306;RADIUS類型虛服務器的端口號為0(表示任意端口號);SIP類型虛服務器的端口號為5060。
如果虛服務器引用了SSL策略,則必須為其配置一個非缺省端口號(通常用443)。
(1) 進入係統視圖。
system-view
(2) 進入虛服務器視圖。
virtual-server virtual-server-name
(3) 指定虛服務器所屬的VPN。
vpn-instance vpn-instance-name
缺省情況下,虛服務器屬於公網。
當主用實服務組可用(該實服務組存在且有可用的實服務器)時,虛服務器通過主用實服務組進行轉發;當主用實服務組不可用而備用實服務組可用時,虛服務器通過備用實服務組進行轉發。
如果用戶既配置了主用持續性組,也配置了備用持續性組,則會根據兩個持續性組同時生成主用持續性表項和備用持續性表項。當有新的流量匹配已生成的持續性表項時,如果未能匹配到主用持續性表項,則進行備用持續性表項匹配。
若配置了備用持續性組,隻有如下三種組合才會生成備用持續性表項,否則配置不生效:
· 主用持續性組為RADIUS類型,備用持續性組為地址端口類型;
· 主用持續性組為HTTP Cookie類型,備用持續性組為地址端口類型;
· 主用持續性組為HTTP Cookie類型,備用持續性組為HTTP passive類型。
(1) 進入係統視圖。
system-view
(2) 進入虛服務器視圖。
virtual-server virtual-server-name
(3) 指定實服務組。
default server-farm server-farm-name [ backup backup-server-farm-name ] [ sticky sticky-name [ backup backup-sticky-name ] ]
缺省情況下,未指定實服務組。
虛服務器引用負載均衡策略,能夠細化虛服務器負載均衡的粒度。根據策略中的匹配規則,使命中虛服務器的報文根據不同的報文內容進行不同的負載均衡處理,從而有效地豐富了負載均衡的負載功能。
(1) 進入係統視圖。
system-view
(2) 進入虛服務器視圖。
virtual-server virtual-server-name
(3) 指定虛服務器引用的負載均衡策略。
lb-policy policy-name
缺省情況下,虛服務器未引用任何負載均衡策略。
虛服務器隻能引用與自身類型相關的負載均衡策略,如:快速HTTP和HTTP類型的虛服務器,可以引用通用或HTTP類型的策略;IP、SIP、TCP和UDP類型的虛服務器,隻能引用通用類型的策略;MySQL類型的虛服務可以引用通用或MySQL類型的策略;RADIUS類型的虛服務器,可以引用通用或RADIUS類型的策略。
(1) 進入係統視圖。
system-view
(2) 進入虛服務器視圖。
virtual-server virtual-server-name
(3) 配置虛服務器所允許的最大帶寬。
rate-limit bandwidth [ inbound | outbound ] bandwidth-value kbps
缺省情況下,虛服務器所允許的最大總帶寬、最大入帶寬和最大出帶寬均為0,即不受限製。
(4) 配置虛服務器所允許的最大連接數。
connection-limit max max-number
缺省情況下,虛服務器所允許的最大連接數為0,即不受限製。
(5) 配置虛服務器所允許的最大連接速率。
rate-limit connection connection-number
缺省情況下,虛服務器所允許的最大連接速率為0,即不受限製。
當UDP強製負載均衡功能關閉時,匹配虛服務器的流量按照數據流來進行負載均衡,即一個應用的流量會被負載均衡到同一個實服務器上;而當UDP強製負載均衡功能開啟後,匹配虛服務器的流量不再按照流來進行負載均衡,而是按照每報文來進行負載均衡。
(1) 進入係統視圖。
system-view
(2) 進入基於UDP的SIP或UDP類型的虛服務器視圖。
virtual-server virtual-server-name
(3) 開啟虛服務器的UDP強製負載均衡功能。
udp per-packet
缺省情況下,虛服務器的UDP強製負載均衡功能處於關閉狀態。
在HTTP類型的虛服務器視圖下開啟了重定向功能後,所有匹配該虛服務器的HTTP請求報文都將被重定向到指定URL。
(1) 進入係統視圖。
system-view
(2) 進入HTTP類型的虛服務器視圖。
virtual-server virtual-server-name
(3) 開啟虛服務器的重定向功能並指定重定向URL。
redirect relocation relocation
缺省情況下,虛服務器的重定向功能處於關閉狀態。
(4) 配置負載均衡設備返回給客戶端的重定向報文中的狀態碼。
redirect return-code { 301 | 302 | 307 }
缺省情況下,負載均衡設備返回給客戶端的重定向報文中的狀態碼為302。
本命令隻有在開啟了虛服務器的重定向功能後才會生效。
(1) 進入係統視圖。
system-view
(2) 進入MySQL類型的虛服務器視圖。
virtual-server virtual-server-name
(3) 配置MySQL數據庫的版本。
version { 5.0 | 5.1 | 5.5 | 5.6 | 5.7 }
缺省情況下,MySQL數據庫的版本為5.6。
通過本配置可以指定設備代替MySQL服務器對客戶端進行認證的用戶名和密碼。此用戶名和密碼必須與MySQL服務器實際的登錄用戶名和密碼相同。
(1) 進入係統視圖。
system-view
(2) 進入MySQL類型的虛服務器視圖。
virtual-server virtual-server-name
(3) 配置登錄MySQL數據庫時使用的用戶名和密碼。
username username [ password { cipher | simple } string ]
缺省情況下,未配置登錄MySQL數據庫時使用的用戶名和密碼。
開啟MySQL虛服務器的讀寫分離功能後,讀SQL命令和寫SQL命令將分別由讀實服務組和寫實服務組執行,一定程度上緩解讀寫並發數量較大時對數據庫性能的影響。
(1) 進入係統視圖。
system-view
(2) 進入MySQL類型的虛服務器視圖。
virtual-server virtual-server-name
(3) 開啟MySQL數據庫讀寫分離功能。
readwirte-separation read-server-farm read-server-farm-name [ read-sticky-group read-sticky-group-name ] write-server-farm write-sever-farm-name [ write-sticky-group write-sticky-group-name ]
缺省情況下,MySQL數據庫讀寫分離功能處於關閉狀態。
設備支持通過以下三種方式引用持續性組:
· 在虛服務器視圖下,指定缺省實服務組引用的持續性組;
· 在負載均衡動作視圖下,指定實服務組引用的持續性組;
· 在虛服務器視圖下,指定虛服務器引用的持續性組。
其中,通過本配置指定的虛服務器引用的持續性組優先級最高。即在進行流量分配時,優先根據虛服務器引用的持續性組生成持續性表項。
(1) 進入係統視圖。
system-view
(2) 進入HTTP類型的虛服務器視圖。
virtual-server virtual-server-name
(3) 指定虛服務器引用的持續性組。
sticky sticky-name
缺省情況下,未指定虛服務器引用的持續性組。
參數模板用來對虛服務器上的流量進行比較深入的解析、處理和優化。虛服務器引用了參數模板後,就要根據該參數模板的配置對匹配流量進行相應的處理。
(1) 進入係統視圖。
system-view
(2) 進入IP、TCP或UDP類型的虛服務器視圖。
virtual-server virtual-server-name
(3) 指定虛服務器引用的參數模板。
parameter { ip | tcp } profile-name [ client-side | server-side ]
缺省情況下,虛服務器未引用任何參數模板。
隻有TCP類型的虛服務器可以引用TCP類型的參數模板,其他類型的虛服務器隻能引用IP類型的參數模板。僅TCP類型參數模板支持客戶端側與服務器側分別配置。
(1) 進入係統視圖。
system-view
(2) 進入快速HTTP、HTTP類型、MySQL、RADIUS、基於TCP的SIP或基於UDP的SIP的虛服務器視圖。
virtual-server virtual-server-name
(3) 指定虛服務器引用的參數模板。
parameter { http | http-compression | http-statistics | ip | mysql | oneconnect | tcp-application } profile-name
parameter tcp profile-name [ client-side | server-side ]
缺省情況下,虛服務器未引用任何參數模板。
http參數僅在快速HTTP和HTTP類型的虛服務器視圖下支持,http-compression、http-statistics和oneconnect參數僅在HTTP類型的虛服務器視圖下支持,mysql參數僅在MySQL類型的虛服務視圖下支持,tcp參數僅在快速HTTP、HTTP和MySQL類型的虛服務視圖下支持,tcp-application隻在工作在七層的TCP類型的虛服務器視圖下支持。
通過在HTTP類型的虛服務器視圖下引用HTTP防護策略,可以對防護策略中指定的URL進行防護,從而保護負載均衡設備和內網服務器的安全。
(1) 進入係統視圖。
system-view
(2) 進入HTTP類型的虛服務器視圖。
virtual-server virtual-server-name
(3) 指定虛服務器引用的防護策略。
protection-policy http policy-name
缺省情況下,虛服務器未引用任何防護策略。
引用負載均衡連接數限製策略後,訪問虛服務器的連接數將會受到連接數限製策略的限製。
(1) 進入係統視圖。
system-view
(2) 進入虛服務器視圖。
virtual-server virtual-server-name
(3) 引用負載均衡連接數限製策略。
lb-limit-policy policy-name
缺省情況下,虛服服器中未引用任何負載均衡連接數限製策略。
通過指定虛服務器引用的SSL客戶端策略,可以對負載均衡設備(作為SSL客戶端)與SSL服務器之間傳輸的流量進行加密傳輸。
通過指定虛服務器引用的SSL服務器端策略,可以對負載均衡設備(作為SSL服務器)與SSL客戶端之間傳輸的流量進行加密傳輸。
如需修改已被虛服務器引用的SSL客戶端/服務器端策略,在策略修改完成後,需在虛服務器視圖下,先通過配置undo service enable命令關閉虛服務器,再通過配置service enable命令開啟虛服務器,新的策略才能生效。
(1) 進入係統視圖。
system-view
(2) 進入TCP或HTTP類型的虛服務器視圖。
virtual-server virtual-server-name
(3) 指定虛服務器引用的SSL客戶端策略。
ssl-client-policy policy-name
缺省情況下,虛服務器未引用任何SSL客戶端策略。
TCP和快速HTTP類型的虛服務器不支持本功能。
(4) 指定虛服務器引用的SSL服務器端策略。
ssl-server-policy policy-name [ sni server-name ]
缺省情況下,虛服務器未引用任何SSL服務器端策略。
快速HTTP類型的虛服務器不支持本功能。
通過指定虛服務器引用的DPI應用profile,可以對匹配虛服務的流量進行深度報文檢測(包括IPS、防病毒和WAF),識別出網絡攻擊和安全隱患,從而保護負載均衡設備和內網服務器的安全。有關DPI應用profile的詳細介紹,請參見“DPI深度安全配置指導”中的“應用層檢測引擎”。
(1) 進入係統視圖。
system-view
(2) 進入IP、TCP、UDP或HTTP類型的虛服務器視圖。
virtual-server virtual-server-name
(3) 指定虛服務器引用的DPI應用profile。
dpi-app-profile dpi-app-profile-name
缺省情況下,虛服務器未引用任何DPI應用profile。
網站頁麵(以下簡稱主站)中通常會包含其他網站的外部鏈接(以下簡稱外鏈),比如門戶網站等。如果主站已經支持IPv6,但外鏈資源不支持IPv6,那麼當IPv6單棧客戶端訪問主站頁麵時,就會出現頁麵加載緩慢、顯示不全或外鏈無法訪問的現象。這就是IPv6升級改造過程中常見的“天窗”問題。
為了解決“天窗”問題,外鏈代理功能應運而生。外鏈代理功能通過代理IPv6客戶端的IPv4外鏈訪問請求,使IPv6單棧用戶可以正常訪問IPv4外鏈,幫助用戶實現從IPv4網絡到IPv6網絡的平滑過渡。此外,代理過程具有透明性,客戶端不感知,有效保障了用戶體驗。
若未配置外鏈代理功能,當IPv6客戶端訪問包含IPv4外鏈的網站時,客戶端瀏覽器會向本地DNS服務器發送請求外鏈域名的DNS請求報文。由於客戶端是IPv6單棧客戶端,DNS服務器無法解析出IPv4地址,外鏈資源訪問失敗。
配置了外鏈代理功能後,設備在響應IPv6客戶端訪問主站頁麵的請求時,會同時向客戶端返回外鏈改寫的腳本文件。客戶端瀏覽器執行該腳本文件,對IPv4外鏈域名進行改寫。然後,客戶端向本地DNS服務器查詢改寫後的外鏈域名。本地DNS服務器根據查詢的域名將DNS請求重定向至設備,由設備代替IPv6客戶端請求外鏈資源,並將外鏈資源返回給客戶端。詳細處理流程如圖2-9所示。
表2-1 外鏈代理流程簡述
① |
IPv6 Host瀏覽器執行腳本文件,將外鏈域名改寫為http://www.extlink.example.com.proxy.suffix.example.com |
② |
IPv6 Host向Local DNS server發送查詢域名http://www.extlink.example.com.proxy.suffix.example.com的DNS請求報文。Local DNS server根據查詢結果通知IPv6 Host解析該域名的權威DNS服務器為LB device |
③ |
IPv6 Host向LB device發送查詢域名http://www.extlink.example.com.proxy.suffix.example.com的DNS請求報文 |
④ |
LB device收到包含改寫後域名的DNS請求報文後,代替IPv6 Host向DNS sever發送查詢原始外鏈域名http://www.extlink.example.com的DNS請求報文,獲取外鏈資源的IPv4地址 |
⑤ |
LB device根據外鏈資源的IPv4地址獲取外鏈資源 |
⑥ |
LB device將收到的外鏈資源發送給IPv6 Host |
當設備檢測到服務器返回的HTTP應答報文中包含外鏈時,會向客戶端返回外鏈改寫的腳本文件,由客戶端瀏覽器執行該腳本文件,對外鏈域名進行改寫。在原始的外鏈域名後添加URI標識、域名後綴和虛服務器端口號。以便IPv6客戶端以改寫後的域名發送DNS請求報文,設備在收到包含指定URI標識的請求報文時,會代理IPv6客戶端請求IPv4外鏈資源。
改寫後的域名為:協議類型://原始外鏈域名+URI標識+域名後綴+:虛服務器端口號。協議類型包括HTTP和HTTPS。
例如,協議類型為HTTP,原始的IPv4外鏈域名為www.example1.com,若配置URI標識為proxy,域名後綴為example2.com,虛服務器端口號為8080,則改寫後的外鏈域名為http://www.example1.com.proxy.example2.com:8080。
設備支持加載自定義外鏈改寫文件,若未加載自定義外鏈改寫文件,則使用缺省外鏈改寫文件對外鏈域名進行改寫。
在配置外鏈代理功能時,管理員需要聯係運營商在Local DNS上進行配置,將負載均衡設備配置為解析改寫後域名的權威DNS服務器。
管理員需要配置loadbalance dns-server命令在設備上指定解析原始外鏈域名的DNS服務器。若管理員配置的DNS服務器綁定VPN實例,需與客戶端所屬VPN實例相同。有關DNS服務器的詳細配置,請參見4.6 配置DNS服務器。
若DNS選路由入方向鏈路負載均衡完成,則外鏈代理的域名後綴應與DNS映射的域名後綴相同。
外鏈改寫文件需要配置為客戶端瀏覽器能夠識別的格式,推薦配置為JS腳本文件。
不允許配置文件名稱相同的外鏈改寫文件和代答文件。
(1) 進入係統視圖。
system-view
(2) 進入HTTP類型的虛服務器視圖。
virtual-server virtual-server-name
(3) 配置外鏈代理的URI標識。
external-link inject-uri string
缺省情況下,未配置外鏈代理的URI標識。
URI標識用來識別請求報文中是否為改寫後的域名。
(4) 配置外鏈代理的域名後綴。
external-link inject-domain-suffix domain-suffix
缺省情況下,未配置外鏈代理的域名後綴。
(5) (可選)指定外鏈代理的SNAT地址池。
external-link snat-pool pool-name
缺省情況下,未指定外鏈代理的SNAT地址池,使用設備通往服務器的出接口IP地址作為客戶端IP地址。
當設備收到包含改寫後外鏈域名的DNS請求報文後,設備會提取出原始的外鏈域名並使用外鏈代理SNAT地址池中的地址作為客戶端IP地址,代替客戶端請求IPv4外鏈資源。
(6) (可選)配置外鏈代理的白名單表項。
external-link whitelist domain domain-name
缺省情況下,未配置外鏈代理的白名單表項。
將指定域名添加到外鏈代理白名單中,設備不會對加入白名單中的外鏈進行代理。
(7) 開啟外鏈代理功能。
external-link proxy enable
缺省情況下,外鏈代理功能處於關閉。
(8) 退回係統視圖。
quit
(9) (可選)配置加載外鏈改寫文件。
loadbalance reload external-link file filename
缺省情況下,使用缺省外鏈改寫文件。
當外鏈改寫文件內容發生變化後,需要再次執行本命令重新加載。
在雙機熱備組網中,在遠端備份組的主管理設備上配置服務器負載均衡功能時,需要通過配置本功能,將虛服務器與VRRP備份組綁定,以保證正反向報文在同一台Master設備上處理。關於遠端備份組的詳細介紹,請參見“高可靠性配置指導”中的“雙機熱備(RBM)”。
對於綁定了不同VRRP備份組的多個虛服務器,不允許引用同一個SNAT地址池。
同一個虛服務器最多隻能綁定一個VRRP IPv4備份組和一個VRRP IPv6備份組。VRRP IPv4備份組僅對IPv4類型的虛服務器地址生效,VRRP IPv6備份組僅對IPv6類型的虛服務器地址生效。
(1) 進入係統視圖。
system-view
(2) 進入虛服務器視圖。
virtual-server virtual-server-name
(3) 配置虛服務器綁定的VRRP備份組。
vrrp [ ipv6 ] vrid virtual-router-id interface interface-type interface-number
缺省情況下,未綁定任何VRRP備份組。
配置熱備份功能時,為達到主備切換時業務不中斷的目的,需要在虛服務器下開啟會話擴展信息和持續性表項的備份功能。
在開啟虛服務器的持續性表項備份功能之前,請確保主用和備用設備上均不存在持續性表項。可以通過先開啟持續性表項備份功能,再引用持續性組,保證備份前設備上不存在持續性表項。
在高可靠性組網中,開啟虛服務器的持續性表項備份功能時必須指定global參數,否則配置不生效。
若設備的配置發生以下變化,則設備會刪除當前已有的持續性表項,後續流量將會重新觸發生成新的持續性表項。
· 關閉持續性表項備份功能
· 持續性表項備份由組間備份切換為全局備份
· 持續性表項備份由全局備份切換為組間備份
(1) 進入係統視圖。
system-view
(2) 進入虛服務器視圖。
virtual-server virtual-server-name
(3) 開啟虛服務器的會話擴展信息備份功能。
connection-sync enable
缺省情況下,虛服務器的會話擴展信息備份功能處於關閉狀態。
HTTP類型的虛服務器不支持本功能。
(4) 開啟虛服務器的持續性表項備份功能。
sticky-sync enable [ global ]
缺省情況下,虛服務器的持續性表項備份功能處於關閉狀態。
在多數據中心的容災備份組網中,通過在各數據中心的負載均衡設備上開啟虛服務器IP地址發布功能,可以實現多數據中心之間的全局負載均衡。
開啟虛服務器IP地址發布功能後,設備會將虛服務器的IP地址發布給OSPF模塊參與路由計算,當數據中心進行切換的時候,保證訪問虛服務器的流量也可以自動切換,從而提高負載均衡服務的可靠性。有關OSPF的配置請參見“三層技術-IP路由”中的“OSPF”。
若虛服務器的IP地址與綁定的VRRP備份組的虛擬IP地址相同,且與設備連接客戶端的接口IP地址在同一網段,請關閉虛服務器IP地址發布功能。
在AFT與四層服務器負載均衡配合使用的場景下,需要開啟此功能。
(1) 進入係統視圖。
system-view
(2) 進入虛服務器視圖。
virtual-server virtual-server-name
(3) 開啟虛服務器IP地址發布功能。
route-advertisement enable
缺省情況下,虛服務器IP地址發布功能處於關閉狀態。
通過本配置可從設備的指定接口發送免費ARP報文和ND報文。有關免費ARP的詳細介紹,請參見“三層技術-IP業務配置指導”中的“ARP”。有關ND報文的詳細介紹,請參見“三層技術-IP業務配置指導”中的“IPv6基礎”。
若虛服務器的IP地址與綁定的VRRP備份組的虛擬IP地址相同,且與設備連接客戶端的接口IP地址在同一網段,請不要指定發送免費ARP報文或ND報文的接口。
(1) 進入係統視圖。
system-view
(2) 進入虛服務器視圖。
virtual-server virtual-server-name
(3) 指定發送免費ARP報文或者ND報文的接口。
arp-nd interface interface-type interface-number
缺省情況下,未指定發送免費ARP報文或者ND報文的接口。
通過配置本功能,可以根據用戶需求指定負載均衡快速日誌的輸出內容。設備將把指定內容的日誌信息采用快速日誌方式發往日誌主機。有關快速日誌的詳細介紹,請參見“網絡管理和監控配置指導”中的“快速日誌輸出”。
配置本功能前,請確保負載均衡模塊的快速日誌輸出功能已開啟(custom format)且已配置了快速日誌輸出參數(custom host)。
(1) 進入係統視圖。
system-view
(2) 進入HTTP類型的虛服務器視圖。
virtual-server virtual-server-name
(3) 配置快速日誌輸出的內容。
customlog content content-value
缺省情況下,無快速日誌輸出。
配置完虛服務器後,需要將其開啟後才能進入工作狀態。
(1) 進入係統視圖。
system-view
(2) 進入虛服務器視圖。
virtual-server virtual-server-name
(3) 開啟虛服務器。
service enable
缺省情況下,虛服務器處於關閉狀態。
負載均衡類的作用是將報文分類,即通過匹配規則將報文按照一定條件進行匹配,以便將不同類型的報文在不同的負載均衡動作流程中處理。一個負載均衡類中最多允許創建65535條匹配規則。
負載均衡類配置任務如下:
(1) 配置通用類型負載均衡類
a. 創建負載均衡類
b. 創建匹配規則
請至少選擇其中一項進行配置:
(2) 配置HTTP類型負載均衡類
a. 創建負載均衡類
b. 創建匹配規則
請至少選擇其中一項進行配置:
(3) 配置MySQL類型負載均衡類
a. 創建負載均衡類
b. 創建匹配規則
請至少選擇其中一項進行配置:
(4) 配置RADIUS類型負載均衡類
a. 創建負載均衡類
b. 創建匹配規則
請至少選擇其中一項進行配置:
(1) 進入係統視圖。
system-view
(2) 創建通用類型的負載均衡類,並進入負載均衡類視圖。
loadbalance class class-name type generic [ match-all | match-any ]
創建負載均衡類時必須為其指定類型;而在進入已創建的負載均衡類視圖時可以不指定類型,但若要指定類型,則必須與創建時的類型一致。
(3) (可選)配置負載均衡類的描述信息。
description text
缺省情況下,未配置負載均衡類的描述信息。
(1) 進入係統視圖。
system-view
(2) 創建HTTP、MySQL或RADIUS類型的負載均衡類,並進入負載均衡類視圖。
loadbalance class class-name type { http | mysql | radius } [ match-all | match-any ]
創建負載均衡類時必須為其指定類型;而在進入已創建的負載均衡類視圖時可以不指定類型,但若要指定類型,則必須與創建時的類型一致。
(3) (可選)配置負載均衡類的描述信息。
description text
缺省情況下,未配置負載均衡類的描述信息。
(1) 進入係統視圖。
system-view
(2) 進入負載均衡類視圖。
loadbalance class class-name
(3) 創建嵌套類的匹配規則。
match [ match-id ] class class-name
(1) 進入係統視圖。
system-view
(2) 進入負載均衡類視圖。
loadbalance class class-name
(3) 創建源IP地址類型的匹配規則。
match [ match-id ] source { ip address ipv4-address [ mask-length | mask ] | ipv6 address ipv6-address [ prefix-length ] }
(1) 進入係統視圖。
system-view
(2) 進入負載均衡類視圖。
loadbalance class class-name
(3) 創建ACL類型的匹配規則。
match [ match-id ] acl [ ipv6 ] { acl-number | name acl-name }
(1) 進入係統視圖。
system-view
(2) 進入通用類型或HTTP類型的負載均衡類視圖。
loadbalance class class-name
(3) 創建基於入接口的匹配規則。
match [ match-id ] interface interface-type interface-number
(1) 進入係統視圖。
system-view
(2) 進入通用類型或HTTP類型的負載均衡類視圖。
loadbalance class class-name
(3) 創建基於用戶的匹配規則。
match [ match-id ] [ identity-domain domain-name ] user user-name
(1) 進入係統視圖。
system-view
(2) 進入通用類型或HTTP類型的負載均衡類視圖。
loadbalance class class-name
(3) 創建基於用戶組的匹配規則。
match [ match-id ] [ identity-domain domain-name ] user-group user-group-name
當在通用類型的負載均衡類中配置了TCP載荷類型的匹配規則,則TCP流量匹配上指定的正則表達式之後,執行相應的負載均衡動作。若在配置TCP載荷類型的匹配規則時,指定了not參數,則在TCP流量未匹配指定的正則表達式時,執行相應的負載均衡動作。
(1) 進入係統視圖。
system-view
(2) 進入通用類型的負載均衡類視圖。
loadbalance class class-name
(3) 創建TCP載荷類型的匹配規則。
match [ match-id ] payload payload [ case-insensitive ] [ not ]
(1) 進入係統視圖。
system-view
(2) 進入HTTP類型的負載均衡類視圖。
loadbalance class class-name
(3) 創建HTTP實體類型的匹配規則。
match [ match-id ] content content [ offset offset ]
快速HTTP類型虛服務器不支持本功能。
(1) 進入係統視圖。
system-view
(2) 進入HTTP類型的負載均衡類視圖。
loadbalance class class-name
(3) 創建HTTP Cookie類型的匹配規則。
match [ match-id ] cookie cookie-name value value
(1) 進入係統視圖。
system-view
(2) 進入HTTP類型的負載均衡類視圖。
loadbalance class class-name
(3) 創建HTTP首部類型的匹配規則。
match [ match-id ] header header-name value value
(1) 進入係統視圖。
system-view
(2) 進入HTTP類型的負載均衡類視圖。
loadbalance class class-name
(3) 創建HTTP URL類型的匹配規則。
match [ match-id ] url url
(1) 進入係統視圖。
system-view
(2) 進入HTTP類型的負載均衡類視圖。
loadbalance class class-name
(3) 創建HTTP方法類型的匹配規則。
match [ match-id ] method { ext ext-type | rfc rfc-type }
(1) 進入係統視圖。
system-view
(2) 進入HTTP類型的負載均衡類視圖。
loadbalance class class-name
(3) 創建HTTP版本類型的匹配規則。
match [ match-id ] version { 1.0 | 1.1 }
(1) 進入係統視圖。
system-view
(2) 進入MySQL類型的負載均衡類視圖。
loadbalance class class-name
(3) 創建MySQL語句類型的匹配規則。
match [ match-id ] sql sql [ case-insensitive ] [ not ]
(1) 進入係統視圖。
system-view
(2) 進入RADIUS類型的負載均衡類視圖。
loadbalance class class-name
(3) 創建RADIUS屬性的匹配規則。
match [ match-id ] radius-attribute { code attribute-code | user-name } value attribute-value
負載均衡動作可分為三大類:
· 轉發類動作:確定是否轉發以及如何轉發報文。如果沒有配置轉發類動作,報文將被丟棄處理。
· 修改類動作:對報文執行一些修改行為。修改類動作應配合轉發類動作使用,否則修改後的報文終將被丟棄。
· 代答類動作:用指定的文件對客戶端HTTP請求進行應答。
如果用戶想對報文進行丟棄處理,則可在創建負載均衡動作後,不為其指定任何上述動作。
· 對於四層服務器負載均衡,在配置轉發類動作時,配置報文的轉發模式為轉發和配置指導轉發的實服務組互斥。
· 對於七層服務器負載均衡,在配置負載均衡動作時,配置指導轉發的實服務組、配置重定向功能和配置對指定的HTTP請求進行代答兩兩互斥。
· 對於七層服務器負載均衡,在配置負載均衡動作時,配置查找可用實服務器失敗時繼續匹配下一條引用規則和配置負載均衡處理失敗時的代答文件互斥。
負載均衡動作配置任務如下:
(1) 配置通用類型負載均衡動作
a. 創建負載均衡動作
b. (可選)配置轉發類動作
請從配置報文的轉發模式為轉發、指定指導轉發的實服務組和關閉TCP連接中選擇一項進行配置。
c. (可選)配置修改類動作
(2) 配置HTTP類型負載均衡動作
a. 創建負載均衡動作
b. (可選)配置轉發類動作
請從指定指導轉發的實服務組和關閉TCP連接中選擇一項進行配置。
c. (可選)配置修改類動作
請至少選擇其中一項進行配置。
重寫服務器發送的HTTP應答報文Location首部的URL
d. (可選)配置代答類動作
e. (可選)開啟外鏈代理功能
(3) 配置RADIUS類型負載均衡動作
a. 創建負載均衡動作
b. (可選)配置轉發類動作
c. (可選)配置修改類動作
(1) 進入係統視圖。
system-view
(2) 創建通用類型的負載均衡動作,並進入負載均衡動作視圖。
loadbalance action action-name type generic
創建負載均衡動作時必須為其指定類型;而在進入已創建的負載均衡動作視圖時可以不指定類型,但若要指定類型,則必須與創建時的類型一致。
(3) (可選)配置負載均衡動作的描述信息。
description text
缺省情況下,未配置負載均衡動作的描述信息。
(1) 進入係統視圖。
system-view
(2) 創建HTTP或RADIUS類型的負載均衡動作,並進入負載均衡動作視圖。
loadbalance action action-name type { http | radius }
創建負載均衡動作時必須為其指定類型;而在進入已創建的負載均衡動作視圖時可以不指定類型,但若要指定類型,則必須與創建時的類型一致。
(3) (可選)配置負載均衡動作的描述信息。
description text
缺省情況下,未配置負載均衡動作的描述信息。
設備支持配置以下幾種轉發類動作,包括:
· 報文的轉發模式為轉發:當配置本功能的動作在負載均衡策略中被引用時,直接對匹配當前策略的報文進行轉發。
· 指定指導轉發的實服務組:當主用實服務組可用(該實服務組存在且有可用的實服務器)時,使用主用實服務組指導轉發;當主用實服務組不可用而備用實服務組可用時,使用備用實服務組指導轉發。
· 關閉TCP連接:當配置本功能的動作在負載均衡策略中被引用時,設備直接向客戶端發送FIN報文或RST報文關閉匹配當前策略的TCP連接。
· 查找實服務器失敗時繼續匹配下一條引用規則:當配置本功能的動作在負載均衡策略中被引用時,在轉發中根據該配置判斷當前動作查找可用實服務器失敗時,可繼續順序匹配策略中的下一條引用規則。
· 查找可用服務器失敗時關閉TCP連接:當配置本功能的動作在負載均衡策略中被引用時,在轉發中根據該配置判斷當前動作查找可用實服務器失敗時,設備直接向客戶端發送FIN報文或RST報文關閉TCP連接。
(1) 進入係統視圖。
system-view
(2) 進入通用類型的負載均衡動作視圖。
loadbalance action action-name
(3) 配置報文的轉發模式為轉發。
forward all
缺省情況下,報文轉發模式為丟棄。
(1) 進入係統視圖。
system-view
(2) 進入負載均衡動作視圖。
loadbalance action action-name
(3) 指定指導轉發的實服務組。
server-farm server-farm-name [ backup backup-server-farm-name ] [ sticky sticky-name [ backup backup-sticky-name ] ]
缺省情況下,未指定指導轉發的實服務組。
隻有指定主用持續性組為RADIUS類型,備用持續性組為地址端口類型;或者主用持續性組為HTTP Cookie類型,被用持續性組為地址端口或HTTP passive類型時,才會生成備用持續性表項,否則備用持續性組的配置不生效。
(1) 進入係統視圖。
system-view
(2) 進入通用和HTTP類型的負載均衡動作視圖。
loadbalance action action-name
(3) 配置關閉TCP連接的方式。
tcp-close { fin | rst }
缺省情況下,關閉TCP連接的方式為發送TCP FIN報文。
(1) 進入係統視圖。
system-view
(2) 進入負載均衡動作視圖。
loadbalance action action-name
(3) 配置查找實服務器失敗時繼續匹配下一條引用規則。
fallback-action continue
缺省情況下,查找可用實服務器失敗時直接丟棄報文。
(1) 進入係統視圖。
system-view
(2) 進入通用和HTTP類型的負載均衡動作視圖。
loadbalance action action-name
(3) 配置查找可用實服務器失敗時關閉TCP連接。
fallback-action close { fin | rst }
缺省情況下,查找可用實服務器失敗時直接丟棄報文。
(1) 進入係統視圖。
system-view
(2) 進入負載均衡動作視圖。
loadbalance action action-name
(3) 配置發往服務器的IP報文中的ToS字段。
set ip tos tos-number
缺省情況下,不改變發往服務器的IP報文中的ToS字段。
(1) 進入係統視圖。
system-view
(2) 進入負載均衡動作視圖。
loadbalance action action-name
(3) 重寫TCP載荷。
payload rewrite { both | request | response } value value replace replace-string
缺省情況下,未對TCP載荷進行重寫。
若指定方向的TCP報文中攜帶有指定的載荷,係統會將該載荷中的指定內容重寫為新的內容。
僅七層TCP類型的虛服務器支持引用包含該動作的負載均衡策略。
(1) 進入係統視圖。
system-view
(2) 進入HTTP類型的負載均衡動作視圖。
loadbalance action action-name
(3) 刪除HTTP首部。
header delete { both | request | response } name header-name
缺省情況下,未配置刪除HTTP首部。
如果指定方向的HTTP報文中攜帶有指定名稱的首部,係統會將該首部從報文中刪除。
(4) 插入HTTP首部。
header insert { both | request | response } name header-name value value [ encode { base64 | url } ]
缺省情況下,未配置插入HTTP首部。
係統將在指定方向的HTTP報文中插入指定名稱和內容的首部。
(5) 重寫HTTP首部。
header rewrite { both | request | response } name header-name value value replace replace [ encode { base64 | url } ]
缺省情況下,未配置重寫HTTP首部。
如果指定方向的HTTP報文中攜帶有指定名稱的首部,係統會將該首部中的指定內容重寫為新的內容。
(6) 重寫HTTP請求首部中的URL。
header rewrite request url value value replace replace [ encode { base64 | url } ]
缺省情況下,未配置重寫HTTP請求首部中的URL。
(1) 進入係統視圖。
system-view
(2) 進入HTTP類型的負載均衡動作視圖。
loadbalance action action-name
(3) 重寫服務器發送的HTTP應答報文Location首部的URL。
ssl url rewrite location location [ clearport clear-port ] [ sslport ssl-port ]
缺省情況下,未配置重寫服務器發送的HTTP應答報文Location首部的URL。
如果HTTP應答報文Location首部匹配了指定的URL和HTTP端口號,係統會將Location首部的URL由HTTP重寫為HTTPS,並將原HTTP端口號重寫為新的SSL端口號。
(1) 進入係統視圖。
system-view
(2) 進入HTTP類型的負載均衡動作視圖。
loadbalance action action-name
(3) 指定引用的SSL客戶端策略。
ssl-client-policy policy-name
缺省情況下,未引用任何SSL客戶端策略。
通過引用SSL客戶端策略,可以對負載均衡設備(作為SSL客戶端)與SSL服務器之間傳輸的流量進行加密傳輸。
如需修改已被負載均衡動作引用的SSL客戶端策略,在策略修改完成後,需在虛服務器視圖下,先通過配置undo service enable命令關閉虛服務器,再通過配置service enable命令開啟虛服務器,新的策略才能生效。
(1) 進入係統視圖。
system-view
(2) 進入HTTP類型的負載均衡動作視圖。
loadbalance action action-name
(3) 修改HTTP應答報文體中指定內容。
content rewrite value value replace replace
缺省情況下,未配置修改HTTP應答報文體中指定內容。
(1) 進入係統視圖。
system-view
(2) 進入HTTP類型的負載均衡動作視圖。
loadbalance action action-name
(3) 開啟動作的重定向功能並指定重定向URL。
redirect relocation relocation
缺省情況下,動作的重定向功能處於關閉狀態。
在HTTP類型的負載均衡動作視圖下開啟了重定向功能後,所有匹配對應負載均衡動作的HTTP請求報文都將被重定向到指定URL。
(4) 配置負載均衡設備返回給客戶端的重定向報文中的狀態碼。
redirect return-code { 301 | 302 | 307 }
缺省情況下,負載均衡設備返回給客戶端的重定向報文中的狀態碼為302。
本命令隻有在開啟了動作的重定向功能後才會生效。
設備支持配置用壓縮文件和非壓縮文件對客戶端的指定HTTP請求進行應答。
· 如果客戶端請求URL中的資源路徑匹配指定的url,則用指定的非壓縮文件對客戶端請求進行應答。
· 如果客戶端請求URL中的資源路徑匹配指定的workpath+ZIP壓縮包內相對路徑,則使用ZIP壓縮包內的文件對客戶端請求進行應答。
若配置了用壓縮文件和非壓縮文件對同一HTTP請求進行應答,且壓縮文件和非壓縮文件的路徑相同,則使用非壓縮文件進行代答。
(1) 進入係統視圖。
system-view
(2) 進入HTTP類型的負載均衡動作視圖。
loadbalance action action-name
(3) 配置對指定的HTTP請求進行代答。
response { url url file filename | workpath workpath zip-file zip-filename }
缺省情況下,未配置對HTTP請求進行代答。
通過配置負載均衡處理失敗時的代答文件,可在以下兩種情況下使用指定文件對客戶端請求進行應答:
· 查找可用實服務器失敗。
· 配置了對指定的HTTP請求進行代答後,查找代答文件失敗。
代答文件必須是一個完整的HTTP報文,不能隻是HTTP報文體的內容。
(1) 進入係統視圖。
system-view
(2) 進入HTTP類型的負載均衡動作視圖。
loadbalance action action-name
(3) 配置負載均衡處理失敗時的代答文件。
fallback-action response raw-file raw-filename
缺省情況下,根據當前動作查找可用服務器失敗時直接丟棄報文。
在HTTP類型的負載均衡動作視圖下,開啟了外鏈功能後,要使外鏈代理功能生效,還需要在虛服務器視圖下配置外鏈代理相關參數。有關外鏈代理功能的詳細配置,請參見“2.10.23 配置外鏈代理功能”。
若開啟了外鏈代理功能且配置了以下負載均衡動作時,外鏈代理功能不生效。
· 轉發類動作(不包括配置指導轉發的實服務組)
· 負載均衡處理失敗時的代答文件
(1) 進入係統視圖。
system-view
(2) 進入HTTP類型的負載均衡動作視圖。
loadbalance action action-name
(3) 開啟外鏈代理功能。
external-link proxy enable
缺省情況下,外鏈代理功能處於關閉狀態。
將負載均衡類和負載均衡動作關聯起來就構成了負載均衡策略。負載均衡策略是指導報文轉發的一種方式,用戶可以為匹配特定負載均衡類的報文指定執行的負載均衡動作,以及為未匹配任何負載均衡類的報文指定缺省負載均衡動作。
用戶可以在一個負載均衡策略中指定多個負載均衡類,轉發報文時會按照配置順序來匹配負載均衡類,匹配成功則執行相應的負載均衡動作,不會繼續匹配下一條負載均衡類,否則繼續匹配下一條負載均衡類。因此,當負載均衡類之間存在包含關係時,建議將更精細的負載均衡類放在前麵,寬泛的負載均衡類放在後麵。如果所有負載均衡類均未匹配,則執行缺省負載均衡動作。
四層和七層服務器負載均衡的負載均衡策略配置基本相同。
負載均衡策略配置任務如下:
(1) 創建負載均衡策略
(2) 指定負載均衡動作
(3) 指定缺省負載均衡動作
(1) 進入係統視圖。
system-view
(2) 創建通用類型的負載均衡策略,並進入負載均衡策略視圖。
loadbalance policy policy-name type generic
創建負載均衡策略時必須為其指定類型;而在進入已創建的負載均衡策略視圖時可以不指定類型,但若要指定類型,則必須與創建時的類型一致。
(3) (可選)配置負載均衡策略的描述信息。
description text
缺省情況下,未配置負載均衡策略的描述信息。
(1) 進入係統視圖。
system-view
(2) 創建HTTP或RADIUS類型的負載均衡策略,並進入負載均衡策略視圖。
loadbalance policy policy-name type { http | mysql | radius }
創建負載均衡策略時必須為其指定類型;而在進入已創建的負載均衡策略視圖時可以不指定類型,但若要指定類型,則必須與創建時的類型一致。
(3) (可選)配置負載均衡策略的描述信息。
description text
缺省情況下,未配置負載均衡策略的描述信息。
通用類型的負載均衡策略隻能引用通用類型的負載均衡類和負載均衡動作;HTTP類型的負載均衡策略可以引用HTTP或通用類型的負載均衡類和負載均衡動作;MySQL類型的負載均衡策略可以引用MySQL或通用類型的負載均衡類和通用類型負載均衡動作;RADIUS類型的負載均衡策略可以引用RAIDIUS或通用類型的負載均衡類和負載均衡動作。
(1) 進入係統視圖。
system-view
(2) 進入負載均衡策略視圖。
loadbalance policy policy-name
(3) 為負載均衡類指定負載均衡動作。
class class-name [ insert-before before-class-name | insert-after [ after-class-name ] ] action action-name
缺省情況下,沒有為任何負載均衡類指定負載均衡動作。
不同的負載均衡類可以與同一負載均衡動作組成匹配規則。
通用類型的負載均衡策略隻能引用通用類型的負載均衡動作作為其缺省負載均衡動作,HTTP類型的負載均衡策略則無此限製。
(1) 進入係統視圖。
system-view
(2) 進入負載均衡策略視圖。
loadbalance policy policy-name
(3) 指定缺省負載均衡動作。
default-class action action-name
缺省情況下,未指定缺省負載均衡動作。
持續性組的作用是根據某持續性方法將具有相同特征的訪問流量都分配給同一個實服務器處理,這個分配規則就稱為持續性表項。當用戶首次發起訪問時,設備會根據調度算法將請求分發給某台實服務器。同時根據持續性方法生成持續性表項。在持續性表項老化之前,若設備再次收到用戶請求,不會再根據調度算法進行計算,而是根據已生成的持續性表項,選擇對應的實服務器進行轉發。
持續性組(四層)配置任務如下:
(1) 創建持續性組
(2) 配置持續性方法
請至少選擇其中一項進行配置。
(3) (可選)配置持續性表項超時時間
(4) (可選)開啟匹配持續性表項的會話不受連接數限製影響功能
(5) (可選)開啟持續性處理優先於繁忙功能
持續性組(七層)配置任務如下:
(1) 創建持續性組
(2) 配置持續性方法
請至少選擇其中一項進行配置。
(3) (可選)配置持續性表項超時時間
(4) (可選)開啟匹配持續性表項的會話不受連接數限製影響功能
(5) (可選)開啟持續性處理優先於繁忙功能
(1) 進入係統視圖。
system-view
(2) 創建地址端口類型的持續性組,並進入持續性組視圖。
sticky-group group-name type address-port
創建持續性組時必須為其指定類型;而在進入已創建的持續性組視圖時可以不指定類型,但若要指定類型,則必須與創建時的類型一致。
(3) (可選)配置持續性組的描述信息。
description text
缺省情況下,未配置持續性組的描述信息。
(1) 進入係統視圖。
system-view
(2) 創建HTTP實體、HTTP Cookie、HTTP首部、HTTP/UDP載荷、RADIUS、SIP或SSL類型的持續性組,並進入持續性組視圖。
sticky-group group-name type { http-content | http-cookie | http-header | http-passive | payload | radius | sip | ssl | tcp-payload | udp-passive }
創建持續性組時必須為其指定類型;而在進入已創建的持續性組視圖時可以不指定類型,但若要指定類型,則必須與創建時的類型一致。
(3) (可選)配置持續性組的描述信息。
description text
缺省情況下,未配置持續性組的描述信息。
(1) 進入係統視圖。
system-view
(2) 進入持續性組視圖。
sticky-group group-name
(3) 配置IP持續性方法。
(IPv4網絡)
ip [ port ] { both | destination | source } [ mask mask-length ]
(IPv6網絡)
ipv6 [ port ] { both | destination | source } [ prefix prefix-length ]
缺省情況下,未配置IP持續性方法。
(1) 進入係統視圖。
system-view
(2) 進入TCP載荷類型的持續性組視圖。
sticky-group group-name
(3) 配置TCP載荷持續性方法。
tcp-payload [ offset offset ] [ start start-string ] [ end end-string | length length ]
缺省情況下,未配置TCP載荷持續性方法。
配置UDP passive類型的持續性方法後,當設備收到UDP應答方向報文後,根據payload get命令的配置獲取到的UDP應答報文的載荷信息生成持續性表項。對於後續收到的UDP請求報文,根據payload match命令的配置獲取到指定請求報文的載荷信息,若該載荷信息匹配上持續性表項,則按照持續性表項轉發。
UDP載荷被動持續性方法需要get和match命令的配合才能生成。
(1) 進入係統視圖。
system-view
(2) 進入UDP passive類型的持續性組視圖。
sticky-group group-name
(3) 配置UDP passive類型持續性方法。
payload get [ offset offset ] [ start start-string ] [ end end-string | length length ]
payload match [ offset offset ] [ start start-string ] [ end end-string | length length ]
缺省情況下,未配置UDP passive類型持續性方法。
(1) 進入係統視圖。
system-view
(2) 進入HTTP實體類型的持續性組視圖。
sticky-group group-name
(3) 配置HTTP實體持續性方法。
content [ offset offset ] [ start start-string ] [ end end-string | length length ]
缺省情況下,未配置HTTP實體持續性方法。
快速HTTP類型的虛服務器不支持本功能。
(1) 進入係統視圖。
system-view
(2) 進入HTTP Cookie類型的持續性組視圖。
sticky-group group-name
(3) 配置HTTP Cookie持續性方法。
cookie { get name cookie-name [ offset offset ] [ start start-string] [ end end-string | length length ] | { insert [ domain domain-name ] [ path path ] [ httponly ] [ secure ] | rewrite } [ name cookie-name ] [ httponly ] [ secure ] }
缺省情況下,未配置HTTP Cookie持續性方法。
(4) (可選)指定需在URI中查找的Secondary Cookie的名稱。
cookie secondary name value
缺省情況下,未指定需在URI中查找的Secondary Cookie名稱。
(5) (可選)配置檢查所有報文。
check all-packet
缺省情況下,不檢查所有報文。
(1) 進入係統視圖。
system-view
(2) 進入HTTP首部類型的持續性組視圖。
sticky-group group-name
(3) 配置HTTP首部持續性方法。
header { { { host | name header-name | url } [ offset offset ] [ start start-string] [ end end-string | length length ] } | request-method | version }
缺省情況下,未配置HTTP首部持續性方法。
HTTP passive類型持續性方法包括HTTP首部被動持續性方法和HTTP實體被動持續性方法。
配置HTTP passive類型的持續性方法後,設備會根據header get或content get命令獲取HTTP應答報文首部或實體中的指定字符串,生成持續性表項。對於後續收到的所有HTTP請求報文,根據header match或content match命令獲取HTTP請求報文首部或實體中的指定字段,若該字段匹配上持續性表項,則按照持續性表項轉發。
HTTP首部被動持續性方法和HTTP實體被動持續性方法都包括get和match命令,其配置遵循以下原則:
· n條get命令獲取到的n個字符串,其中任意1~n個字符串又可以按照ID順序組合成2n-1個字符串,若match命令獲取到字符串匹配上任意一個組合後的字符串,則認為匹配成功。
· n條match命令獲取到的n個字符串按照ID順序結合成一個字符串進行匹配。
假設,用戶配置了ID為1、2、3的三條get命令,使得設備可以獲取到HTTP應答報文首部中的字符串a、b、c,組合成七個匹配字符串a、b、c、ab、ac、bc、abc,並生成七條持續性表項。同時用戶配置了ID為2、3、4的三條match命令,當設備收到HTTP請求報文後,若基於這三條規則獲取到了字符串a、b、c,且它們組合成的字符串abc能夠與通過get命令獲取到的字符串abc匹配成功,則認為HTTP請求報文與持續性表項匹配成功,按照持續性表項轉發。
HTTP首部被動持續性方法和實體被動持續性方法需要get和match命令的配合才能生成。
同一HTTP passive類型的持續性組視圖下,最多允許通過配置4條get命令在HTTP應答報文中獲取4個指定字符串,最多允許通過配置4條match命令在HTTP請求報文中獲取4個指定字符串。
(1) 進入係統視圖。
system-view
(2) 進入HTTP passive類型的持續性組視圖。
sticky-group group-name
(3) 配置HTTP passive持續性方法。請至少選擇其中一項進行配置。
¡ 配置HTTP首部被動持續性方法。
header get id name header-name start start-string { end end-string | length length }
header match id { name header-name | url } start start-string { end end-string | length length }
缺省情況下,未配置HTTP首部被動持續性方法。
¡ 配置HTTP實體被動持續性方法。
content get id start start-string { end end-string | length length }
content match id start start-string { end end-string | length length }
缺省情況下,未配置HTTP實體被動持續性方法。
(4) (可選)配置檢查所有報文。
check all-packet
缺省情況下,不檢查所有報文。
(1) 進入係統視圖。
system-view
(2) 進入HTTP或UDP載荷類型的持續性組視圖。
sticky-group group-name
(3) 配置HTTP或UDP載荷持續性方法。
payload [ offset offset ] [ start start-string ] [ end end-string | length length ]
缺省情況下,未配置HTTP或UDP載荷持續性方法。
快速HTTP類型的虛服務器不支持本功能。
(1) 進入係統視圖。
system-view
(2) 進入RADIUS類型的持續性組視圖。
sticky-group group-name
(3) 配置RADIUS屬性持續性方法。
radius-attribute { code attribute-code | framed-ip-address | user-name }
缺省情況下,未配置RADIUS屬性持續性方法。
配置基於SIP信令報文Call ID的持續性方法後,設備會根據SIP信令報文首部的call-id字段生成持續性表項,將具有相同Call ID的SIP報文都分配給同一台實服務器處理。
(1) 進入係統視圖。
system-view
(2) 進入SIP類型的持續性組視圖。
sticky-group group-name
(3) 配置基於SIP信令報文Call ID的持續性方法。
header call-id
缺省情況下,未配置基於SIP信令報文Call ID的持續性方法。
(1) 進入係統視圖。
system-view
(2) 進入SSL類型的持續性組視圖。
sticky-group group-name
(3) 配置SSL持續性方法為基於SSL會話ID。
ssl session-id
缺省情況下,未配置SSL持續性方法。
(1) 進入係統視圖。
system-view
(2) 進入持續性組視圖。
sticky-group group-name
(3) 配置持續性表項的超時時間。
timeout { indefinite | timeout-value }
缺省情況下,對於HTTP Cookie、HTTP passive和UDP passive類型的持續性組,持續性表項的超時時間為86400秒;對於其它類型的持續性組,持續性表項的超時時間為60秒。
缺省情況下,某虛服務器的持續性表項僅對訪問當前虛服務器的流量生效。通過配置本功能,可以調整持續性表項的匹配範圍,當用戶流量未匹配上當前虛服務器的持續性表項時,可以繼續進行跨服務匹配或者跨虛服務器匹配。通過配置跨服務或跨虛服務器匹配持續性表項,對於訪問不同虛服務器的具有一定相關性的會話,設備可以將其分配給同一台實服務器。
若同時配置跨服務匹配和跨虛服務器匹配,持續性表項的匹配順序依次為:匹配當前虛服務器,跨服務匹配,跨虛服務器匹配。在持續性表項的每種匹配範圍內,設備總是優先匹配最新生成的持續性表項。匹配成功則轉發報文,不再匹配其他表項。
下麵分別對持續性表項的三種匹配範圍進行介紹:
· 匹配當前虛服務器:設備僅匹配當前虛服務器的持續性表項。此為設備缺省匹配範圍,無需配置。
· 跨服務匹配:設備在未匹配到當前虛服務器的持續性表項時,可以繼續匹配IP地址相同的其他虛服務器的持續性表項。使用場景為,存在多個IP地址相同,端口不同的虛服務器,且這些虛服務器共用相同的實服務器資源。
· 跨虛服務器匹配:設備在未匹配到當前虛服務器的持續性表項時,可以繼續匹配他所有虛服務器的持續性表項。使用場景為,存在多個共用相同實服務器資源的虛服務器。
例如,設備上存在虛服務器A、B、C同時對外提供服務,且所有虛服務器均采用源IP地址持續性方法,生成的持續性表項如圖2-10所示(為了便於說明,圖中僅列舉了持續性表項的部分信息)。
下圖以Host A、B、C均訪問虛服務器A作為示例,若管理員配置不同的持續性表項生效範圍,則會產生不同的匹配結果,進而將用戶流量轉發至不同的實服務組。
匹配範圍 |
匹配結果示例 |
匹配當前虛服務器 |
設備將請求報文的源IP地址與當前虛服務器A的持續性表項匹配 · Host A匹配成功,設備根據持續性表項,將Host A的請求報文轉發至實服務器RS A · Host B和Host C匹配失敗,持續性匹配結束,設備根據調度算法或負載均衡策略分發請求報文 |
跨服務匹配 |
設備將請求報文的源IP地址優先與當前虛服務器A的持續性表項匹配 · Host A匹配成功,設備根據持續性表項,將Host A的請求報文轉發至實服務器RS A · Host B和Host C匹配不成功,設備會繼續將請求報文的源IP地址與虛服務器B(與虛服務器A的IP地址相同)的持續性表項匹配 ¡ Host B匹配成功,設備根據虛服務器B的持續性表項,將Host B的請求報文轉發至實服務器RS B ¡ Host C匹配不成功,持續性匹配結束,設備根據調度算法或負載均衡策略分發請求報文 |
跨虛服務器匹配 |
設備將請求報文的源IP地址優先與當前虛服務器A的持續性表項匹配 · Host A匹配成功,設備根據持續性表項,將Host A的請求報文轉發至實服務器RS A · Host B和Host C匹配不成功,設備會繼續將請求報文的源IP地址與其他所有虛服務器的持續性表項匹配 ¡ Host B與虛服務器B的持續性表項匹配成功,設備根據虛服務器B的持續性表項,將Host B的請求報文轉發至實服務器RS B ¡ Host C與虛服務器C的持續性表項匹配成功,設備根據虛服務器C的持續性表項,將Host C的請求報文轉發至實服務器RS A |
(1) 進入係統視圖。
system-view
(2) 進入地址端口或RADIUS類型的持續性組視圖。
sticky-group group-name
(3) 開啟跨服務匹配持續性表項功能。
match-across-service enable
缺省情況下,跨服務匹配持續性表項功能處於關閉狀態。
(4) 開啟跨虛服務器匹配持續性表項功能。
match-across-virtual-server enable
缺省情況下,跨虛服務器匹配持續性表項功能處於關閉狀態。
開啟該功能後,如果該連接匹配了已有的持續性表項,將不受實服務器上帶寬及連接參數的影響,也不受虛服務器上引用的負載均衡策略連接數限製的影響。
(1) 進入係統視圖。
system-view
(2) 進入持續性組視圖。
sticky-group group-name
(3) 開啟匹配持續性表項的會話不受連接數限製影響功能。
override-limit enable
缺省情況下,匹配持續性表項的會話受連接數限製配置的影響。
開啟持續性處理優先於繁忙功能後,在持續性表項老化之前,無論實服務器是否處於繁忙狀態,設備都會依據持續性表項為其分配流量。
若持續性處理優先於繁忙功能處於關閉狀態,則在持續性表項老化之前,設備會依據持續性表項僅為處於正常狀態的實服務器分配流量。
(1) 進入係統視圖。
system-view
(2) 進入持續性組視圖。
sticky-group group-name
(3) 開啟持續性處理優先於繁忙功能。
sticky-over-busy enable
缺省情況下,持續性處理優先於繁忙功能處於關閉狀態。
參數模板配置任務如下:
(1) 創建參數模板
(1) 創建參數模板
(2) 配置參數
請至少選擇其中一項進行配置。
¡ 配置對客戶端發來的HTTP請求報文中超出MSS的數據段的處理方式
(1) 創建參數模板
(2) 配置TCP載荷匹配的緩衝條件
(1) 創建參數模板
(2) 配置參數
請至少選擇其中一項進行配置。
¡ 配置對每個HTTP請求或應答報文的首部都執行插入、刪除或修改操作
¡ 配置當HTTP請求或應答報文首部超出最大長度時的處理方式
(1) 創建參數模板
(2) 配置HTTP壓縮功能
(1) 創建參數模板
(2) 配置HTTP統計功能
(1) 創建參數模板
(1) 進入係統視圖。
system-view
(2) 創建IP類型的參數模板,並進入參數模板視圖。
parameter-profile profile-name type ip
創建參數模板時必須為其指定類型;而在進入已創建的參數模板視圖時可以不指定類型,但若要指定類型,則必須與創建時的類型一致。
(3) (可選)配置參數模板的描述信息。
description text
缺省情況下,未配置參數模板的描述信息。
(1) 進入係統視圖。
system-view
(2) 創建HTTP、HTTP壓縮、HTTP統計、MySQL、OneConnect、TCP或TCP-application類型的參數模板,並進入參數模板視圖。
parameter-profile profile-name type { http | http-compression | http-statistics | mysql | oneconnect | tcp | tcp-application }
創建參數模板時必須為其指定類型;而在進入已創建的參數模板視圖時可以不指定類型,但若要指定類型,則必須與創建時的類型一致。
(3) (可選)配置參數模板的描述信息。
description text
缺省情況下,未配置參數模板的描述信息。
(1) 進入係統視圖。
system-view
(2) 進入IP類型的參數模板視圖。
parameter-profile profile-name
(3) 配置發往客戶端的IP報文中的ToS字段。
set ip tos tos-number
缺省情況下,不改變發往客戶端的IP報文中的ToS字段。
(1) 進入係統視圖。
system-view
(2) 進入TCP類型的參數模板視圖。
parameter-profile profile-name
(3) 配置TCP連接中的本地最大窗口值。
tcp window-size size
缺省情況下,TCP連接中的本地最大窗口值為65535。
通過本配置可以自定義負載均衡設備與客戶端以及服務器建立的TCP連接的空閑超時時間。若在TCP連接的空閑超時時間內沒有應用數據傳輸,負載均衡設備會主動斷開與客戶端或服務器的TCP連接。
(1) 進入係統視圖。
system-view
(2) 進入TCP類型的參數模板視圖。
parameter-profile profile-name
(3) 配置TCP連接的空閑超時時間。
tcp connection idle-timeout value
缺省情況下,TCP連接的空閑超時時間為0,即不超時。
缺省情況下,TCP協議的TIME-WAIT狀態超時時間為報文段在被丟棄之前在因特網上能夠存在的最大時間(MSL)的兩倍。
TCP連接斷開時,由於TCP協議的TIME-WAIT狀態超時時間較長,導致TCP連接釋放過慢,影響負載均衡業務處理效率。通過本配置可靈活設置TIME-WAIT狀態的超時時間。
(1) 進入係統視圖。
system-view
(2) 進入TCP類型的參數模板視圖。
parameter-profile profile-name
(3) 配置TCP連接TIME-WAIT狀態的超時時間。
time-wait timeout value
缺省情況下,TCP連接TIME-WAIT狀態的超時時間為2秒。
(1) 進入係統視圖。
system-view
(2) 進入TCP類型的參數模板視圖。
parameter-profile profile-name
(3) 配置TCP連接SYN報文的重傳超時時間。
syn retransmission-timeout timeout-value
缺省情況下,TCP連接SYN報文的重傳超時時間為10秒。
(1) 進入係統視圖。
system-view
(2) 進入TCP類型的參數模板視圖。
parameter-profile profile-name
(3) 配置TCP連接保活定時器的空閑超時時間。
keepalive idle-timeout timeout-value
缺省情況下,TCP連接保活定時器的空閑超時時間為1800秒。
(4) 配置TCP保活報文的重傳時間間隔與重傳次數。
keepalive retransmission interval interval count count
缺省情況下,TCP保活報文的重傳時間間隔為10秒,重傳次數為3次。
(1) 進入係統視圖。
system-view
(2) 進入TCP類型的參數模板視圖。
parameter-profile profile-name
(3) 配置TCP連接FIN-WAIT-1狀態的超時時間。
fin-wait1 timeout timeout-value
缺省情況下,TCP連接FIN-WAIT-1狀態的超時時間為5秒。
(1) 進入係統視圖。
system-view
(2) 進入TCP類型的參數模板視圖。
parameter-profile profile-name
(3) 配置TCP連接FIN-WAIT-2狀態的超時時間。
fin-wait2 timeout timeout-value
缺省情況下,TCP連接FIN-WAIT-2狀態的超時時間為5秒。
(1) 進入係統視圖。
system-view
(2) 進入TCP類型的參數模板視圖。
parameter-profile profile-name
(3) 配置對客戶端發來的HTTP請求報文中超出MSS的數據段的處理方式。
exceed-mss { allow | drop }
缺省情況下,對客戶端發來的HTTP請求報文中超出MSS的數據段的處理方式為允許超出MSS的數據段。
在客戶端與負載均衡設備建立TCP連接時,客戶端將MSS值通告給負載均衡設備,負載均衡設備會記錄下這個MSS值,並將配置的MSS值發送給客戶端,客戶端與負載均衡設備將使用較小的MSS值作為雙方通信的最大分段長度。
在負載均衡設備與服務器建立TCP連接時,負載均衡設備將配置的MSS值通告給服務器,服務器會記錄下這個MSS值,並將自身的MSS值發送給負載均衡設備,負載均衡設備與服務器將使用較小的MSS值作為雙方通信的最大分段長度。
(1) 進入係統視圖。
system-view
(2) 進入TCP類型的參數模板視圖。
parameter-profile profile-name
(3) 配置負載均衡設備與對端建立TCP連接時的MSS值。
tcp mss value
缺省情況下,未配置負載均衡設備與對端建立TCP連接時的MSS值。
本功能用來在負載均衡設備發送給服務器的TCP報文頭的指定選項中插入客戶端的真實源IP地址。
本功能僅在以下幾種類型的虛服務器引用TCP類型的參數模板時才會生效:
· HTTP類型的虛服務器
· 配置了SSL服務器端策略的TCP類型的虛服務器
· 工作在七層的TCP類型的虛服務器
· MySQL類型的虛服務器
(1) 進入係統視圖。
system-view
(2) 進入TCP類型的參數模板視圖。
parameter-profile profile-name
(3) 配置在TCP選項中插入內容。
tcp option insert option-number src-addr [ encode { binary | string } ]
缺省情況下,未在TCP選項中插入內容。
本功能用來清除負載均衡設備發送給服務器的TCP報文頭中的指定選項。
(1) 進入係統視圖。
system-view
(2) 進入TCP類型的參數模板視圖。
parameter-profile profile-name
(3) 清除TCP報文頭中的指定選項。
tcp option remove option-number
缺省情況下,未對TCP報文頭中的指定選項進行清除。
通過本配置可以指定用來進行SNAT地址轉換的TCP選項,即將指定TCP選項中攜帶的IP地址作為SNAT轉換地址。實現本功能還需配置SNAT轉換方式為TCP Option方式,具體配置請參見“2.8.6 配置NAT功能”。
(1) 進入係統視圖。
system-view
(2) 進入TCP類型的參數模板視圖。
parameter-profile profile-name
(3) 配置進行SNAT地址轉換的TCP選項。
src-addr-option option-number [ encode { binary | string } ]
缺省情況下,未配置進行SNAT地址轉換的TCP選項。
此命令僅在客戶端側的參數模板下生效。
配置TCP載荷類型的匹配規則後,在TCP載荷匹配的緩衝時間內,設備會緩衝客戶端發給虛服務器的流量進行TCP載荷匹配。直到出現以下任意一種情況才結束緩衝:
· 收到緩衝結束符。
· 緩衝數據長度超過配置的TCP緩衝數據大小。
· 緩衝數據已經與匹配規則匹配。
(1) 進入係統視圖。
system-view
(2) 進入TCP-Application類型的參數模板視圖。
parameter-profile profile-name
(3) 配置TCP載荷匹配的緩衝時間。
match-buffer-time time
缺省情況下,TCP載荷匹配的緩衝時間為3秒。
(4) 配置對TCP載荷結束緩衝的匹配條件。請至少選擇其中一項進行配置。
¡ 配置TCP載荷匹配的緩衝數據大小。
match-buffer-size size
缺省情況下,TCP載荷匹配的緩衝數據大小為4096字節。
¡ 配置TCP載荷匹配的緩衝結束符。
match-buffer-end string
缺省情況下,未配置TCP載荷匹配的緩衝結束符。
(1) 進入係統視圖。
system-view
(2) 進入HTTP類型的參數模板視圖。
parameter-profile profile-name
(3) 配置對每個HTTP請求報文都進行負載均衡。
rebalance per-request
缺省情況下,隻對一條連接的第一個HTTP請求報文進行負載均衡,其餘請求報文的處理方式與第一個相同。
通過開啟負載均衡設備與服務器的連接複用功能,可在負載均衡設備與服務器之間建立一條長時間不會老化的連接,使多個客戶端複用同一條與服務器的TCP連接。
開啟了負載均衡設備與服務器的連接複用功能後,可通過配置以下參數對TCP連接的複用時間、複用次數、複用範圍以及連接池大小進行限製:
· 空閑超時時間:當負載均衡設備與服務器之間TCP連接的空閑時間達到配置的空閑超時時間時,此連接將會被刪除,後續客戶端發起的連接請求將觸發建立新的TCP連接。
· 最大複用次數:當負載均衡設備與服務器TCP連接的複用次數達到配置的最大複用次數時,此連接將會被刪除,後續客戶端發起的連接請求將觸發建立新的TCP連接。
· IPv4網絡掩碼/IPv6前綴:通過配置連接複用的IPv4網絡掩碼或IPv6前綴,可對負載均衡設備與服務器之間連接複用的客戶端網段進行限製。當負載均衡設備收到客戶端的連接請求時,若客戶端網段與已建立的TCP空閑連接的網段相同,則複用已建立的空閑連接。否則,觸發建立新的TCP連接。
· MySQL連接池大小:當MySQL數據傳輸完成後,不立即斷開TCP連接,而是將TCP連接保存在MySQL連接池中。當需要建立新的連接時,優先從MySQL連接池中獲取可用連接,而不是重新建立一個新連接。若MySQL連接池中的連接數達到配置的上限,則不再將空閑連接保存在連接池中。
(1) 進入係統視圖。
system-view
(2) 進入HTTP或MySQL類型的參數模板視圖。
parameter-profile profile-name
(3) 開啟負載均衡設備與服務器的連接複用功能。
server-connection reuse
缺省情況下,負載均衡設備與服務器的連接複用功能處於關閉狀態。
快速HTTP類型的虛服務器不支持本功能。
(4) 退回係統視圖。
quit
(1) 進入MySQL或OneConnect類型的參數模板視圖。
parameter-profile profile-name
(2) (可選)配置負載均衡設備與服務器之間TCP連接的空閑超時時間。
idle-time idle-time
缺省情況下,負載均衡設備與服務器之間TCP連接的空閑超時時間為86400秒。
(3) (可選)配置負載均衡設備與服務器之間TCP連接的最大複用次數。
max-reuse reuse-number
缺省情況下,負載均衡設備與服務器之間TCP連接的最大複用次數為1000。
(4) (可選)配置連接複用的IPv4網絡掩碼。
ip source mask { mask-length | mask }
缺省情況下,連接複用的IPv4網絡掩碼為自然掩碼。
(5) (可選)配置連接複用的IPv6前綴長度。
ipv6 source prefix prefix-length
缺省情況下,連接複用的IPv6前綴長度為0。
(6) (可選)配置連接複用的連接池大小。
pool-size pool-size
缺省情況下,連接複用的連接池大小為1024。
僅MySQL類型的參數模板支持本配置。
(1) 進入係統視圖。
system-view
(2) 進入HTTP類型的參數模板視圖。
parameter-profile profile-name
(3) 配置對每個HTTP請求或應答報文的首部都執行插入、刪除或修改操作。
header modify per-request
缺省情況下,隻對每個連接的第一個HTTP請求或應答報文的首部執行插入、刪除或修改操作。
(1) 進入係統視圖。
system-view
(2) 進入HTTP類型的參數模板視圖。
parameter-profile profile-name
(3) 配置匹配字符串時對大小寫不敏感。
case-insensitive
缺省情況下,匹配字符串時對大小寫敏感。
(1) 進入係統視圖。
system-view
(2) 進入HTTP類型的參數模板視圖。
parameter-profile profile-name
(3) 配置HTTP實體的最大解析長度。
content maxparse-length length
缺省情況下,HTTP實體的最大解析長度為4096。
快速HTTP類型的虛服務器不支持本功能。
(4) 配置HTTP首部的最大解析長度。
header maxparse-length length
缺省情況下,HTTP首部的最大解析長度為4096。
快速HTTP類型的虛服務器不支持本功能。
(1) 進入係統視圖。
system-view
(2) 進入HTTP類型的參數模板視圖。
parameter-profile profile-name
(3) 配置URL中分隔Secondary Cookie的字符。
secondary-cookie delimiters text
缺省情況下,URL中分隔Secondary Cookie的字符為“/”、“&”、“#”或“+”。
(4) 配置URL中Secondary Cookie的起始位置標示字符。
secondary-cookie start text
缺省情況下,URL中Secondary Cookie的起始位置標示字符為“?”。
(1) 進入係統視圖。
system-view
(2) 進入HTTP類型的參數模板視圖。
parameter-profile profile-name
(3) 配置當HTTP請求或應答報文首部超出最大長度時的處理方式。
header exceed-length { continue | drop }
缺省情況下,當HTTP請求或應答報文首部超出最大長度時,繼續進行負載均衡處理。
快速HTTP類型的虛服務器不支持本功能。
若HTTP請求報文實體的長度超出配置的最大長度,設備會丟棄報文。
(1) 進入係統視圖。
system-view
(2) 進入HTTP類型的參數模板視圖。
parameter-profile profile-name
(3) 配置允許通過的HTTP請求報文實體的最大長度。
content request-max-length length
缺省情況下,允許通過的請求報文實體的最大長度不受限製。
配置本功能後,設備會將服務器發送的HTTP響應報文中Set-Cookie字段加密後發往客戶端,以防止保存在Cookie中的用戶關鍵信息泄露。客戶端攜帶加密後的Cookie值訪問服務器時,設備會將Cookie字段解密後再發往服務器。
(1) 進入係統視圖。
system-view
(2) 進入HTTP類型的參數模板視圖。
parameter-profile profile-name
(3) 配置Cookie加密功能。
encrypt-cookie name cookie-name key { cipher | simple } string
缺省情況下,不對任何Cookie加密。
快速HTTP類型的虛服務器不支持本功能。
(1) 進入係統視圖。
system-view
(2) 進入HTTP壓縮類型的參數模板視圖。
parameter-profile profile-name
(3) 設置進行壓縮的應答報文體最小長度。
content length-threshold length
缺省情況下,壓縮的應答報文體最小長度為1024字節。
(4) 設置應答報文的壓縮級別。
compression level level
缺省情況下,應答報文的壓縮級別為1。
(5) 設置應答報文壓縮所占用的內存大小。
memory-size size
缺省情況下,應答報文壓縮所占用的內存大小為8KB。
(6) 配置對HTTP1.0的請求報文的應答進行壓縮處理。
request-version all
缺省情況下,不對HTTP1.0的請求報文的應答進行壓縮處理。
(7) 配置應答報文首選的壓縮算法。
prefer-method { deflate | gzip }
缺省情況下,首選壓縮算法為gzip。
(8) 配置刪除請求報文中的Accept-Encoding首部。
header delete request accept-encoding
缺省情況下,刪除請求中的Accept-Encoding首部。
(9) 設置在應答報文中插入Vary首部,內容為Accept-Encoding 。
header insert response vary
缺省情況下,在應答報文中插入Vary首部,內容為Accept-Encoding。
(10) 配置進行壓縮的過濾條件。
rule [ rule-id ] { permit | deny } { content-type | url } expression
缺省情況下,未配置任何過濾條件。
(11) 配置壓縮使用的窗口大小。
window-size size
缺省情況下,壓縮窗口大小為16KB。
通過配置HTTP統計類型的參數模板,可對訪問指定URL的流量進行統計。
若HTTP流量匹配了指定URL,並且HTTP流量的源IP地址匹配了指定的源IP地址對象組,則按照源IP地址對象組進行流量統計。若未匹配指定的源IP地址對象組,則按照單個源IP地址進行流量統計。
設備支持在統計節點視圖下配置多條URL類型的統計匹配規則,通過該配置可統計出訪問多個URL的總流量。
(1) 進入係統視圖。
system-view
(2) 進入HTTP統計類型的參數模板視圖。
parameter-profile profile-name
(3) (可選)配置按照指定源IP地址對象組進行HTTP流量統計。
source-ip object-group object-group-name
缺省情況下,按照單個源IP地址進行HTTP流量統計。
(4) 創建統計節點,並進入統計節點視圖。
node node-name
(5) 配置URL類型的統計匹配規則。
statistics-match [ rule-id ] url url
(6) (可選)配置統計節點的描述信息。
description text
缺省情況下,未配置統計節點的描述信息。
防護策略可以對負載均衡設備和服務器進行保護,防止攻擊者在短時間內發送大量的虛假請求,致使服務器疲於應付無用信息,無法處理正常的業務。
設備支持在防護策略中指定防護規則,並為在防護周期內匹配防護規則的流量指定防護動作。
防護策略配置任務如下:
(1) 創建防護策略
(2) 配置防護規則
(3) 配置防護動作
(1) 進入係統視圖。
system-view
(2) 創建HTTP類型的防護策略,並進入防護策略視圖。
loadbalance protection-policy policy-name [ type http ]
創建防護策略時必須為其指定類型;而在進入已創建的防護策略視圖時可以不指定類型,但若要指定類型,則必須與創建時的類型一致。
(3) (可選)配置防護策略的描述信息。
description text
缺省情況下,未配置防護策略的描述信息。
防護規則定義了需要保護的URL和防護的閾值(一段時間內用戶最多可以訪問的次數),在防護周期內,若同一用戶訪問指定URL的次數超過請求報文數閾值,則執行防護動作。設備支持基於源IP地址或Cookie來判斷請求報文是否來自同一用戶。
· 基於源IP地址:設備將來自相同源IP地址的請求報文判斷為來自同一用戶。
· 基於Cookie:若請求報文中對應於指定Cookie名稱的Cookie值相同,則認為請求報文來自同一用戶。
設備支持在防護策略中配置多條防護規則,轉發報文時會按照配置的防護規則ID順序匹配防護規則。若用戶訪問的URL與某防護規則下的URL匹配成功且訪問指定URL的次數超過請求報文數閾值,則執行相應的防護動作;若與某防護規則下的URL匹配不成功,否則繼續匹配下一條防護規則。
請根據實際的業務流量配置合適的防護周期。以免防護周期配置較大遺漏攻擊報文或者防護周期配置較小頻繁產生誤報。
(1) 進入係統視圖。
system-view
(2) 進入HTTP類型的防護策略視圖。
loadbalance protection-policy policy-name
(3) 創建防護規則,並進入防護規則視圖。
rule rule-id
(4) 配置防護URL。
protected-url url
缺省情況下,不存在防護URL。
(5) 配置防護閾值。請至少選擇其中一項進行配置。
¡ 配置基於源IP地址的防護閾值。
source-ip request-threshold threshold
¡ 配置基於Cookie的防護閾值。
cookie cookie-name request-threshold threshold
缺省情況下,未配置防護閾值。
若同時配置基於源IP地址的防護閾值和基於Cookie的防護閾值,則當攜帶相同源IP或者相同Cookie值的報文達到配置的閾值時,執行相應的動作。
(6) 配置防護周期。
protection-period period
缺省情況下,防護周期為120秒。
設備支持為匹配防護規則的流量配置以下三種防護動作:
· 輸出告警日誌:生成告警信息並發送到信息中心。
· 丟棄報文:丟棄請求報文。
· 客戶端驗證:設備檢測到請求報文個數達到閾值限製時,向客戶端返回攜帶指定Cookie的響應報文。若客戶端後續請求報文中攜帶的Cookie值與設備返回的Cookie值相同,則認為客戶端請求報文通過驗證。若請求報文中未攜帶Cookie值或攜帶的Cookie值與設備返回值不同,則認為客戶端請求報文未通過驗證,直接丟棄報文。設備支持通過插入HTTP首部和響應JS腳本的方式向客戶端返回Cookie值。
(1) 進入係統視圖。
system-view
(2) 進入HTTP類型的防護策略視圖。
loadbalance protection-policy policy-name
(3) 配置防護動作。
protection-action { warning | { drop | verify { insert-header | js } } } *
缺省情況下,未配置防護動作。
服務器負載均衡支持配置TCP RST、TCP zero-window、HTTP passive和自定義監控類型的負載均衡探測模板。
當TCP RST、TCP zero-window或HTTP passive類型的負載均衡探測模板被實服務組引用後,在負載均衡探測模板的監控周期內,設備可以統計出實服務組中每個實服務器發送的RST報文的個數和zero-window(零窗口)報文的個數以及HTTP響應報文中的異常URL次數,以此來判斷實服務器的健康狀態,並執行相應的保護動作。設備支持配置以下兩種保護動作:
· 設置實服務器為繁忙狀態:當實服務器發送的RST報文或零窗口報文達到配置的閾值時,係統會將實服務器的狀態標記為繁忙,然後以繁忙保護時間為間隔再次對實服務器進行檢查。若實服務器在繁忙保護時間內發送的RST報文或零窗口報文未達到配置的閾值,則實服務器恢複正常狀態,否則繼續以繁忙保護時間為間隔檢查實服務器,直到達到實服務器的繁忙保護次數為止。達到繁忙保護次數後,係統會自動關閉實服務器,此時實服務器的狀態為Auto shutdown。
· 關閉實服務器:當實服務器發送的RST報文、零窗口報文或異常URL次數達到配置的閾值時,係統會自動關閉實服務器,此時實服務器的狀態為Auto shutdown。
當自定義監控類型的負載均衡探測模板被實服務組、實服務組成員或實服務器引用後,在負載均衡探測模板的監控周期內,設備通過調用用戶配置的監控腳本文件,完成對實服務器狀態的監控。
HTTP passive類型的負載均衡探測模板的保護動作隻有Auto shutdown且不可配置。
在雙機熱備的組網環境中,建議通過Web頁麵上傳自定義監控模板引用的腳本文件。
(1) 進入係統視圖。
system-view
(2) 創建RST類型負載均衡探測模板,並進入負載均衡探測模板視圖。
loadbalance probe-template tcp-rst template-name
(3) (可選)配置負載均衡探測模板的描述信息。
description text
缺省情況下,未配置負載均衡探測模板的描述信息。
(4) 配置TCP RST類型負載均衡探測模板的監控周期。
monitor-interval interval-time
缺省情況下,TCP RST類型負載均衡探測模板的監控周期為10秒。
(5) 配置RST報文的上限閾值。
rst threshold number
缺省情況下,RST報文的上限閾值為1000000。
(6) 配置負載均衡探測模板的保護動作。
protect-action { auto-shutdown | busy [ probe-interval interval ] [ probe-times times ] }
缺省情況下,負載均衡探測模板的保護動作為設置實服務器為繁忙狀態。
(1) 進入係統視圖。
system-view
(2) 創建TCP zero-window類型負載均衡探測模板,並進入負載均衡探測模板視圖。
loadbalance probe-template tcp-zero-window template-name
(3) (可選)配置負載均衡探測模板的描述信息。
description text
缺省情況下,未配置負載均衡探測模板的描述信息。
(4) 配置TCP zero-window類型負載均衡探測模板的監控周期。
monitor-interval interval-time
缺省情況下,TCP zero-window類型負載均衡探測模板的監控周期為10秒。
(5) 配置零窗口報文的上限閾值。
zero-window threshold percentage
缺省情況下,零窗口報文的上限閾值為40%。
(6) 配置負載均衡探測模板的保護動作。
protect-action { auto-shutdown | busy [ probe-interval interval ] [ probe-times times ] }
缺省情況下,負載均衡探測模板的保護動作為設置實服務器為繁忙狀態。
(1) 進入係統視圖。
system-view
(2) 創建HTTP passive類型負載均衡探測模板,並進入負載均衡探測模板視圖。
loadbalance probe-template http-passive template-name
(3) (可選)配置負載均衡探測模板的描述信息。
description text
缺省情況下,未配置負載均衡探測模板的描述信息。
(4) 配置HTTP passive類型負載均衡探測模板的監控周期。
monitor-interval interval-time
缺省情況下,HTTP passive類型負載均衡探測模板的監控周期為1秒。
(5) 配置異常URL次數的上限閾值。
abnormal-url threshold number
缺省情況下,異常URL次數的上限閾值為10000。
(6) 配置負載均衡探測模板所要檢查的URL。
check-url url
缺省情況下,未配置HTTP passive類型探測模板所要檢查的URL。
每個探測模板最多允許配置10個URL的正則表達式。
(7) 配置負載均衡探測模板所要檢查的響應狀態碼。
status-code code
缺省情況下,未配置HTTP passive類型探測模板所要檢查的響應狀態碼。
每個探測模板最多允許配置10個響應狀態碼。
(8) 配置HTTP passive類型探測模板的響應超時時間。
timeout timeout
缺省情況下,HTTP passive類型探測模板的響應超時時間為5秒。
(1) 進入係統視圖。
system-view
(2) 創建自定義監控類型負載均衡探測模板,並進入負載均衡探測模板視圖。
loadbalance probe-template external-monitor template-name
(3) (可選)配置負載均衡探測模板的描述信息。
description text
缺省情況下,未配置負載均衡探測模板的描述信息。
(4) 配置自定義監控類型負載均衡探測模板的監控周期。
monitor-interval interval-time
缺省情況下,自定義監控類型負載均衡探測模板的監控周期為5秒。
(5) 配置自定義監控類型負載均衡探測模板引用的腳本文件。
external-script file-name
缺省情況下,未配置自定義監控類型負載均衡探測模板引用的腳本文件。
(6) 配置自定義監控的環境變量。
env-variables variable-name value variable-value
缺省情況下,未配置自定義監控的環境變量。
(7) 配置自定義監控的用戶自定義信息。
argument text
缺省情況下,未配置自定義監控的用戶自定義信息。
(8) 配置自定義監控類型負載均衡探測模板的響應超時時間。
timeout timeout
缺省情況下,自定義監控類型負載均衡探測模板的響應超時時間為3秒。
(9) 退回係統視圖。
quit
(10) 配置設備允許啟動的自定義監控進程個數。
loadbalance process-limit number
缺省情況下,設備允許啟動的自定義監控進程個數為1個。
通過配置SNAT全局策略可將設備收到報文的源地址轉換為指定地址。
用戶既可在係統視圖下配置SNAT全局策略,也可在實服務組視圖下配置SNAT功能,後者的配置優先級較高。隻有在實服務組視圖下未配置SNAT功能時,SNAT全局策略才會生效,即所有實服務組均采用SNAT全局策略進行源地址轉換。
SNAT全局策略配置任務如下:
(1) 創建SNAT全局策略
(2) 配置SNAT地址轉換方式
(3) (可選)配置SNAT全局策略匹配優先級
(4) (可選)配置進行SNAT地址轉換的過濾條件
(5) (可選)指定SNAT全局策略所屬的VPN實例
(6) 開啟SNAT全局策略
(1) 進入係統視圖。
system-view
(2) 創建SNAT全局策略,並進入SNAT全局策略視圖。
loadbalance snat-global-policy policy-name
(3) (可選)配置SNAT全局策略的描述信息。
description text
缺省情況下,未配置SNAT全局策略的描述信息。
設備支持在SNAT全局策略中配置兩種SNAT地址轉換方式:
· 自動映射:采用設備與實服務器通信的接口地址進行SNAT地址轉換。
· SNAT地址池:根據配置的SNAT地址池進行SNAT地址轉換。設備將報文的源地址修改為SNAT地址池中的地址後再轉發出去。
(1) 進入係統視圖。
system-view
(2) 進入SNAT全局策略視圖。
loadbalance snat-global-policy policy-name
(3) 配置SNAT地址轉換方式。
translation-mode { auto-map | snat-pool pool-name }
缺省情況下,未配置SNAT地址轉換方式。
設備允許同時配置多個SNAT全局策略,優先級越大,越優先匹配。
(1) 進入係統視圖。
system-view
(2) 進入SNAT全局策略視圖。
loadbalance snat-global-policy policy-name
(3) 配置SNAT全局策略的優先級。
priority priority
缺省情況下,SNAT全局策略的優先級為0。
若配置了進行SNAT地址轉換的源IP地址對象組,則僅對匹配指定源IP地址的流量進行SNAT地址轉換。有關IP地址對象的配置請參見“安全配置指導”中的“對象組”。
(1) 進入係統視圖。
system-view
(2) 進入SNAT全局策略視圖。
loadbalance snat-global-policy policy-name
(3) 配置進行SNAT地址轉換的源IP地址對象組。
source-ip object-group object-group-name
缺省情況下,對所有源IP地址的流量都進行SNAT地址轉換。
若配置了進行SNAT地址轉換的目的IP地址對象組,則僅對匹配指定目的IP地址的流量進行SNAT地址轉換。有關IP地址對象的配置請參見“安全配置指導”中的“對象組”。
(1) 進入係統視圖。
system-view
(2) 進入SNAT全局策略視圖。
loadbalance snat-global-policy policy-name
(3) 配置進行SNAT地址轉換的目的IP地址對象組。
destination-ip object-group object-group-name
缺省情況下,對所有流量都進行SNAT地址轉換。
若配置了進行SNAT地址轉換的服務對象組,則僅對匹配指定服務的流量進行SNAT地址轉換。有關服務對象組的配置請參見“安全配置指導”中的“對象組”。
(1) 進入係統視圖。
system-view
(2) 進入SNAT全局策略視圖。
loadbalance snat-global-policy policy-name
(3) 配置進行SNAT地址轉換的服務對象組。
service object-group object-group-name
缺省情況下,對所有服務類型的流量都進行SNAT地址轉換。
(1) 進入係統視圖。
system-view
(2) 進入SNAT全局策略視圖。
loadbalance snat-global-policy policy-name
(3) 指定SNAT全局策略所屬的VPN實例。
vpn-instance vpn-instance-name
缺省情況下,SNAT全局策略屬於公網。
(1) 進入係統視圖。
system-view
(2) 進入SNAT全局策略視圖。
loadbalance snat-global-policy policy-name
(3) 開啟SNAT全局策略。
snat enable
缺省情況下, SNAT全局策略處於關閉狀態。
通過引用負載均衡連接數限製,可以對設備上建立的連接數進行統計和限製,能夠有效解決因某些用戶在短時間內經過設備向內部網絡發起大量連接,導致設備係統或服務器資源迅速消耗,其它用戶無法正常使用網絡資源的問題,實現保護內部網絡資源(主機或服務器)以及合理分配設備係統資源的目的。
一個連接數限製策略中可配置多條連接數限製規則,每條規則中指定一個連接數限製的用戶範圍,屬於該範圍的用戶可建立的連接數將受到該規則中指定參數的限製。當某類型的連接數達到上限值(max-amount)時,設備將不接受該類型的新建連接請求,直到設備上已有連接因老化而刪除,使得當前該類型的連接數低於連接數下限(min-amount)後,才允許新建連接。對於未匹配連接數限製規則的用戶所建立的連接,設備不對其連接數進行限製。
目前,連接數限製支持根據ACL來限定用戶範圍,對匹配ACL規則的訪問虛服務器的連接數進行統計和限製。
(1) 進入係統視圖。
system-view
(2) 創建負載均衡連接數限製策略,並進入連接數限製策略視圖。
loadbalance limit-policy policy-name
(3) 配置負載均衡連接數限製規則。
limit limit-id acl [ ipv6 ] { acl-number | name acl-name } [ per-destination | per-service | per-source ] * amount max-amount min-amount
缺省情況下,負載均衡連接數限製策略中不存在任何限製規則。
(4) (可選)配置負載均衡連接數限製策略的描述信息。
description text
缺省情況下,未配置負載均衡連接數限製策略的描述信息。
負載均衡ALG(Application Level Gateway,應用層網關)功能用於將父、子會話分發到同一條鏈路上。
在IPv6網絡中,設備不支持SIP協議的負載均衡ALG功能。
SIP分片報文不支持負載均衡ALG功能。
(1) 進入係統視圖。
system-view
(2) 開啟指定協議的負載均衡ALG功能。
loadbalance alg { dns | ftp | h323 | icmp-error | ils | mgcp | nbt | pptp | rsh | rtsp | sccp | sip | sqlnet | tftp | xdmcp }
缺省情況下,ftp、dns、pptp、rtsp和icmp-error協議的負載均衡ALG功能均處於開啟狀態。
(3) 開啟所有協議的負載均衡ALG功能。
loadbalance alg all-enable
缺省情況下,dns、ftp、pptp、rtsp和icmp-error協議的負載均衡ALG功能均處於開啟狀態。
若配置了對指定的HTTP請求進行代答或配置了負載均衡處理失敗時的代答文件,當指定的代答文件發生變化後,需要通過本配置進行重新加載,否則代答文件無法生效。
(1) 進入係統視圖。
system-view
(2) 配置重新加載代答文件。
reload http-response { file filename }
用戶可以通過指定報文的協議類型、源IPv4/IPv6地址、源端口、目的IPv4/IPv6地址和目的端口,測試報文的負載均衡效果。
可在任意視圖下執行本命令,測試IPv4負載均衡的效果。
loadbalance schedule-test ip [ vpn-instance vpn-instance-name ] { application http { message-file file-name | method { get | post } url url [ header header ]&<1-10> [ content content-value ] } | protocol { protocol-number | icmp | tcp | udp } } destination destination-address destination-port destination-port source source-address source-port source-port [ slot slot-number ]
可在任意視圖下執行本命令,測試IPv6負載均衡的效果。
loadbalance schedule-test ipv6 [ vpn-instance vpn-instance-name ] { application http { message-file file-name | method { get | post } url url [ header header ]&<1-10> [ content content-value ] } | protocol { protocol-number | icmpv6 | tcp | udp } } destination destination-address destination-port destination-port source source-address source-port source-port [ slot slot-number ]
開啟了負載均衡的告警功能之後,負載均衡會生成告警信息,以向網管軟件報告本模塊的重要事件。該信息將發送至SNMP模塊,通過設置SNMP中告警信息的發送參數,來決定告警信息輸出的相關屬性。有關告警信息的詳細介紹,請參見“網絡管理和監控配置指導”中的“SNMP”。
四層和七層服務器負載均衡的負載均衡告警功能配置完全相同。
(1) 進入係統視圖。
system-view
(2) 開啟負載均衡的告警功能。
snmp-agent trap enable loadbalance
缺省情況下,負載均衡的告警功能處於開啟狀態。
負載均衡日誌是為了滿足網絡管理員安全審計的需要,對負載均衡相關信息進行的記錄,包括負載均衡基本日誌和負載均衡NAT日誌。
通過開啟負載均衡基本日誌功能,可在以下幾種情況下輸出日誌信息:
· 實服務器或實服務組的狀態變化。
· 實服務器的健康檢測結果發生變化。
· 實服務器或虛服務器的連接數達到上限或者恢複到正常範圍內。
· 實服務器或虛服務器的連接速率達到上限或者恢複到正常範圍內。
· 虛服務器引用的缺省實服務器組主備切換。
· 負載均衡動作引用的實服務器組主備切換。
通過開啟負載均衡NAT日誌功能,可以實現對源或目的地址進行過NAT轉換的連接信息進行記錄,包括IP地址及端口的轉換信息、用戶的訪問信息等。
(1) 進入係統視圖。
system-view
(2) 開啟負載均衡基本日誌功能。
loadbalance log enable base
缺省情況下,負載均衡基本日誌功能處於開啟狀態。
(1) 進入係統視圖。
system-view
(2) 開啟負載均衡NAT日誌功能。
loadbalance log enable nat
缺省情況下,負載均衡NAT日誌功能處於關閉狀態。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後服務器負載均衡的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下執行reset命令可以清除服務器負載均衡的統計信息。
配置 |
命令 |
顯示負載均衡動作的信息 |
display loadbalance action [ name action-name ] |
顯示負載均衡類的信息 |
display loadbalance class [ name class-name ] |
顯示七層負載均衡的TCP連接信息 |
display loadbalance connections [ client-side{ ipv4 | ipv6 } [ cs-client-ip ip-address [ cs-client-port port-number ] ] [ cs-server-ip ip-address [ cs-server-port port-number ] ] [ state { closed | close_wait | closing | established | fin_wait_1 | fin_wait_2 | last_ack | listening | syn_received | syn_sent | time_wait } ] ] [ server-side { ipv4 | ipv6 } [ ss-client-ip ip-address [ ss-client-port port-number ] ] [ ss-server-ip ip-address [ ss-server-port port-number ] ] [ state { closed | close_wait | closing | established | fin_wait_1 | fin_wait_2 | last_ack | listening | syn_received | syn_sent | time_wait } ] ] [ slot slot-number ] [ verbose ] |
顯示外鏈代理正在查詢的域名信息 |
display loadbalance dns-query [ vpn-instance vpn-instance-name ] display loadbalance dns-query [ vpn-instance vpn-instance-name ] [ slot slot-number ] |
顯示負載均衡熱備份的統計信息 |
display loadbalance hot-backup statistics [ slot slot-number ] |
顯示負載均衡連接數限製策略配置信息 |
display loadbalance limit-policy [ name policy-name ] |
顯示負載均衡策略的信息 |
display loadbalance policy [ name policy-name ] |
顯示設備允許啟動的自定義監控進程個數 |
display loadbalance process-limit |
顯示負載均衡探測模板的信息 |
display loadbalance probe-template [ name template-name ] |
顯示防護策略的配置信息 |
display loadbalance protection-policy [ name policy-name ] |
顯示SNAT全局策略的信息 |
display loadbalance snat-global-policy [ name policy-name ] |
顯示SNAT地址池的信息 |
display loadbalance snat-pool [ name pool-name ] |
顯示所有虛服務器的累加統計信息 |
display loadbalance virtual-server total-statistics [ slot slot-number ] |
顯示參數模板的信息 |
display parameter-profile [ name parameter-name ] |
顯示實服務器的信息 |
display real-server [ brief | name real-server-name ] |
顯示實服務組成員的信息 |
display real-server server-farm server-farm-name [ name real-server-name port port-number ] |
顯示實服務器的統計信息 |
display real-server statistics [ name real-server-name ] [ slot slot-number ] |
顯示實服務組成員的統計信息 |
display real-server statistics server-farm server-farm-name [ name real-server-name port port-number ] [ slot slot-number ] |
顯示實服務組的信息 |
display server-farm [ brief | name server-farm-name ] |
顯示持續性表項的統計信息 |
display sticky statistics [ dns-proxy | virtual-server ] display sticky statistics [ dns-proxy | virtual-server ] [ slot slot-number ] |
顯示虛服務器的持續性表項信息 |
display sticky virtual-server [ virtual-server-name virtual-server-name ] [ [ link { ip ipv4-address | ipv6 ipv6-address | interface { interface-type interface-number | interface-name } } | link-group link-group-name ] * | [ real-server-addr { ipv4-address | ipv6-address } | real-server-port port-number | server-farm server-farm-name | text text ] * ] [ class { class-name | default-class } | client-addr { ipv4-address | ipv6-address } | sticky-type { address-port | http-content | http-cookie | http-header | http-passive | payload | radius | sip | ssl | tcp-payload | udp-passive } [ key sticky-key ] ] * [ brief ] display sticky virtual-server [ virtual-server-name virtual-server-name ] [ [ link { ip ipv4-address | ipv6 ipv6-address | interface { interface-type interface-number | interface-name } } | link-group link-group-name ] * | [ real-server-addr { ipv4-address | ipv6-address } | real-server-port port-number | server-farm server-farm-name | text text ] * ] [ class { class-name | default-class } | client-addr { ipv4-address | ipv6-address } | sticky-type { address-port | http-content | http-cookie | http-header | http-passive | payload | radius | sip | ssl | tcp-payload | udp-passive } [ key sticky-key ] ] * [ brief ] [ slot slot-number ] |
顯示持續性組的信息 |
display sticky-group [ name group-name ] |
顯示虛服務器的信息 |
display virtual-server [ brief | name virtual-server-name ] |
顯示虛服務器的統計信息 |
display virtual-server statistics [ name virtual-server-name ] [ slot slot-number ] |
顯示所有協議的負載均衡ALG狀態 |
display loadbalance alg |
測試PCRE正則表達式的匹配效果,並顯示匹配結果 |
loadbalance test pcre value value { string string | file file-name } [ offset offset ] [ case-insensitive ] |
測試根據正則表達式重寫的效果,並顯示重寫結果 |
loadbalance test rewrite value value replace replace-string { string string | file file-name } [ offset offset ] [ case-insensitive ] |
清除負載均衡熱備份的統計信息 |
reset loadbalance hot-backup statistics |
清除實服務器的統計信息 |
reset real-server statistics [ real-server-name ] |
清除實服務組成員的統計信息 |
reset real-server statistics server-farm server-farm-name [ name real-server-name port port-number ] |
清除虛服務器的持續性表項信息 |
reset sticky virtual-server [ virtual-server-name virtual-server-name ] [ [ link { ip ipv4-address | ipv6 ipv6-address | interface { interface-type interface-number | interface-name } } | link-group link-group-name ] * | [ real-server-addr { ipv4-address | ipv6-address } | real-server-port port-number | server-farm server-farm-name | text text ] * ] [ class { class-name | default-class } | client-addr { ipv4-address | ipv6-address } | sticky-type { address-port | http-content | http-cookie | http-header | http-passive | payload | radius | sip | ssl | tcp-payload | udp-passive } [ key sticky-key ] ] * reset sticky virtual-server [ virtual-server-name virtual-server-name ] [ [ link { ip ipv4-address | ipv6 ipv6-address | interface { interface-type interface-number | interface-name } } | link-group link-group-name ] * | [ real-server-addr { ipv4-address | ipv6-address } | real-server-port port-number | server-farm server-farm-name | text text ] * ] [ class { class-name | default-class } | client-addr { ipv4-address | ipv6-address } | sticky-type { address-port | http-content | http-cookie | http-header | http-passive | payload | radius | sip | ssl | tcp-payload | udp-passive } [ key sticky-key ] ] * [ slot slot-number ] |
清除虛服務器的統計信息 |
reset virtual-server statistics [ virtual-server-name ] |
三台物理服務器Server A、Server B和Server C均可提供FTP服務,且這三台服務器的硬件配置順次降低。通過配置服務器負載均衡,在考慮硬件性能的前提下讓這三台服務器聯合提供FTP服務,並通過健康檢測來監控這些服務器是否可達。
圖2-11 四層服務器負載均衡基本功能配置組網圖
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 61.159.4.100 255.255.255.0
[Device-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置靜態路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設到達Host的下一跳IP地址為61.159.4.1,實際使用中請以具體組網情況為準,具體配置步驟如下。
[Device] ip route-static 1.1.1.1 24 61.159.4.1
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[Device] security-zone name untrust
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/1
[Device-security-zone-Untrust] quit
[Device] security-zone name trust
[Device-security-zone-Trust] import interface gigabitethernet 1/0/2
[Device-security-zone-Trust] quit
(4) 配置安全策略
配置安全策略放行Untrust與Trust安全域、Local與Trust安全域之間的流量,用於用戶訪問FTP服務器。
# 配置名稱為lbrule1的安全策略規則,使用戶可以訪問FTP服務器,具體配置步驟如下。
[Device] security-policy ip
[Device-security-policy-ip] rule name lbrule1
[Device-security-policy-ip-1-lbrule1] source-zone untrust
[Device-security-policy-ip-1-lbrule1] destination-zone trust
[Device-security-policy-ip-1-lbrule1] destination-ip-subnet 192.168.1.0 255.255.255.0
[Device-security-policy-ip-1-lbrule1] action pass
[Device-security-policy-ip-1-lbrule1] quit
# 配置名稱為lblocalout的安全策略規則,使Device可以向FTP服務器發送健康檢測報文,具體配置步驟如下。
[Device-security-policy-ip] rule name lblocalout
[Device-security-policy-ip-2-lblocalout] source-zone local
[Device-security-policy-ip-2-lblocalout] destination-zone trust
[Device-security-policy-ip-2-lblocalout] destination-ip-subnet 192.168.1.0 255.255.255.0
[Device-security-policy-ip-2-lblocalout] action pass
[Device-security-policy-ip-2-lblocalout] quit
[Device-security-policy-ip] quit
(5) 配置實服務組
# 創建ICMP類型的NQA模板t1。
[Device] nqa template icmp t1
[Device-nqatplt-icmp-t1] quit
# 創建實服務組sf,配置其調度算法為加權輪轉算法,並指定其健康檢測方法為t1。
[Device] server-farm sf
[Device-sfarm-sf] predictor round-robin
[Device-sfarm-sf] probe t1
[Device-sfarm-sf] quit
(6) 配置實服務器
# 創建實服務器rs1,配置其IPv4地址為192.168.1.1、端口號為21、權值為150,並加入實服務組sf。
[Device] real-server rs1
[Device-rserver-rs1] ip address 192.168.1.1
[Device-rserver-rs1] port 21
[Device-rserver-rs1] weight 150
[Device-rserver-rs1] server-farm sf
[Device-rserver-rs1] quit
# 創建實服務器rs2,配置其IPv4地址為192.168.1.2、端口號為21、權值為120,並加入實服務組sf。
[Device] real-server rs2
[Device-rserver-rs2] ip address 192.168.1.2
[Device-rserver-rs2] port 21
[Device-rserver-rs2] weight 120
[Device-rserver-rs2] server-farm sf
[Device-rserver-rs2] quit
# 創建實服務器rs3,配置其IPv4地址為192.168.1.3、端口號為21、權值為80,並加入實服務組sf。
[Device] real-server rs3
[Device-rserver-rs3] ip address 192.168.1.3
[Device-rserver-rs3] port 21
[Device-rserver-rs3] weight 80
[Device-rserver-rs3] server-farm sf
[Device-rserver-rs3] quit
(7) 配置虛服務器
# 創建TCP類型的虛服務器vs,配置其VSIP為61.159.4.200,指定其缺省主用實服務組為sf,並開啟此虛服務器。
[Device] virtual-server vs type tcp
[Device-vs-tcp-vs] virtual ip address 61.159.4.200
[Device-vs-tcp-vs] default server-farm sf
[Device-vs-tcp-vs] service enable
#指定發送免費ARP報文或者ND報文的接口。當設備接口IP地址與虛服務器的IP地址同網段時,通過指定接口發送免費ARP報文或者ND報文。
[Device-vs-tcp-vs] arp-nd interface GigabitEthernet 1/0/1
[Device-vs-tcp-vs] quit
在三台物理服務器Server A、Server B和Server C上,將缺省網關都配置為192.168.1.100。
# 顯示所有實服務器的簡要信息。
[Device] display real-server brief
Real server Address Port State VPN instance Server farm
rs1 192.168.1.1 21 Active sf
rs2 192.168.1.2 21 Active sf
rs3 192.168.1.3 21 Active sf
# 顯示所有實服務組的詳細信息。
[Device] display server-farm
Server farm: sf
Description:
Predictor: Round robin
Proximity: Disabled
NAT: Enabled
SNAT pool:
Failed action: Keep
Active threshold: Disabled
Slow-online: Disabled
Selected server: Disabled
Probe information:
Probe success criteria: All
Probe method:
t1
Total real server: 3
Active real server: 3
Real server list:
Name State VPN instance Address Port Weight Priority
rs1 Active 192.168.1.1 21 150 4
rs2 Active 192.168.1.2 21 120 4
rs3 Active 192.168.1.3 21 80 4
# 顯示所有虛服務器的詳細信息。
[Device] display virtual-server
Virtual server: vs
Description:
Type: TCP
State: Active
VPN instance:
Virtual IPv4 address: 61.159.4.200/32
Virtual IPv6 address: --
Port: 0
Primary server farm: sf (in use)
Backup server farm:
Sticky:
LB policy:
LB limit-policy:
Connection limit: --
Rate limit:
Connections: --
Bandwidth: --
Inbound bandwidth: --
Outbound bandwidth: --
SSL server policy:
Connection synchronization: Disabled
Sticky synchronization: Disabled
Bandwidth busy protection: Disabled
Interface bandwidth statistics: Disabled
Route advertisement: Disabled
· 三台物理服務器Server A、Server B和Server C均可提供FTP服務,且這三台服務器的硬件配置順次降低。通過配置服務器負載均衡,在考慮硬件性能的前提下讓這三台服務器聯合提供FTP服務,並通過健康檢測來監控這些服務器是否可達。
· 為了提高可靠性,由兩台負載均衡設備采用雙機熱備方式進行組網。在這兩台負載均衡設備上,要實現會話擴展信息和持續性表項的實時批量備份,以確保主備倒換過程中服務不中斷。
圖2-12 四層服務器負載均衡雙機熱備配置組網圖
(1) 配置接口IP地址、路由、安全域及域間策略保證網絡可達,具體配置步驟略。
(2) 配置IRF
將Device配置成一台IRF設備,它們在IRF中的成員編號分別為1和2,有關IRF的相關配置過程略,具體請參考“虛擬化配置指導”中的“IRF”。
(3) 配置以太網冗餘接口
# 創建以太網冗餘接口Reth1,為其配置IP地址並添加成員接口。
[Device] interface reth 1
[Device-Reth1] ip address 61.159.4.100 24
[Device-Reth1] member interface gigabitethernet 1/0/1 priority 20
[Device-Reth1] member interface gigabitethernet 2/0/1 priority 10
[Device-Reth1] quit
# 創建以太網冗餘接口Reth2,為其配置IP地址並添加成員接口。
[Device] interface reth 2
[Device-Reth2] ip address 192.168.1.100 24
[Device-Reth2] member interface gigabitethernet 1/0/2 priority 20
[Device-Reth2] member interface gigabitethernet 2/0/2 priority 10
[Device-Reth2] quit
(4) 配置冗餘組
# 分別創建四個Track項,各自監視一個以太網接口的狀態。
[Device] track 1 interface gigabitethernet 1/0/1
[Device] track 2 interface gigabitethernet 1/0/2
[Device] track 3 interface gigabitethernet 2/0/1
[Device] track 4 interface gigabitethernet 2/0/2
# 創建冗餘組bkp,並為其添加成員接口Reth1和Reth2。
[Device] redundancy group bkp
[Device-redundancy-group-bkp] member interface reth 1
[Device-redundancy-group-bkp] member interface reth 2
# 創建冗餘組主節點1(優先級為100),將其與成員設備1綁定,並關聯Track項1和2。
[Device-redundancy-group-bkp] node 1
[Device-redundancy-group-bkp-node-1] priority 100
[Device-redundancy-group-bkp-node-1] bind slot 1
[Device-redundancy-group-bkp-node-1] track 1 interface gigabitethernet 1/0/1
[Device-redundancy-group-bkp-node-1] track 2 interface gigabitethernet 1/0/2
[Device-redundancy-group-bkp-node-1] quit
# 創建冗餘組備節點2(優先級為50),將其與成員設備2綁定,並關聯Track項3和4。
[Device-redundancy-group-bkp] node 2
[Device-redundancy-group-bkp-node2] priority 50
[Device-redundancy-group-bkp-node2] bind slot 2
[Device-redundancy-group-bkp-node2] track 3 interface gigabitethernet 2/0/1
[Device-redundancy-group-bkp-node2] track 4 interface gigabitethernet 2/0/2
[Device-redundancy-group-bkp-node2] quit
[Device-redundancy-group-bkp] quit
(5) 配置會話備份
# 開啟會話業務熱備份能。
[Device] session synchronization enable
(6) 配置實服務組
# 創建ICMP類型的NQA模板t1。
[Device] nqa template icmp t1
[Device-nqatplt-icmp-t1] quit
# 創建實服務組sf,配置其調度算法為加權輪轉算法,並指定其健康檢測方法為t1。
[Device] server-farm sf
[Device-sfarm-sf] predictor round-robin
[Device-sfarm-sf] probe t1
[Device-sfarm-sf] quit
(7) 配置實服務器
# 創建實服務器rs1,配置其IPv4地址為192.168.1.1、端口號為21、權值為150,並加入實服務組sf。
[Device] real-server rs1
[Device-rserver-rs1] ip address 192.168.1.1
[Device-rserver-rs1] port 21
[Device-rserver-rs1] weight 150
[Device-rserver-rs1] server-farm sf
[Device-rserver-rs1] quit
# 創建實服務器rs2,配置其IPv4地址為192.168.1.2、端口號為21、權值為120,並加入實服務組sf。
[Device] real-server rs2
[Device-rserver-rs2] ip address 192.168.1.2
[Device-rserver-rs2] port 21
[Device-rserver-rs2] weight 120
[Device-rserver-rs2] server-farm sf
[Device-rserver-rs2] quit
# 創建實服務器rs3,配置其IPv4地址為192.168.1.3、端口號為21、權值為80,並加入實服務組sf。
[Device] real-server rs3
[Device-rserver-rs3] ip address 192.168.1.3
[Device-rserver-rs3] port 21
[Device-rserver-rs3] weight 80
[Device-rserver-rs3] server-farm sf
[Device-rserver-rs3] quit
(8) 配置虛服務器
# 創建TCP類型的虛服務器vs,配置其VSIP為61.159.4.200,指定其缺省主用實服務組為sf,分別開啟會話擴展信息和持續性表項的備份功能,並開啟此虛服務器。
[Device] virtual-server vs type tcp
[Device-vs-tcp-vs] virtual ip address 61.159.4.200
[Device-vs-tcp-vs] default server-farm sf
[Device-vs-tcp-vs] connection-sync enable
[Device-vs-tcp-vs] sticky-sync enable
[Device-vs-tcp-vs] service enable
[Device-vs-tcp-vs] quit
在三台物理服務器Server A、Server B和Server C上,將缺省網關都配置為192.168.1.100。
# 顯示冗餘組bkp的相關信息。
[Device] display redundancy group bkp
Redundancy group bkp (ID 1):
Node ID Slot Priority Status Track weight
1 Slot1 100 Primary 255
2 Slot2 50 Secondary 255
Preempt delay time remained : 0 min
Preempt delay timer setting : 1 min
Remaining hold-down time : 0 sec
Hold-down timer setting : 1 sec
Manual switchover request : No
Member interfaces:
Reth1 Reth2
Member failover groups:
Node 1:
Track info:
Track Status Reduced weight Interface
1 Positive 255 GE1/0/1
2 Positive 255 GE1/0/2
Node 2:
Track info:
Track Status Reduced weight Interface
3 Negative 255 GE2/0/1
4 Negative 255 GE2/0/2
# 顯示所有實服務器的簡要信息。
[Device] display real-server brief
Real server Address Port State VPN instance Server farm
rs1 192.168.1.1 21 Active sf
rs2 192.168.1.2 21 Active sf
rs3 192.168.1.3 21 Active sf
# 顯示所有實服務組的詳細信息。
[Device] display server-farm
Server farm: sf
Description:
Predictor: Round robin
Proximity: Disabled
NAT: Enabled
SNAT pool:
Failed action: Keep
Active threshold: Disabled
Slow-online: Disabled
Selected server: Disabled
Probe information:
Probe success criteria: All
Probe method:
t1
Total real server: 3
Active real server: 3
Real server list:
Name State VPN instance Address Port Weight Priority
rs1 Active 192.168.1.1 21 150 4
rs2 Active 192.168.1.2 21 120 4
rs3 Active 192.168.1.3 21 80 4
# 顯示所有虛服務器的詳細信息。
[Device] display virtual-server
Virtual server: vs
Description:
Type: TCP
State: Active
VPN instance:
Virtual IPv4 address: 61.159.4.200/32
Virtual IPv6 address: --
Port: 0
Primary server farm: sf (in use)
Backup server farm:
Sticky:
LB policy:
LB limit-policy:
Connection limit: --
Rate limit:
Connections: --
Bandwidth: --
Inbound bandwidth: --
Outbound bandwidth: --
SSL server policy:
Connection synchronization: Enabled
Sticky synchronization: Enabled
Bandwidth busy protection: Disabled
Interface bandwidth statistics: Disabled
Route advertisement: Disabled
三台物理服務器Server A、Server B和Server C均可提供HTTP服務,且這三台服務器的硬件配置順次降低。通過配置服務器負載均衡,在考慮硬件性能的前提下讓這三台服務器聯合提供HTTP服務,並通過健康檢測來監控這些服務器是否可達。
圖2-13 七層服務器負載均衡基本功能配置組網圖
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 61.159.4.100 255.255.255.0
[Device-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置靜態路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設到達Host的下一跳IP地址為61.159.4.1,實際使用中請以具體組網情況為準,具體配置步驟如下。
[Device] ip route-static 1.1.1.1 24 61.159.4.1
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[Device] security-zone name untrust
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/1
[Device-security-zone-Untrust] quit
[Device] security-zone name trust
[Device-security-zone-Trust] import interface gigabitethernet 1/0/2
[Device-security-zone-Trust] quit
(4) 配置安全策略
配置安全策略放行Untrust與Local安全域、Local與Trust安全域之間的流量,用於用戶訪問服務器。
# 配置名稱為lblocalin的安全策略規則,使用戶可以向Device發送報文,具體配置步驟如下。
[Device] security-policy ip
[Device-security-policy-ip] rule name lblocalin
[Device-security-policy-ip-1-lblocalin] source-zone untrust
[Device-security-policy-ip-1-lblocalin] destination-zone local
[Device-security-policy-ip-1-lblocalin] destination-ip-subnet 61.159.4.0 255.255.255.0
[Device-security-policy-ip-1-lblocalin] action pass
[Device-security-policy-ip-1-lblocalin] quit
# 配置名稱為lblocalout的安全策略規則,使Device可以向服務器發送報文,具體配置步驟如下。
[Device-security-policy-ip] rule name lblocalout
[Device-security-policy-ip-2-lblocalout] source-zone local
[Device-security-policy-ip-2-lblocalout] destination-zone trust
[Device-security-policy-ip-2-lblocalout] destination-ip-subnet 192.168.1.0 255.255.255.0
[Device-security-policy-ip-2-lblocalout] action pass
[Device-security-policy-ip-2-lblocalout] quit
[Device-security-policy-ip] quit
(5) 配置實服務組
# 創建HTTP類型的NQA模板t1。
[Device] nqa template http t1
[Device-nqatplt-http-t1] quit
# 創建實服務組sf,配置其調度算法為加權輪轉算法,並指定其健康檢測方法為t1。
[Device] server-farm sf
[Device-sfarm-sf] predictor round-robin
[Device-sfarm-sf] probe t1
[Device-sfarm-sf] quit
(6) 配置實服務器
# 創建實服務器rs1,配置其IPv4地址為192.168.1.1、端口號為8080、權值為150,並加入實服務組sf。
[Device] real-server rs1
[Device-rserver-rs1] ip address 192.168.1.1
[Device-rserver-rs1] port 8080
[Device-rserver-rs1] weight 150
[Device-rserver-rs1] server-farm sf
[Device-rserver-rs1] quit
# 創建實服務器rs2,配置其IPv4地址為192.168.1.2、端口號為8080、權值為120,並加入實服務組sf。
[Device] real-server rs2
[Device-rserver-rs2] ip address 192.168.1.2
[Device-rserver-rs2] port 8080
[Device-rserver-rs2] weight 120
[Device-rserver-rs2] server-farm sf
[Device-rserver-rs2] quit
# 創建實服務器rs3,配置其IPv4地址為192.168.1.3、端口號為8080、權值為80,並加入實服務組sf。
[Device] real-server rs3
[Device-rserver-rs3] ip address 192.168.1.3
[Device-rserver-rs3] port 8080
[Device-rserver-rs3] weight 80
[Device-rserver-rs3] server-farm sf
[Device-rserver-rs3] quit
(7) 配置虛服務器
# 創建HTTP類型的虛服務器vs,配置其VSIP為61.159.4.200,指定其缺省主用實服務組為sf,並開啟此虛服務器。
[Device] virtual-server vs type http
[Device-vs-http-vs] virtual ip address 61.159.4.200
[Device-vs-http-vs] default server-farm sf
[Device-vs-http-vs] service enable
#指定發送免費ARP報文或者ND報文的接口。當設備接口IP地址與虛服務器的IP地址同網段時,通過指定接口發送免費ARP報文或者ND報文。
[Device-vs-tcp-vs] arp-nd interface GigabitEthernet 1/0/1
[Device-vs-http-vs] quit
在三台物理服務器Server A、Server B和Server C上,將缺省網關都配置為192.168.1.100。
# 顯示所有實服務器的簡要信息。
[Device] display real-server brief
Real server Address Port State VPN instance Server farm
rs1 192.168.1.1 8080 Active sf
rs2 192.168.1.2 8080 Active sf
rs3 192.168.1.3 8080 Active sf
# 顯示所有實服務組的詳細信息。
[Device] display server-farm
Server farm: sf
Description:
Predictor: Round robin
Proximity: Disabled
NAT: Enabled
SNAT pool:
Failed action: Keep
Active threshold: Disabled
Slow-online: Disabled
Selected server: Disabled
Probe information:
Probe success criteria: All
Probe method:
t1
Total real server: 3
Active real server: 3
Real server list:
Name State VPN instance Address Port Weight Priority
rs1 Active 192.168.1.1 8080 150 4
rs2 Active 192.168.1.2 8080 120 4
rs3 Active 192.168.1.3 8080 80 4
# 顯示所有虛服務器的詳細信息。
[Device] display virtual-server
Virtual server: vs
Description:
Type: HTTP
State: Active
VPN instance:
Virtual IPv4 address: 61.159.4.200/32
Virtual IPv6 address: --
Port: 80
Primary server farm: sf (in use)
Backup server farm:
Sticky:
LB policy:
LB limit-policy:
HTTP parameter profile:
Connection limit: --
Rate limit:
Connections: --
Bandwidth: --
Inbound bandwidth: --
Outbound bandwidth: --
SSL server policy:
SSL client policy:
Redirect relocation:
Redirect return-code: 302
Sticky synchronization: Disabled
Bandwidth busy protection: Disabled
Interface bandwidth statistics: Disabled
Route advertisement: Disabled
· 三台物理服務器Server A、Server B和Server C均可提供HTTP服務,且這三台服務器的硬件配置順次降低。通過配置服務器負載均衡,在考慮硬件性能的前提下讓這三台服務器聯合提供HTTP服務,並通過健康檢測來監控這些服務器是否可達。
· 為了在提高用戶訪問安全性的同時又不增加服務器的負擔,在主機與負載均衡設備之間采用通過SSL加密的HTTPS連接,而在負載均衡設備與服務器之間則采用普通的HTTP連接。負載均衡設備在其中需要完成SSL終結的工作,即終結與主機的SSL會話,並與服務器建立TCP連接。
圖2-14 七層服務器負載均衡SSL終結配置組網圖
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 61.159.4.100 255.255.255.0
[Device-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置靜態路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設到達Host的下一跳IP地址為61.159.4.1,實際使用中請以具體組網情況為準,具體配置步驟如下。
[Device] ip route-static 1.1.1.1 24 61.159.4.1
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[Device] security-zone name untrust
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/1
[Device-security-zone-Untrust] quit
[Device] security-zone name trust
[Device-security-zone-Trust] import interface gigabitethernet 1/0/2
[Device-security-zone-Trust] quit
(4) 配置安全策略
配置安全策略放行Untrust與Local安全域、Local與Trust安全域之間的流量,用於用戶訪問服務器。
# 配置名稱為lblocalin的安全策略規則,使用戶可以向Device發送報文,具體配置步驟如下。
[Device] security-policy ip
[Device-security-policy-ip] rule name lblocalin
[Device-security-policy-ip-1-lblocalin] source-zone untrust
[Device-security-policy-ip-1-lblocalin] destination-zone local
[Device-security-policy-ip-1-lblocalin] destination-ip-subnet 61.159.4.0 255.255.255.0
[Device-security-policy-ip-1-lblocalin] action pass
[Device-security-policy-ip-1-lblocalin] quit
# 配置名稱為lblocalout的安全策略規則,使Device可以向服務器發送報文,具體配置步驟如下。
[Device-security-policy-ip] rule name lblocalout
[Device-security-policy-ip-2-lblocalout] source-zone local
[Device-security-policy-ip-2-lblocalout] destination-zone trust
[Device-security-policy-ip-2-lblocalout] destination-ip-subnet 192.168.1.0 255.255.255.0
[Device-security-policy-ip-2-lblocalout] action pass
[Device-security-policy-ip-2-lblocalout quit
[Device-security-policy-ip] quit
(5) 配置實服務組
# 創建SSL類型的NQA模板t1。
[Device] nqa template ssl t1
[Device-nqatplt-ssl-t1] quit
# 創建實服務組sf,配置其調度算法為加權輪轉算法,並指定其健康檢測方法為t1。
[Device] server-farm sf
[Device-sfarm-sf] predictor round-robin
[Device-sfarm-sf] probe t1
[Device-sfarm-sf] quit
(6) 配置SSL服務器端策略
# 配置PKI域1(有關PKI域的具體配置,請參見“安全配置指導”中的“PKI”)。
[Device] pki domain 1
[Device-domain-1] quit
# 創建一個名為ssp的SSL服務器端策略,並使用名為1的PKI域,配置驗證客戶端身份。
[Device] ssl server-policy ssp
[Device-ssl-server-policy-ssp] pki-domain 1
[Device-ssl-server-policy-ssp] client-verify enable
[Device-ssl-server-policy-ssp] quit
(7) 配置實服務器
# 創建實服務器rs1,配置其IPv4地址為192.168.1.1、端口號為8080、權值為150,並加入實服務組sf。
[Device] real-server rs1
[Device-rserver-rs1] ip address 192.168.1.1
[Device-rserver-rs1] port 8080
[Device-rserver-rs1] weight 150
[Device-rserver-rs1] server-farm sf
[Device-rserver-rs1] quit
# 創建實服務器rs2,配置其IPv4地址為192.168.1.2、端口號為8080、權值為120,並加入實服務組sf。
[Device] real-server rs2
[Device-rserver-rs2] ip address 192.168.1.2
[Device-rserver-rs2] port 8080
[Device-rserver-rs2] weight 120
[Device-rserver-rs2] server-farm sf
[Device-rserver-rs2] quit
# 創建實服務器rs3,配置其IPv4地址為192.168.1.3、端口號為8080、權值為80,並加入實服務組sf。
[Device] real-server rs3
[Device-rserver-rs3] ip address 192.168.1.3
[Device-rserver-rs3] port 8080
[Device-rserver-rs3] weight 80
[Device-rserver-rs3] server-farm sf
[Device-rserver-rs3] quit
(8) 配置虛服務器
# 創建HTTP類型的虛服務器vs,配置其VSIP為61.159.4.200、端口號為443,指定其缺省主用實服務組為sf,引用SSL服務器端策略ssp,並開啟此虛服務器。
[Device] virtual-server vs type http
[Device-vs-http-vs] virtual ip address 61.159.4.200
[Device-vs-http-vs] port 443
[Device-vs-http-vs] default server-farm sf
[Device-vs-http-vs] ssl-server-policy ssp
[Device-vs-http-vs] service enable
#指定發送免費ARP報文或者ND報文的接口。當設備接口IP地址與虛服務器的IP地址同網段時,通過指定接口發送免費ARP報文或者ND報文。
[Device-vs-tcp-vs] arp-nd interface GigabitEthernet 1/0/1
[Device-vs-http-vs] quit
在三台物理服務器Server A、Server B和Server C上,將缺省網關都配置為192.168.1.100。
# 顯示所有實服務器的簡要信息。
[Device] display real-server brief
Real server Address Port State VPN instance Server farm
rs1 192.168.1.1 8080 Active sf
rs2 192.168.1.2 8080 Active sf
rs3 192.168.1.3 8080 Active sf
# 顯示所有實服務組的詳細信息。
[Device] display server-farm
Server farm: sf
Description:
Predictor: Round robin
Proximity: Disabled
NAT: Enabled
SNAT pool:
Failed action: Keep
Active threshold: Disabled
Slow-online: Disabled
Selected server: Disabled
Total real server: 3
Active real server: 3
Real server list:
Name State VPN instance Address Port Weight Priority
rs1 Active 192.168.1.1 8080 150 4
rs2 Active 192.168.1.2 8080 120 4
rs3 Active 192.168.1.3 8080 80 4
# 顯示所有虛服務器的詳細信息。
[Device] display virtual-server
Virtual server: vs
Description:
Type: HTTP
State: Active
VPN instance:
Virtual IPv4 address: 61.159.4.200/32
Virtual IPv6 address: --
Port: 443
Default server farm: sf (in use)
Backup server farm:
Sticky:
LB policy:
LB limit-policy:
HTTP parameter profile:
Connection limit: --
Rate limit:
Connections: --
Bandwidth: --
Inbound bandwidth: --
Outbound bandwidth: --
SSL server policy: ssp
SSL client policy:
Redirect relocation:
Redirect return-code: 302
Connection synchronization: Disabled
Sticky synchronization: Disabled
Bandwidth busy protection: Disabled
Interface bandwidth statistics: Disabled
Route advertisement: Disabled
出方向鏈路負載均衡功能可在多條鏈路上分擔內網用戶訪問外部互聯網的流量。
如圖3-1所示,出方向鏈路負載均衡包含以下要素:
· LB device(負載均衡設備):負責將內網用戶訪問外部互聯網的流量分發到多條鏈路。
· Link(鏈路):運營商提供的實體鏈路。
· VSIP(Virtual Service IP,虛服務IP):集群對外提供的虛服務IP地址,即內網用戶發送報文的目的網段。
· Server IP(服務器IP):服務器IP地址。
出方向鏈路負載均衡的工作流程如圖3-2所示。
出方向鏈路負載均衡工作流程簡述如表3-1所示。
步驟 |
描述 |
(1) |
負載均衡設備接收來自內網服務器的流量 |
(2) |
負載均衡設備依次根據負載均衡策略、持續性方法、就近性算法、調度算法(通常使用帶寬算法或最大帶寬算法)來選擇最佳鏈路 |
(3) |
負載均衡設備通過選定的最佳鏈路將流量轉發給外網服務器 |
(4) |
負載均衡設備接收來自外網服務器的流量 |
(5) |
負載均衡設備將流量轉發給內網服務器 |
出方向鏈路負載均衡暫不支持與NAT444配合使用。
出方向鏈路負載均衡各配置項之間的配置關係如圖3-3所示。
· 鏈路組:將具有相同或相似功能的鏈路抽象成一個鏈路組。鏈路組可被虛服務器或負載均衡動作引用。
· 鏈路:運營商提供的實體鏈路。
· 虛服務器:負載均衡設備上麵向用戶業務的虛擬載體,隻有匹配上虛服務器的報文才需要進行負載均衡處理。
· 負載均衡類:將報文分類,以便對不同類型的報文執行不同的負載均衡動作。
· 負載均衡動作:製訂丟棄、轉發或修改報文的具體行為。
· 負載均衡策略:將負載均衡類和負載均衡動作關聯起來就構成了負載均衡策略。負載均衡策略可被虛服務器引用。
· 持續性組:根據某持續性方法將具有一定相關性的會話都分配給同一條鏈路處理。持續性組可被虛服務器或負載均衡動作引用。
· 參數模板:製訂對報文進行更深入處理的模板。參數模板可被虛服務器引用。
出方向鏈路負載均衡配置任務如下:
(1) 配置鏈路組
(2) 配置鏈路
(3) 配置虛服務器
(4) (可選)配置負載均衡策略
a. 配置負載均衡類
b. 配置負載均衡動作
c. 配置負載均衡策略
(5) (可選)配置持續性組
(6) (可選)配置參數模板
(7) (可選)配置ISP信息
(8) (可選)配置負載均衡DNS緩存表項的老化時間
(9) (可選)配置負載均衡ALG功能
(10) (可選)測試負載均衡效果
(11) (可選)配置負載均衡告警及日誌功能
為了便於對鏈路進行統一管理,可將具有相同或相似功能的鏈路抽象成一個組,稱為鏈路組。比如,可按不同的運營商劃分為ISP1鏈路組、ISP2鏈路組和ISP3鏈路組等。
鏈路組配置任務如下:
(1) 創建鏈路組
(2) (可選)添加並配置鏈路組成員
(3) 配置鏈路組的調度算法
(4) 配置可用條件
(5) 關閉NAT功能
(6) (可選)配置SNAT功能
(7) (可選)配置溫暖上線功能
(8) (可選)配置健康檢測功能
(9) (可選)配置故障處理方式
(10) (可選)配置就近性功能
(1) 進入係統視圖。
system-view
(2) 創建鏈路組,並進入鏈路組視圖。
loadbalance link-group link-group-name
(3) (可選)配置鏈路組的描述信息。
description text
缺省情況下,未配置鏈路組的描述信息。
設備支持通過兩種方式向鏈路組中添加成員:
· 在鏈路組視圖下,通過本配置創建鏈路組成員或添加已存在的鏈路。
· 在鏈路視圖下,指定其所屬的鏈路組。具體配置請參見“3.5.3 創建鏈路並指定其所屬鏈路組”。
本配置用來指定鏈路在鏈路組內的權值、調用優先級、連接參數、健康檢測功能以及慢宕功能。基於鏈路組成員的調度算法會依據這些配置選出當前鏈路組中最優的鏈路。
(1) 進入係統視圖。
system-view
(2) 進入鏈路組視圖。
loadbalance link-group link-group-name
(3) 創建並添加鏈路組成員,並進入鏈路組成員視圖。
link link-name
若指定名稱的鏈路已存在,則本命令隻是在鏈路組視圖下添加已存在的鏈路。
(4) (可選)配置鏈路組成員的描述信息。
description text
缺省情況下,未配置鏈路組成員的描述信息。
(1) 進入係統視圖。
system-view
(2) 進入鏈路組視圖。
loadbalance link-group link-group-name
(3) 進入鏈路組成員視圖。
link link-name
(4) 配置鏈路組成員的權值。
weight weight-value
缺省情況下,鏈路組成員的權值為100。
(5) 配置鏈路組成員的調用優先級
priority priority
缺省情況下,鏈路組成員的調度優先級為4。
(1) 進入係統視圖。
system-view
(2) 進入鏈路組視圖。
loadbalance link-group link-group-name
(3) 進入鏈路組成員視圖。
link link-name
(4) 配置鏈路組成員所允許的最大連接速率。
rate-limit connection connection-number
缺省情況下,鏈路組成員所允許的最大連接速率為0,即不受限製。
(5) 配置鏈路組成員所允許的最大連接數。
connection-limit max max-number
缺省情況下,鏈路組成員所允許的最大連接數為0,即不受限製。
(1) 進入係統視圖。
system-view
(2) 進入鏈路組視圖。
loadbalance link-group link-group-name
(3) 進入鏈路組成員視圖。
link link-name
(4) 指定鏈路組成員的健康檢測方法。
probe template-name
缺省情況下,未指定鏈路組成員的健康檢測方法。
設備支持通過引用NQA模板進行健康檢測。有關NQA模板的詳細介紹,請參見“網絡管理和監控配置指導”中的“NQA”。
(5) 配置鏈路組成員健康檢測的成功條件。
success-criteria { all | at-least min-number }
缺省情況下,隻有全部方法都通過檢測才認為健康檢測成功。
(1) 進入係統視圖。
system-view
(2) 進入鏈路組視圖。
loadbalance link-group link-group-name
(3) 進入鏈路組成員視圖。
link link-name
(4) 開啟鏈路組成員的慢宕功能。
slow-shutdown enable
缺省情況下,鏈路組成員的慢宕功能處於關閉狀態。
(5) 關閉鏈路組成員。
shutdown
缺省情況下,鏈路組成員處於開啟狀態。
設備根據鏈路組中配置的調度算法,計算出處理用戶請求的鏈路。設備支持以下鏈路組的調度算法:
· 加權最小連接算法(基於鏈路):總是將請求分發給加權活動連接數(當前鏈路在所有鏈路組中的活動連接總數/權值)最小的鏈路。該算法中使用的權值為鏈路視圖下配置的權值。
· 加權最小連接算法(基於鏈路組成員):總是將請求分發給加權活動連接數(鏈路組成員在指定鏈路組中的活動連接數/權值)最小的鏈路組成員。該算法中使用的權值為鏈路組成員視圖下配置的權值。
· 隨機算法:將請求隨機分發給某條鏈路。
· 加權輪轉算法:根據鏈路權值的大小將請求依次分發給每條鏈路,權值越大,分配的請求越多。
· 帶寬算法:根據鏈路的權值與剩餘帶寬乘積後的比例把請求分發給每條鏈路。
· 最大帶寬算法:總是將請求分發給處於空閑狀態且剩餘帶寬最大的鏈路。
· 源IP哈希算法:根據源IP地址哈希算法將請求分發給鏈路。
· 源IP及端口哈希算法:根據源IP地址和端口號哈希算法將請求分發給鏈路。
· 目的IP哈希算法:根據目的IP地址哈希算法將請求分發給鏈路。
(1) 進入係統視圖。
system-view
(2) 進入鏈路組視圖。
loadbalance link-group link-group-name
(3) 配置鏈路組的調度算法。
¡ 基於鏈路:
predictor { least-connection | { bandwidth | max-bandwidth } [ inbound | outbound ] }
¡ 基於鏈路組成員:
predictor hash address { destination | source | source-ip-port } [ mask mask-length ] [ prefix prefix-length ]
predictor { least-connection member | random | round-robin }
缺省情況下,鏈路組的調度算法為加權輪轉算法。
(4) 配置鏈路組中可被調度算法調用的實鏈路數量限製。
selected-link min min-number max max-number
缺省情況下,鏈路組中調用優先級最高的鏈路全部被調度算法調用。
通過配置鏈路組的可用條件,可將流量在主用鏈路組和備用鏈路組之間進行切換:當主用鏈路組中的鏈路可用率低於下限時,將流量切換到備用鏈路組上,以防止鏈路受到大流量的衝擊;待主用鏈路組中的鏈路可用率恢複到上限時,再將流量切換回來。
(1) 進入係統視圖。
system-view
(2) 進入鏈路組視圖。
loadbalance link-group link-group-name
(3) 配置鏈路組的可用條件。
activate lower lower-percentage upper upper-percentage
缺省情況下,鏈路組中隻要有一個鏈路可用,該鏈路組就被認為可用。
出方向鏈路負載均衡組網通常需要在鏈路組中關閉NAT功能。
(1) 進入係統視圖。
system-view
(2) 進入鏈路組視圖。
loadbalance link-group link-group-name
(3) 在鏈路組中關閉NAT功能。
transparent enable
缺省情況下,鏈路組中的NAT功能處於開啟狀態。
SNAT地址池被鏈路組引用之後,負載均衡設備將把收到報文的源IP地址修改為SNAT地址池中的IP地址後再轉發出去。
一個SNAT地址池由多個地址成員組成,每個地址成員最多包含256個IPv4地址或65536個IPv6地址,且不同SNAT地址成員中的IPv4或IPv6地址不允許重疊。
出方向鏈路負載均衡的SNAT功能使用場景有限,通常不建議配置。若需要對出方向流量進行源地址轉換,建議在出接口下配置NAT出方向地址轉換。有關NAT出方向地址轉換的詳解介紹,請參見“三層技術-IP業務配置指導”中的“NAT”。
(1) 進入係統視圖。
system-view
(2) 創建SNAT地址池,並進入SNAT地址池視圖。
loadbalance snat-pool pool-name
(3) (可選)配置SNAT地址池的描述信息。
description text
缺省情況下,未配置SNAT地址池的描述信息。
(4) 添加SNAT地址池的IP地址成員。
(IPv4網絡)
ip range start start-ipv4-address end end-ipv4-address
(IPv6網絡)
ipv6 range start start-ipv6-address end end-ipv6-address
缺省情況下,未配置SNAT地址池的IP地址成員。
(5) (可選)配置SNAT地址池所屬VPN實例。
vpn-instance vpn-instance-name
缺省情況下,SNAT地址池屬於公網。
本命令僅用作配置隔離。當存在多個地址池出現地址資源重疊時,可以通過配置各個地址池屬於不同的VPN實例進行配置隔離。
(6) 退回係統視圖。
quit
(7) 進入鏈路組視圖。
loadbalance link-group link-group-name
(8) 指定鏈路引用的SNAT地址池。
snat-pool pool-name
缺省情況下,鏈路組沒有引用任何SNAT地址池。
當向鏈路組中添加鏈路時,某些新增的鏈路無法立即承擔大量業務,此時可以開啟溫暖上線功能。這樣,當鏈路上線後,在準備時間內,負載均衡設備不會向其分配任何業務;準備時間超時後,負載均衡設備在爬升時間內會逐步增加向其分配的業務量;爬升時間超時後,負載均衡設備開始向其正常分配業務。
(1) 進入係統視圖。
system-view
(2) 進入鏈路組視圖。
loadbalance link-group link-group-name
(3) 在鏈路組中開啟鏈路溫暖上線功能。
slow-online [ standby-time standby-time ramp-up-time ramp-up-time ]
缺省情況下,鏈路組中的鏈路溫暖上線功能處於關閉狀態。
通過健康檢測可以對鏈路進行檢測,保證其能夠提供有效的服務。
設備支持通過引用NQA模板進行健康檢測。有關NQA模板的詳細介紹,請參見“網絡管理和監控配置指導”中的“NQA”。
若要配置對指定鏈路進行健康檢測,則需要在NQA模板中指定出接口。避免探測鏈路斷開後,探測報文根據等價路由從其他鏈路發送出去,探測結果不符合實際情況。
用戶既可在鏈路組視圖下對組內的所有鏈路進行配置,也可在鏈路視圖下隻對當前鏈路進行配置,後者的配置優先級較高。
(1) 進入係統視圖。
system-view
(2) 進入鏈路組視圖。
loadbalance link-group link-group-name
(3) 指定鏈路組的健康檢測方法。
probe template-name
缺省情況下,沒有指定鏈路組的健康檢測方法。
(4) 配置鏈路組健康檢測的成功條件。
success-criteria { all | at-least min-number }
缺省情況下,隻有全部方法都通過檢測才認為健康檢測成功。
通過本配置可以選擇鏈路組中鏈路的故障處理方式:
· 保持已有連接:不主動斷開與故障鏈路的連接,連接繼續保持還是斷開將由協議自身的超時機製決定。
· 重定向連接:把連接重定向到鏈路組中其它可用的鏈路上。
· 斷開已有連接:主動斷開與故障鏈路的連接。對於TCP報文,將發送RST報文;對於其它類型的報文,將發送ICMP不可達報文。
(1) 進入係統視圖。
system-view
(2) 進入鏈路組視圖。
loadbalance link-group link-group-name
(3) 配置鏈路組中鏈路的故障處理方式。
fail-action { keep | reschedule | reset }
缺省情況下,鏈路組中鏈路的故障處理方式為保持已有連接。
就近性功能就是通過對鏈路進行探測,選出到達目的地的最優鏈路,從而引導後續流量。具體而言,就是當流量經過負載均衡模塊時,如果沒有與目的地址相關的就近性信息,則根據調度算法,為該流量選擇一條鏈路,以保證業務的可用性,然後啟動就近性探測來生成就近性表項,以引導後續流量。
設備支持在就近性視圖下通過引用NQA模板或負載均衡探測模板進行就近性探測,並根據探測結果和就近性參數的配置生成就近性表項。有關NQA模板的詳細介紹,請參見“網絡管理和監控配置指導”中的“NQA”。
配置就近性功能時,需要先在就近性視圖下配置就近性參數,然後在鏈路組中開啟就近性功能。
若采用ICMP類型的探測模板進行就近性探測,則推薦配置負載均衡探測模板。相比於NQA探測模板,負載均衡探測模板對性能影響更小。
(1) 進入係統視圖。
system-view
(2) 創建負載均衡探測模板,並進入負載均衡探測模板視圖。
loadbalance probe-template icmp template-name
(3) 配置探測周期。
frequency interval
缺省情況下,探測周期為300秒。
(4) 配置探測報文的應答超時時間。
timeout timeout-value
缺省情況下,探測報文的應答超時時間為3秒。
(1) 進入係統視圖。
system-view
(2) 進入就近性視圖。
loadbalance proximity [ vpn-instance vpn-instance-name ]
(3) 為TCP報文指定就近性探測方法。
match [ match-id ] { tcp } { lb-probe lb-template | probe nqa-template }
缺省情況下,未指定就近性探測方法。
(4) 指定缺省就近性探測方法。
match default { lb-probe lb-template | probe nqa-template }
缺省情況下,未指定缺省就近性探測方法。
(1) 進入係統視圖。
system-view
(2) 進入就近性視圖。
loadbalance proximity [ vpn-instance vpn-instance-name ]
(3) 配置IPv4就近性表項的掩碼長度。
ip mask { mask-length | mask }
缺省情況下,IPv4就近性表項的掩碼長度為24。
(4) 配置IPv6就近性表項的前綴長度。
ipv6 prefix prefix-length
缺省情況下,IPv6就近性表項的前綴長度為96。
(5) 配置就近性計算的網絡延遲權值。
rtt weigt rtt-weight
缺省情況下,就近性計算的網絡延遲權值為100。
(6) 配置就近性計算的路由跳數權值。
ttl weight ttl-weight
缺省情況下,就近性計算的路由跳數權值為100。
(7) 配置就近性計算的帶寬權值。
bandwidth { inbound | outbound } weight bandwidth-weight
缺省情況下,就近性計算的出、入方向帶寬權值均為100。
(8) 配置就近性計算的成本權值。
cost weight cost-weight
缺省情況下,就近性計算的成本權值為100。
(9) 配置就近性表項的老化時間。
timeout timeout-value
缺省情況下,就近性表項的老化時間為60秒。
(10) 配置就近性表項的最大個數。
max-number number
缺省情況下,就近性表項的最大個數為65535。
(1) 進入係統視圖。
system-view
(2) 進入鏈路組視圖。
loadbalance link-group link-group-name
(3) 開啟就近性功能。
proximity enable
缺省情況下,鏈路組的就近性功能處於關閉狀態。
鏈路是運營商提供的實體鏈路。一條鏈路可以屬於多個鏈路組,一個鏈路組也可以包含多條鏈路。
在HA聯動VRRP的組網環境中,建議將鏈路出接口的接口IP地址與VRRP備份組的虛擬IP地址配置為同一網段。有關HA聯動VRRP組網的詳細介紹,請參見“高可靠性配置指導”的“雙機熱備(RBM)”。
鏈路配置任務如下:
(1) 創建鏈路並指定其所屬鏈路組
(2) 配置鏈路的IP地址或出接口
請選擇以下一項進行配置:
(3) 配置權值和調用優先級
(4) (可選)配置帶寬和連接參數
(5) (可選)配置健康檢測功能
(6) (可選)配置慢宕功能
(7) (可選)配置就近性計算的鏈路成本
(8) (可選)配置鏈路的帶寬繁忙比與最大期望帶寬
(9) (可選)關閉鏈路所屬VPN實例的繼承功能
(1) 進入係統視圖。
system-view
(2) 創建鏈路,並進入鏈路視圖。
loadbalance link link-name
(3) (可選)配置鏈路的描述信息。
description text
缺省情況下,未配置鏈路的描述信息。
(4) 指定鏈路所屬的鏈路組。
link-group link-group-name
缺省情況下,鏈路不屬於任何鏈路組。
(1) 進入係統視圖。
system-view
(2) 進入鏈路視圖。
loadbalance link link-name
(3) 指定鏈路出口方向(外網方向)的下一跳IP地址。
(IPv4網絡)
router ip ipv4-address
(IPv6網絡)
router ipv6 ipv6-address
缺省情況下,未配置鏈路出口方向的下一跳IP地址。
在出口鏈路使用PPPoE動態獲取IP地址的應用場景下,通過本配置,負載均衡設備可從指定接口動態獲取鏈路通往外網的下一跳IP地址。
(1) 進入係統視圖。
system-view
(2) 進入鏈路視圖。
loadbalance link link-name
(3) 鏈路對應的出接口。
router interface interface-type interface-number
缺省情況下,未配置鏈路對應的出接口。
通過本配置可以調整鏈路的加權輪轉和加權最小連接這兩種調度算法所使用的權值,以及鏈路在鏈路組中的調用優先級。
(1) 進入係統視圖。
system-view
(2) 進入鏈路視圖。
loadbalance link link-name
(3) 配置鏈路的權值。
weight weight-value
缺省情況下,鏈路的權值為100。
(4) 配置鏈路的調用優先級。
priority priority
缺省情況下,鏈路的調用優先級為4。
(1) 進入係統視圖。
system-view
(2) 進入鏈路視圖。
loadbalance link link-name
(3) 配置鏈路所允許的最大帶寬。
rate-limit bandwidth [ inbound | outbound ] bandwidth-value kbps
缺省情況下,鏈路所允許的最大總帶寬、最大入帶寬和最大出帶寬均為0,即不受限製。
(4) 配置鏈路所允許的最大連接數。
connection-limit max max-number
缺省情況下,鏈路所允許的最大連接數為0,即不受限製。
(5) 配置鏈路所允許的最大連接速率。
rate-limit connection connection-number
缺省情況下,鏈路所允許的最大連接速率為0,即不受限製。
通過健康檢測可以對鏈路進行檢測,保證其能夠提供有效的服務。
設備支持通過引用NQA模板進行健康檢測。有關NQA模板的詳細介紹,請參見“網絡管理和監控配置指導”中的“NQA”。
若要配置對指定鏈路進行健康檢測,則需要在NQA模板中指定出接口。避免探測鏈路斷開後,探測報文根據等價路由從其他鏈路發送出去,探測結果不符合實際情況。
用戶既可在鏈路組視圖下對組內的所有鏈路進行配置,也可在鏈路視圖下隻對當前鏈路進行配置,後者的配置優先級較高。
(1) 進入係統視圖。
system-view
(2) 進入鏈路視圖。
loadbalance link link-name
(3) 指定鏈路的健康檢測方法。
probe template-name
缺省情況下,沒有指定鏈路的健康檢測方法。
(4) 配置鏈路健康檢測的成功條件。
success-criteria { all | at-least min-number }
缺省情況下,隻有全部方法都通過檢測才認為健康檢測成功。
通過shutdown命令可以立即中斷鏈路的已有連接,而慢宕則不會立即中斷鏈路的已有連接,而是讓其自然老化,並且不再建立新的連接。慢宕功能需要與shutdown命令配合使用,即在開啟了慢宕功能之後再關閉鏈路,該鏈路會開始慢宕。
本命令僅對下一次shutdown命令生效。比如:開啟慢宕功能並關閉鏈路之後,如果再關閉慢宕功能,則該鏈路將保持慢宕狀態,而不會立即中斷已有連接。
(1) 進入係統視圖。
system-view
(2) 進入鏈路視圖。
loadbalance link link-name
(3) 開啟鏈路的慢宕功能。
slow-shutdown enable
缺省情況下,鏈路的慢宕功能處於關閉狀態。
(4) 關閉鏈路。
shutdown
缺省情況下,鏈路處於開啟狀態。
(1) 進入係統視圖。
system-view
(2) 進入鏈路視圖。
loadbalance link link-name
(3) 配置就近性計算的鏈路成本。
cost cost-value
缺省情況下,就近性計算的鏈路成本為0。
通過本配置可以調整鏈路的帶寬繁忙比,即當前帶寬與最大帶寬的百分比值,以及最大期望帶寬。當訪問某個鏈路的鏈路流量超過該鏈路的帶寬繁忙比與最大期望帶寬的乘積後,鏈路進入繁忙狀態,新建流量(非匹配持續性的流量)將不再向該鏈路分發,而原有流量則仍由該鏈路繼續分發;當該鏈路流量低於該鏈路的帶寬繁忙恢複比與最大期望帶寬的乘積後,鏈路解除繁忙狀態,進入空閑狀態,重新參與調度。
鏈路的最大期望帶寬不僅用於繁忙保護功能,還用於帶寬算法、最大帶寬算法和就近性中剩餘帶寬的計算。
(1) 進入係統視圖。
system-view
(2) 進入鏈路視圖。
loadbalance link link-name
(3) 配置鏈路的帶寬繁忙比。
bandwidth [ inbound | outbound ] busy-rate busy-rate-number [ recovery recovery-rate-number ]
缺省情況下,鏈路的總帶寬繁忙比為70。
(4) 配置鏈路最大期望帶寬。
max-bandwidth [ inbound | outbound ] bandwidth-value kbps
缺省情況下,鏈路所允許的期望最大總帶寬、最大上行期望帶寬和最大下行期望帶寬均為0,即不限製。
在出口鏈路使用PPPoE動態獲取IP地址的應用場景下,不支持配置鏈路所屬的VPN實例。
(1) 進入係統視圖。
system-view
(2) 進入鏈路視圖。
loadbalance link link-name
(3) 指定鏈路所屬的VPN實例。
vpn-instance vpn-instance-name
缺省情況下,當鏈路所屬VPN實例的繼承功能處於開啟狀態時,鏈路所屬的VPN實例與虛服務器所屬的VPN實例一致;當鏈路所屬VPN實例的繼承功能處於關閉狀態時,鏈路屬於公網。
若在鏈路視圖下執行vpn-instance命令指定了鏈路所屬的VPN實例,則鏈路屬於該VPN實例。若未指定鏈路所屬的VPN實例,當鏈路所屬VPN實例的繼承功能處於開啟狀態時,鏈路所屬的VPN實例與虛服務器所屬的VPN實例一致;當該功能處於關閉狀態時,鏈路屬於公網。
(1) 進入係統視圖。
system-view
(2) 進入鏈路視圖。
loadbalance link link-name
(3) 關閉鏈路所屬VPN實例的繼承功能。
inherit vpn-instance disable
缺省情況下,鏈路所屬VPN實例的繼承功能處於開啟狀態。
虛服務器是負載均衡設備上麵向用戶業務的虛擬載體,是為了判斷是否需要對進入負載均衡設備的報文進行負載均衡而引入的概念。隻有匹配上虛服務器的報文才會被進行負載均衡處理。
鏈路負載均衡支持的虛服務器類型為LINK-IP。
虛服務器配置任務如下:
(1) 創建虛服務器
(2) 配置VSIP和端口號
(3) (可選)指定虛服務器所屬的VPN
(4) 配置報文處理策略
請至少選擇其中一項進行配置:
¡ 指定鏈路組
¡ 引用負載均衡策略
(5) (可選)引用參數模板
(6) (可選)配置帶寬和連接參數
(7) (可選)配置帶寬繁忙保護功能
(8) (可選)開啟鏈路的接口帶寬統計功能
(9) (可選)引用DPI應用profile
(10) (可選)配置熱備份功能
(11) 開啟虛服務器
(1) 進入係統視圖。
system-view
(2) 創建Link-IP類型的虛服務器,並進入虛服務器視圖。
virtual-server virtual-server-name type link-ip
(3) (可選)配置虛服務器的描述信息。
description text
缺省情況下,未配置虛服務器的描述信息。
(1) 進入係統視圖。
system-view
(2) 進入LINK-IP類型的虛服務器視圖。
virtual-server virtual-server-name
(3) 配置虛服務器的IP地址。
(IPv4網絡)
virtual ip address ipv4-address [ mask-length | mask ]
(IPv6網絡)
virtual ipv6 address ipv6-address [ prefix-length ]
缺省情況下,虛服務器沒有IP地址。
(4) 配置虛服務器的端口號。
port port-number
缺省情況下,LINK-IP類型虛服務器的端口號為0(表示任意端口號)。
(1) 進入係統視圖。
system-view
(2) 進入虛服務器視圖。
virtual-server virtual-server-name
(3) 指定虛服務器所屬的VPN。
vpn-instance vpn-instance-name
缺省情況下,虛服務器屬於公網。
當主用鏈路組可用(該鏈路組存在且有可用的鏈路)時,虛服務器通過主用鏈路組進行轉發;當主用鏈路組不可用而備用鏈路組可用時,虛服務器通過備用鏈路組進行轉發。
(1) 進入係統視圖。
system-view
(2) 進入虛服務器視圖。
virtual-server virtual-server-name
(3) 指定鏈路組。
default link-group link-group-name [ backup backup-link-group-name ] [ sticky sticky-name ]
缺省情況下,未指定鏈路組。
虛服務器引用負載均衡策略,能夠細化虛服務器負載均衡的粒度。根據策略中的匹配規則,使命中虛服務器的報文根據不同的報文內容進行不同的負載均衡處理,從而有效地豐富了負載均衡的負載功能。
(1) 進入係統視圖。
system-view
(2) 進入虛服務器視圖。
virtual-server virtual-server-name
(3) 指定虛服務器引用的負載均衡策略。
lb-policy policy-name
缺省情況下,虛服務器沒有引用任何負載均衡策略。
虛服務器隻能引用與自身類型相關的策略模板,如:LINK-IP類型的虛服務器,隻能引用鏈路類型的策略模板。
參數模板用來對虛服務器上的流量進行比較深入的解析、處理和優化。虛服務器引用了參數模板後,就要根據該參數模板的配置對匹配流量進行相應的處理。
(1) 進入係統視圖。
system-view
(2) 進入虛服務器視圖。
virtual-server virtual-server-name
(3) 指定虛服務器引用的參數模板。
parameter ip profile-name
缺省情況下,虛服務器沒有引用任何參數模板。
(1) 進入係統視圖。
system-view
(2) 進入虛服務器視圖。
virtual-server virtual-server-name
(3) 配置虛服務器所允許的最大帶寬。
rate-limit bandwidth [ inbound | outbound ] bandwidth-value kbps
缺省情況下,虛服務器所允許的最大總帶寬、最大入帶寬和最大出帶寬均為0,即不受限製。
(4) 配置虛服務器所允許的最大連接數。
connection-limit max max-number
缺省情況下,虛服務器所允許的最大連接數為0,即不受限製。
(5) 配置虛服務器所允許的最大連接速率。
rate-limit connection connection-number
缺省情況下,虛服務器所允許的最大連接速率為0,即不受限製。
鏈路出方向或入方向帶寬繁忙就是出方向或入方向流量超過該方向的帶寬繁忙比,帶寬繁忙保護功能就是對超過鏈路出方向帶寬繁忙比的報文進行限製。當某條鏈路隻有出方向的狀態為繁忙時,新建流量(非匹配持續性的流量)將不再向該鏈路分發,而原有流量則仍由該鏈路繼續分發;如果隻有鏈路入方向的狀態為繁忙,而出方向的狀態不為繁忙時,此時新建流量會繼續往該鏈路分擔。
某條鏈路隻要一個方向(出方向或入方向)的狀態變為繁忙,該條鏈路狀態就會顯示為繁忙;隻有當兩個方向的狀態都為正常時,該條鏈路的狀態才會顯示為正常。
帶寬繁忙保護功能僅在鏈路的接口帶寬統計功能開啟的情況下生效。
(1) 進入係統視圖。
system-view
(2) 進入虛服務器視圖。
virtual-server virtual-server-name
(3) 開啟虛鏈路的帶寬繁忙保護功能。
bandwidth busy-protection enable
缺省情況下,鏈路的帶寬繁忙保護功能處於關閉狀態。
鏈路的帶寬缺省由負載均衡模塊自行統計,通過本配置可以使鏈路的帶寬由接口來統計。
(1) 進入係統視圖。
system-view
(2) 進入虛服務器視圖。
virtual-server vritual-server-name
(3) 開啟鏈路的接口帶寬統計功能。
bandwidth interface statistics enable
缺省情況下,未開啟鏈路的接口帶寬統計功能。
通過指定虛服務器引用的DPI應用profile,可以對匹配虛服務的流量進行深度報文檢測(包括IPS、防病毒和WAF),識別出網絡攻擊和安全隱患,從而保護負載均衡設備和內網服務器的安全。有關DPI應用profile的詳細介紹,請參見“DPI深度安全配置指導”中的“應用層檢測引擎”。
(1) 進入係統視圖。
system-view
(2) 進入虛服務器視圖。
virtual-server virtual-server-name
(3) 指定虛服務器引用的DPI應用profile。
dpi-app-profile dpi-app-profile-name
缺省情況下,虛服務器未引用任何DPI應用profile。
配置熱備份功能時,為達到主備切換時業務不中斷的目的,需要在虛服務器下開啟會話擴展信息和持續性表項的備份功能。
在開啟虛服務器的持續性表項備份功能之前,請確保主用和備用設備上均不存在持續性表項。可以通過先開啟持續性表項備份功能,再引用持續性組,保證備份前設備上不存在持續性表項。
在VRRP組網中,開啟虛服務器的持續性表項備份功能時必須指定global參數,否則配置不生效。
若設備的配置發生以下變化,則設備會刪除當前已有的持續性表項,後續流量將會重新觸發生成新的持續性表項。
· 關閉持續性表項備份功能
· 持續性表項備份由組間備份切換為全局備份
· 持續性表項備份由全局備份切換為組間備份
(1) 進入係統視圖。
system-view
(2) 進入虛服務器視圖。
virtual-server virtual-server-name
(3) 開啟虛服務器的會話擴展信息備份功能。
connection-sync enable
缺省情況下,虛服務器的會話擴展信息備份功能處於關閉狀態。
(4) 開啟虛服務器的持續性表項備份功能。
sticky-sync enable [ global ]
缺省情況下,虛服務器的持續性表項備份功能處於關閉狀態。
配置完虛服務器後,需要將其開啟後才能進入工作狀態。
(1) 進入係統視圖。
system-view
(2) 進入虛服務器視圖。
virtual-server virtual-server-name
(3) 開啟虛服務器。
service enable
缺省情況下,虛服務器處於關閉狀態。
負載均衡類的作用是將報文分類,即通過匹配規則將報文按照一定條件進行匹配,以便將不同類型的報文在不同的負載均衡動作流程中處理。一個負載均衡類中最多允許創建65535條匹配規則。
負載均衡類配置任務如下:
(1) 創建負載均衡類
(2) 創建匹配規則
請至少選擇以下一項進行配置:
(1) 進入係統視圖。
system-view
(2) 創建鏈路類型的負載均衡類,並進入負載均衡類視圖。
loadbalance class class-name type link-generic [ match-all | match-any ]
創建負載均衡類時必須為其指定類型;而在進入已創建的負載均衡類視圖時可以不指定類型,但若要指定類型,則必須與創建時的類型一致。
(3) (可選)配置負載均衡類的描述信息。
description text
缺省情況下,未配置負載均衡類的描述信息。
(1) 進入係統視圖。
system-view
(2) 進入負載均衡類視圖。
loadbalance class class-name
(3) 創建嵌套類的匹配規則。
match [ match-id ] class class-name
(1) 進入係統視圖。
system-view
(2) 進入負載均衡類視圖。
loadbalance class class-name
(3) 創建源IP地址類型的匹配規則。
match [ match-id ] source { ip address ipv4-address [ mask-length | mask ] | ipv6 address ipv6-address [ prefix-length ] }
(1) 進入係統視圖。
system-view
(2) 進入負載均衡類視圖。
loadbalance class class-name
(3) 創建目的IP地址類型的匹配規則。
match [ match-id ] destination { ip address ipv4-address [ mask-length | mask ] | ipv6 address ipv6-address [ prefix-length ] }
(1) 進入係統視圖。
system-view
(2) 進入負載均衡類視圖。
loadbalance class class-name
(3) 創建ACL類型的匹配規則。
match [ match-id ] acl [ ipv6 ] { acl-number | name acl-name }
(1) 進入係統視圖。
system-view
(2) 進入負載均衡類視圖。
loadbalance class class-name
(3) 創建基於入接口的匹配規則。
match [ match-id ] interface interface-type interface-number
(1) 進入係統視圖。
system-view
(2) 進入負載均衡類視圖。
loadbalance class class-name
(3) 創建基於用戶的匹配規則。
match [ match-id ] [ identity-domain domain-name ] user user-name
(1) 進入係統視圖。
system-view
(2) 進入負載均衡類視圖。
loadbalance class class-name
(3) 創建基於用戶組的匹配規則。
match [ match-id ] [ identity-domain domain-name ] user-group user-group-name
負載均衡設備會將域名與IP地址的對應關係記錄在DNS緩存表中,當業務流量匹配DNS緩存表中的IP地址時,查找出對應的域名。若查找出的域名與匹配規則中的域名一致,則根據匹配規則將匹配不同域名的報文在不同的負載均衡動作流程中處理。
(1) 進入係統視圖。
system-view
(2) 進入負載均衡類視圖。
loadbalance class class-name
(3) 創建域名類型的匹配規則。
match [ match-id ] destination domain-name domain-name
(1) 進入係統視圖。
system-view
(2) 進入負載均衡類視圖。
loadbalance class class-name
(3) 創建ISP類型的匹配規則。
match [match-id ] isp isp-name
(1) 進入係統視圖。
system-view
(2) 進入負載均衡類視圖。
loadbalance class class-name
(3) 創建應用類型的匹配規則。
match [ match-id ] app-group group-name
執行該配置後,出方向鏈路負載均衡流量將不能進行硬件快速轉發。
負載均衡動作可分為兩大類:
· 轉發類動作:確定是否轉發以及如何轉發報文。如果沒有配置轉發類動作,報文將被丟棄處理。
· 修改類動作:對報文執行一些修改行為。修改類動作應配合轉發類動作使用,否則修改後的報文終將被丟棄。
如果用戶想對報文進行丟棄處理,則可在創建負載均衡動作後,不為其指定任何上述動作。
在配置轉發類動作時,配置報文的轉發模式為轉發和配置指導轉發的鏈路組互斥。當配置了其中一條後,另一條的配置將被自動取消。
負載均衡動作配置任務如下:
(1) 創建負載均衡動作
(2) (可選)配置轉發類動作
請從配置報文的轉發模式為轉發和指定指導轉發的實服務組中選擇一項進行配置。
¡ (可選)配置查找鏈路失敗時繼續匹配下一條引用規則
¡ (可選)配置繁忙處理方式為繼續匹配下一條引用規則
(3) (可選)配置修改類動作
(1) 進入係統視圖。
system-view
(2) 創建鏈路類型的負載均衡動作,並進入負載均衡動作視圖。
loadbalance action action-name type link-generic
創建負載均衡動作時必須為其指定類型;而在進入已創建的負載均衡動作視圖時可以不指定類型,但若要指定類型,則必須與創建時的類型一致。
(3) (可選)配置負載均衡動作的描述信息。
description text
缺省情況下,未配置負載均衡動作的描述信息。
設備支持配置四種轉發類動作,包括:
· 報文的轉發模式為轉發:當配置本功能的動作在負載均衡策略中被引用時,直接對匹配當前策略的報文進行轉發。
· 指定指導轉發的鏈路組:當主用鏈路組可用(該鏈路組存在且有可用的鏈路)時,使用主用鏈路組指導轉發;當主用鏈路組不可用而備用鏈路組可用時,使用備用鏈路組指導轉發。
· 查找鏈路失敗時繼續匹配下一條引用規則:當該動作在策略中被引用時,在轉發中根據該配置判斷當前動作查找可用鏈路失敗時,可繼續順序匹配策略中的下一條引用規則。
· 配置繁忙處理方式為繼續匹配下一條引用規則:當該動作在負載均衡策略中被引用時,判斷當前動作查找鏈路全部繁忙時,可繼續順序匹配策略中的下一條引用規則。
(1) 進入係統視圖。
system-view
(2) 進入負載均衡動作視圖。
loadbalance action action-name
(3) 配置報文的轉發模式為轉發。
forward all
缺省情況下,報文轉發模式為丟棄。
(1) 進入係統視圖。
system-view
(2) 進入負載均衡動作視圖。
loadbalance action action-name
(3) 指定指導轉發的鏈路組。
link-group link-group-name [ backup backup-link-group-name ] [ sticky sticky-name ]
缺省情況下,未指定指導轉發的鏈路組。
(1) 進入係統視圖。
system-view
(2) 進入負載均衡動作視圖。
loadbalance action action-name
(3) 配置查找鏈路失敗時繼續匹配下一條引用規則。
fallback-action continue
缺省情況下,根據當前動作查找可用鏈路失敗時,不再繼續匹配下一條引用規則。
本命令對於SIP類型的虛服務不生效。
(1) 進入係統視圖。
system-view
(2) 進入負載均衡動作視圖。
loadbalance action action-name
(3) 配置繁忙處理方式為繼續匹配下一條引用規則。
busy-action continue
缺省情況下,繁忙處理方式為強製調度,即無論鏈路是否繁忙,依然為其分配流量。
(1) 進入係統視圖。
system-view
(2) 進入負載均衡動作視圖。
loadbalance action action-name
(3) 配置發往服務器的IP報文中的ToS字段。
set ip tos tos-number
缺省情況下,不改變發往服務器的IP報文中的ToS字段。
將負載均衡類和負載均衡動作關聯起來就構成了負載均衡策略。負載均衡策略是指導報文轉發的一種方式,用戶可以為匹配特定負載均衡類的報文指定執行的負載均衡動作,以及為未匹配任何負載均衡類的報文指定缺省負載均衡動作。
用戶可以在一個負載均衡策略中指定多個負載均衡類,轉發報文時會按照配置順序來匹配負載均衡類,匹配成功則執行相應的負載均衡動作,否則繼續匹配下一條負載均衡類。如果所有負載均衡類均未匹配,則執行缺省負載均衡動作。
出方向鏈路負載均衡與NAT內部服務器配合使用時,若NAT內部服務器對外公布的外網IP地址是接口或子接口IP地址,則管理員需要在虛服務器下,另外配置一條置頂的負載均衡策略:
(1) 配置源IP地址類型的匹配規則,匹配NAT內部服務器的內網IP地址;
(2) 配置負載均衡動作為轉發;
若NAT內部服務器對外公布的外網IP地址不是接口或子接口IP地址,則不需要增加上述配置。有關NAT內部服務器的詳解介紹,請參見“三層技術-IP業務配置指導”中的“NAT”。
負載均衡策略配置任務如下:
(1) 創建負載均衡策略
(2) 指定負載均衡動作
(3) 指定缺省負載均衡動作
(1) 進入係統視圖。
system-view
(2) 創建鏈路類型的負載均衡策略,並進入負載均衡策略視圖。
loadbalance policy policy-name type link-generic
創建負載均衡策略時必須為其指定類型;而在進入已創建的負載均衡策略視圖時可以不指定類型,但若要指定類型,則必須與創建時的類型一致。
(3) (可選)配置負載均衡策略的描述信息。
description text
缺省情況下,未配置負載均衡策略的描述信息。
鏈路類型的負載均衡策略隻能引用鏈路類型的負載均衡類和動作。
(1) 進入係統視圖。
system-view
(2) 進入負載均衡策略視圖。
loadbalance policy policy-name
(3) 為負載均衡類指定負載均衡動作。
class class-name [ insert-before before-class-name | insert-after [ after-class-name ] ] action action-name
缺省情況下,沒有為任何負載均衡類指定負載均衡動作。
不同的負載均衡類可以與同一負載均衡動作組成匹配規則。
鏈路類型的負載均衡策略隻能用鏈路類型的負載均衡動作作為其缺省動作。
(1) 進入係統視圖。
system-view
(2) 進入負載均衡策略視圖。
loadbalance policy policy-name
(3) 指定缺省負載均衡動作。
default-class action action-name
缺省情況下,未指定缺省負載均衡動作。
持續性組的作用是根據某持續性方法將具有一定相關性的會話都分配給同一鏈路處理,這個分配規則就稱為持續性表項。在一個會話中,當其首包通過持續性方法選擇了同一鏈路之後,後續包都會沿用這個選擇結果。
持續性組配置任務如下:
(1) 創建持續性組
(2) 配置IP持續性方法
(3) (可選)配置持續性表項超時時間
(4) (可選)開啟匹配持續性表項的會話不受連接數限製影響功能
(5) (可選)開啟持續性處理優先於繁忙功能
(1) 進入係統視圖。
system-view
(2) 創建地址端口類型的持續性組,並進入持續性組視圖。
sticky-group group-name type address-port
創建持續性組時必須為其指定類型;而在進入已創建的持續性組視圖時可以不指定類型,但若要指定類型,則必須與創建時的類型一致。
(3) (可選)配置持續性組的描述信息。
description text
缺省情況下,未配置持續性組的描述信息。
(1) 進入係統視圖。
system-view
(2) 進入持續性組視圖。
sticky-group group-name
(3) 配置IP持續性方法。
(IPv4網絡)
ip [ port ] { both | destination | source } [ mask mask-length ]
(IPv6網絡)
ipv6 [ port ] { both | destination | source } [ prefix prefix-length ]
缺省情況下,未配置IP持續性方法。
(1) 進入係統視圖。
system-view
(2) 進入持續性組視圖。
sticky-group group-name
(3) 配置持續性表項的超時時間。
timeout timeout-value
缺省情況下,持續性表項的超時時間為60秒。
開啟該功能後,如果該連接匹配了已有的持續性表項,將不受鏈路帶寬及連接參數的影響,也不受虛服務器上引用的負載均衡策略連接數限製的影響。
(1) 進入係統視圖。
system-view
(2) 進入持續性組視圖。
sticky-group group-name
(3) 開啟匹配持續性表項的會話不受連接數限製影響功能。
override-limit enable
缺省情況下,匹配持續性表項的會話受連接數限製配置的影響。
開啟持續性處理優先於繁忙功能後,在持續性表項老化之前,無論實鏈路是否處於繁忙狀態,設備都會依據持續性表項為其分配流量。
若持續性處理優先於繁忙功能處於關閉狀態,則在持續性表項老化之前,設備會依據持續性表項僅為處於正常狀態的鏈路分配流量。
(1) 進入係統視圖。
system-view
(2) 進入持續性組視圖。
sticky-group group-name
(3) 開啟持續性處理優先於繁忙功能。
sticky-over-busy enable
缺省情況下,持續性處理優先於繁忙功能處於關閉狀態。
通過配置參數模板可以製訂對報文進行更深入處理的模板。這樣,當參數模板被虛服務器引用之後,可以對虛服務器的業務流量進行更深入的解析、處理和優化。
(1) 進入係統視圖。
system-view
(2) 創建IP類型的參數模板,並進入參數模板視圖。
parameter-profile profile-name type ip
創建參數模板時必須為其指定類型;而在進入已創建的參數模板視圖時可以不指定類型,但若要指定類型,則必須與創建時的類型一致。
(3) (可選)配置參數模板的描述信息。
description text
缺省情況下,參數模板沒有描述信息。
(1) 進入係統視圖。
system-view
(2) 進入IP類型的參數模板視圖。
parameter-profile profile-name
(3) 配置發往客戶端的IP報文中的ToS字段。
set ip tos tos-number
缺省情況下,不改變發往客戶端的IP報文中的ToS字段。
本功能主要配置ISP(Internet Service Provider,互聯網服務提供商)的IP地址信息,該地址信息可以在ISP類型的匹配規則中進行引用。當目的地址匹配了指定的ISP地址信息後,可根據配置執行相應的負載均衡動作。設備支持通過以下三種方式配置ISP信息:
· 手工配置ISP信息:由用戶手工指定ISP地址信息。
· 自動更新ISP信息:開啟ISP自動更新功能後,設備會依據運營商的WHOIS服務器管理標識定期向指定的WHOIS服務器查詢ISP地址信息。
· 導入ISP文件:由用戶手工導入ISP文件。設備僅允許導入.tp格式的文件。ISP文件可在官方網站獲取。
配置ISP信息分為手工配置ISP信息、自動更新ISP信息和導入ISP文件,三者既可單獨配置,也可同時配置。
(1) 進入係統視圖。
system-view
(2) 創建ISP,並進入ISP視圖。
loadbalance isp name isp-name
(3) 配置ISP的IP地址信息。
(IPv4網絡)
ip address ipv4-address { mask-length | mask }
(IPv6網絡)
ipv6 address ipv6-address prefix-length
缺省情況下,未配置ISP的IP地址信息。
同一ISP中不允許配置完全相同的網段。
(4) (可選)配置ISP的描述信息。
description text
缺省情況下,未配置ISP的描述信息。
(1) 進入係統視圖。
system-view
(2) 創建ISP,並進入ISP視圖。
loadbalance isp name isp-name
(3) 配置當前ISP的WHOIS服務器管理標識
whois-mntner mntner-name
缺省情況下,未配置當前ISP的WHOIS服務器管理標識。
同一ISP下,最多允許手動配置10個WHOIS服務器管理標識。
(4) 退回係統視圖。
quit
(5) 開啟ISP自動更新功能。
loadbalance isp auto-update enable
缺省情況下,ISP自動更新功能處於關閉狀態。
(6) 配置ISP自動更新的頻率。
loadbalance isp auto-update frequency { per-day | per-week | per-month }
缺省情況下,ISP自動更新的頻率為每周一次。
(7) 配置ISP自動更新所查詢的WHOIS服務器。
loadbalance isp auto-update whois-server { domain domain-name | ip ip-address }
缺省情況下,未配置ISP自動更新所查詢的WHOIS服務器。
(1) 進入係統視圖。
system-view
(2) 導入ISP文件。
loadbalance isp file isp-file-name
DNS緩存表項用來記錄域名與鏈路出口方向(外網方向)下一跳IP地址的映射關係。通過本配置可以指定DNS緩存表項的老化時間。
(1) 進入係統視圖。
system-view
(2) 配置負載均衡DNS緩存表項的老化時間。
loadbalance dns-cache aging-time aging-time
缺省情況下,負載均衡DNS緩存表項的老化時間為60分鍾。
負載均衡ALG(Application Level Gateway,應用層網關)功能用於將父、子會話分發到同一條鏈路上。
在IPv6網絡中,設備不支持SIP協議的負載均衡ALG功能。
SIP分片報文不支持負載均衡ALG功能。
(1) 進入係統視圖。
system-view
(2) 開啟指定協議的負載均衡ALG功能。
loadbalance alg { dns | ftp | h323 | icmp-error | ils | mgcp | nbt | pptp | rsh | rtsp | sccp | sip | sqlnet | tftp | xdmcp }
缺省情況下,ftp、dns、pptp、rtsp和icmp-error協議的負載均衡ALG功能均處於開啟狀態。
(3) 開啟所有協議的負載均衡ALG功能。
loadbalance alg all-enable
缺省情況下,dns、ftp、pptp、rtsp和icmp-error協議的負載均衡ALG功能均處於開啟狀態。
用戶可以通過指定報文的協議類型、源IPv4/IPv6地址、源端口、目的IPv4/IPv6地址和目的端口,測試報文的負載均衡效果。
可在任意視圖下執行本命令,測試IPv4負載均衡的效果。
loadbalance schedule-test ip [ vpn-instance vpn-instance-name ] { application http { message-file file-name | method { get | post } url url [ header header ]&<1-10> [ content content-value ] } | protocol { protocol-number | icmp | tcp | udp } } destination destination-address destination-port destination-port source source-address source-port source-port [ slot slot-number ]
可在任意視圖下執行本命令,測試IPv6負載均衡的效果。
loadbalance schedule-test ipv6 [ vpn-instance vpn-instance-name ] { application http { message-file file-name | method { get | post } url url [ header header ]&<1-10> [ content content-value ] } | protocol { protocol-number | icmpv6 | tcp | udp } } destination destination-address destination-port destination-port source source-address source-port source-port [ slot slot-number ]
開啟了負載均衡的告警功能之後,負載均衡會生成告警信息,以向網管軟件報告本模塊的重要事件。該信息將發送至SNMP模塊,通過設置SNMP中告警信息的發送參數,來決定告警信息輸出的相關屬性。有關告警信息的詳細介紹,請參見“網絡管理和監控配置指導”中的“SNMP”。
(1) 進入係統視圖。
system-view
(2) 開啟負載均衡的告警功能。
snmp-agent trap enable loadbalance
缺省情況下,負載均衡的告警功能處於開啟狀態。
負載均衡日誌是為了滿足網絡管理員安全審計的需要,對負載均衡相關信息進行的記錄,包括基本日誌、NAT日誌和鏈路帶寬繁忙日誌。
通過開啟負載均衡鏈路流量日誌功能後,可輸出經過鏈路轉發流量的信息。
通過開啟負載均衡基本日誌功能,可在以下幾種情況下輸出日誌信息:
· 鏈路或鏈路組的狀態變化。
· 鏈路的健康檢測結果發生變化。
· 虛服務器或鏈路的連接數達到上限或者恢複到正常範圍內。
· 虛服務器或鏈路的連接速率達到上限或者恢複到正常範圍內。
· 虛服務器引用的缺省鏈路組主備切換。
· 負載均衡動作引用的鏈路組主備切換。
通過開啟負載均衡NAT日誌功能,可以實現對源或目的地址進行過NAT轉換的連接信息進行記錄,包括IP地址及端口的轉換信息、用戶的訪問信息等。
通過開啟負載均衡鏈路帶寬繁忙日誌功能,可以實現對所有鏈路的繁忙狀態進行記錄。
(1) 進入係統視圖。
system-view
(2) 開啟負載均衡基本日誌功能。
loadbalance log enable base
缺省情況下,負載均衡基本日誌功能處於開啟狀態。
(1) 進入係統視圖。
system-view
(2) 開啟負載均衡鏈路流量日誌功能。
loadbalance log enable base
缺省情況下,負載均衡鏈路流量日誌功能處於開啟狀態。
(1) 進入係統視圖。
system-view
(2) 開啟負載均衡NAT日誌功能。
loadbalance log enable nat
缺省情況下,負載均衡NAT日誌功能處於關閉狀態。
(1) 進入係統視圖。
system-view
(2) 開啟負載均衡鏈路帶寬繁忙日誌功能。
loadbalance log enable bandwidth-busy
缺省情況下,負載均衡鏈路帶寬繁忙日誌功能處於關閉狀態。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後出方向鏈路負載均衡的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下執行reset命令可以清除出方向鏈路負載均衡的統計信息。
表3-2 鏈路負載均衡顯示和維護
配置 |
命令 |
顯示負載均衡動作的信息 |
display loadbalance action [ name action-name ] |
顯示負載均衡類的信息 |
display loadbalance class [ name class-name ] |
顯示負載均衡熱備份的統計信息 |
display loadbalance hot-backup statistics [ slot slot-number ] |
顯示ISP的信息 |
display loadbalance isp [ ip ipv4-address | ipv6 ipv6-address | name isp-name ] |
顯示負載均衡策略的信息 |
display loadbalance policy [ name policy-name ] |
顯示就近性表項的信息 |
display loadbalance proximity [ vpn-instance vpn-instance-name ] [ ip [ ipv4-address ] | ipv6 [ ipv6-address ] ] [ slot slot-number ] |
顯示參數模板的信息 |
display parameter-profile [ name parameter-name ] |
顯示鏈路的信息 |
display loadbalance link [ brief | name link-name ] |
顯示鏈路組成員的信息 |
display loadbalance link link-group link-group-name [ name link-name ] |
顯示鏈路的統計信息 |
display loadbalance link statistics [ name link-name ] [ slot slot-number ] |
顯示鏈路組成員的統計信息 |
display loadbalance link statistics link-group link-group-name [ name link-name ] [ slot slot-number ] |
顯示鏈路出接口的統計信息 |
display loadbalance link out-interface statistics [ name link-name ] |
顯示鏈路組的信息 |
display loadbalance link-group [ brief | name link-group-name ] |
顯示持續性表項的信息 |
display sticky virtual-server [ virtual-server-name ] [ class class-name | default-class | default-link-group ] [ slot slot-number ] |
顯示持續性組的信息 |
display sticky-group [ name group-name ] |
顯示虛服務器的信息 |
display virtual-server [ brief | name virtual-server-name ] |
顯示虛服務器的統計信息 |
display virtual-server statistics [ name virtual-server-name ] [ slot slot-number ] |
顯示所有協議的負載均衡ALG狀態 |
|
顯示DNS緩存信息 |
display loadbalance dns-cache [ vpn-instance vpn-instance-name ] [ domain-name domain-name ] [ slot slot-number ] |
清除負載均衡熱備份的統計信息 |
reset loadbalance hot-backup statistics |
清除就近性表項的信息 |
reset loadbalance proximity [ vpn-instance vpn-instance-name ] [ ip [ ipv4-address ] | ipv6 [ ipv6-address ] ] |
清除負載均衡下的所有七層連接 |
reset loadbalance connections |
清除鏈路的統計信息 |
reset loadbalance link statistics [ link-name ] |
清除鏈路組成員的統計信息 |
reset loadbalance link statistics link-group link-group-name [ name link-name ] |
清除虛服務器的統計信息 |
reset virtual-server statistics [ virtual-server-name ] |
清除DNS緩存信息 |
reset loadbalance dns-cache [ vpn-instance vpn-instance-name ] [ domain-name domain-name ] |
用戶從兩個運營商ISP 1和ISP 2處分別租用了鏈路Link 1和Link 2,這兩條鏈路的路由器跳數、帶寬和成本均相同,但Link 1的網絡延遲小於Link 2。通過配置鏈路負載均衡,使Host訪問Server時優先選擇這兩條鏈路中的最優鏈路。
圖3-4 出方向鏈路負載均衡基本組網配置組網圖
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 10.1.1.1 255.255.255.0
[Device-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[Device] security-zone name untrust
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/1
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/2
[Device-security-zone-Untrust] quit
[Device] security-zone name trust
[Device-security-zone-Trust] import interface gigabitethernet 1/0/3
[Device-security-zone-Trust] quit
(3) 配置安全策略
配置安全策略放行Trust與Untrust安全域、Local與Untrust安全域之間的流量,用於用戶訪問外網服務器。
# 配置名稱為lbrule1的安全策略規則,使用戶可以訪問外網服務器,具體配置步驟如下。
[Device] security-policy ip
[Device-security-policy-ip] rule name lbrule1
[Device-security-policy-ip-1-lbrule1] source-zone trust
[Device-security-policy-ip-1-lbrule1] destination-zone untrust
[Device-security-policy-ip-1-lbrule1] source-ip-subnet 192.168.1.0 255.255.255.0
[Device-security-policy-ip-1-lbrule1] action pass
[Device-security-policy-ip-1-lbrule1] quit
# 配置名稱為lblocalout的安全策略規則,使Device可以向鏈路下一跳發送健康檢測報文,具體配置步驟如下。
[Device-security-policy-ip] rule name lblocalout
[Device-security-policy-ip-2-lblocalout] source-zone local
[Device-security-policy-ip-2-lblocalout] destination-zone untrust
[Device-security-policy-ip-2-lblocalout] destination-ip-subnet 10.1.1.0 255.255.255.0
[Device-security-policy-ip-2-lblocalout] destination-ip-subnet 20.1.1.0 255.255.255.0
[Device-security-policy-ip-2-lblocalout] action pass
[Device-security-policy-ip-2-lblocalout] quit
[Device-security-policy-ip] quit
(4) 配置鏈路組
# 創建ICMP類型的NQA模板t1,並配置每次探測結果發送機製。
[Device] nqa template icmp t1
[Device-nqatplt-icmp-t1] reaction trigger per-probe
[Device-nqatplt-icmp-t1] quit
# 指定缺省就近性探測方法為t2,並配置就近性計算的網絡延遲權值為200。
[Device] loadbalance proximity
[Device-lb-proximity] match default probe t2
[Device-lb-proximity] rtt weight 200
[Device-lb-proximity] quit
# 創建鏈路組lg,開啟就近性功能,關閉NAT功能。
[Device] loadbalance link-group lg
[Device-lb-lgroup-lg] proximity enable
[Device-lb-lgroup-lg] transparent enable
[Device-lb-lgroup-lg] quit
(5) 配置鏈路
# 創建鏈路link1和link2,配置link1的下一跳IPv4地址為10.1.1.2,link2的下一跳IPv4地址為20.1.1.2,加入鏈路組lg,並引用ICMP類型的NQA模板t1。
[Device] loadbalance link link1
[Device-lb-link-link1] router ip 10.1.1.2
[Device-lb-link-link1] link-group lg
[Device-lb-link-link1] probe t1
[Device-lb-link-link1] quit
[Device] loadbalance link link2
[Device-lb-link-link2] router ip 20.1.1.2
[Device-lb-link-link2] link-group lg
[Device-lb-link-link2] probe t1
[Device-lb-link-link2] quit
(6) 配置虛服務器
# 創建LINK-IP類型的虛服務器vs,配置其VSIP為通配0.0.0.0/0,指定其缺省主用鏈路組為lg,並開啟此虛服務器。
[Device] virtual-server vs type link-ip
[Device-vs-link-ip-vs] virtual ip address 0.0.0.0 0
[Device-vs-link-ip-vs] default link-group lg
[Device-vs-link-ip-vs] service enable
[Device-vs-link-ip-vs] quit
# 顯示所有鏈路的簡要信息。
[Device] display loadbalance link brief
Link Router IP/Interface State VPN instance Link group
link1 10.1.1.2 Active lg
link2 20.1.1.2 Active lg
# 顯示所有鏈路組的詳細信息。
[Device] display loadbalance link-group
Link group: lg
Description:
Predictor: Round robin
Proximity: Enabled
NAT: Disabled
SNAT pool:
Failed action: Keep
Active threshold: Disabled
Slow-online: Disabled
Selected link: Disabled
Probe information:
Probe success criteria: All
Probe method:
Total link: 2
Active link: 2
Link list:
Name State VPN instance Router IP/Interface Weight Priority
link1 Active 10.1.1.2 100 4
link2 Active 20.1.1.2 100 4
# 顯示所有虛服務器的詳細信息。
[Device] display virtual-server
Virtual server: vs
Description:
Type: LINK-IP
State: Active
VPN instance:
Virtual IPv4 address: 0.0.0.0/0
Virtual IPv6 address: --
Port: 0 (any port)
Primary link group: lg (in use)
Backup link group:
Sticky:
LB policy:
LB limit-policy:
Connection limit: --
Rate limit:
Connections: --
Bandwidth: --
Inbound bandwidth: --
Outbound bandwidth: --
Connection synchronization: Disabled
Sticky synchronization: Disabled
Bandwidth busy protection: Disabled
Interface bandwidth statistics: Disabled
Route advertisement: Disabled
# 顯示所有IPv4就近性表項的簡要信息。
[Device] display loadbalance proximity ip
(*) - Real server object
Slot 1:
IPv4 address/Mask length Timeout Best link
------------------------------------------------------------
10.1.0.0/24 50 link1
如圖4-1所示,企業內網用戶可以通過運營商ISP 1的鏈路Link 1和ISP 2的鏈路Link 2分別訪問提供相同網絡服務的外網服務器External server A和External server B。企業內網用戶通過域名訪問外網服務器時,內網用戶的所有DNS請求報文會發往同一DNS服務器。DNS服務器收到DNS請求報文後,將其解析為同一運營商網絡內外網服務器的IP地址,這將使內網用戶的所有流量都通過一條鏈路轉發,導致一條鏈路擁塞,而其他鏈路閑置。
DNS透明代理功能可以有效解決由於客戶端DNS服務器的配置導致流量分配不均的問題。通過DNS透明代理功能可以使DNS請求報文發往不同運營商網絡內的DNS服務器,從而使內網用戶訪問外網服務器的流量較為均勻地分配到多條鏈路上,提高流量轉發效率,提升服務質量;可以避免出現一條鏈路擁塞而其他鏈路閑置的情況;也可以在某條鏈路出現故障時,使用其他鏈路來訪問外網服務器,避免因鏈路故障導致訪問失敗。
圖4-1 DNS透明代理原理圖
DNS透明代理功能是通過改變DNS請求報文的目的地址實現的。具體工作流程如圖4-2所示。
圖4-2 DNS透明代理工作流程圖
DNS透明代理工作流程簡述如表4-1所示。
表4-1 DNS透明代理工作流程簡述
步驟 |
描述 |
源IP地址 |
目的IP地址 |
(1) |
內網用戶向負載均衡設備發送DNS請求報文 |
Host IP |
DNS server A's IP |
(2) |
負載均衡設備收到DNS請求報文後根據調度算法選出應將此請求分發給哪台DNS服務器 |
- |
- |
(3) |
負載均衡設備將DNS請求報文的目的IP地址修改為選定的DNS服務器的IP地址 |
Host IP |
DNS server IP |
(4) |
DNS服務器接收並處理DNS請求報文,返回DNS應答報文 |
DNS server IP |
Host IP |
(5) |
負載均衡設備收到DNS應答報文後,將其源IP地址修改為DNS請求報文中的目的IP地址後轉發給內網用戶 |
DNS server A's IP |
Host IP |
(6) |
內網用戶根據DNS應答報文中的IP地址訪問外網服務器 |
Host IP |
External server |
(7) |
外網服務器應答內網用戶 |
External server |
Host IP |
負載均衡設備通過改變DNS請求報文的目的地址控製訪問流量在多條鏈路上的轉發,為內網用戶訪問外網服務器選擇最佳鏈路。
如圖4-3所示,負載均衡設備上包括以下要素:
· Transparent DNS proxy:DNS透明代理。隻有當DNS請求的端口號匹配DNS透明代理的端口號時,負載均衡設備才對收到的DNS請求報文進行DNS透明代理。
· DNS server pool:DNS服務器池。DNS服務器的集合。
· DNS server:DNS服務器。處理用戶DNS請求報文的實體。
· Link:運營商提供的實體鏈路。
· LB class:負載均衡類。將報文分類,以便對不同類型的報文執行不同的負載均衡動作。
· LB action:負載均衡動作。製定丟棄、轉發或修改報文的具體行為。
· LB policy:負載均衡策略。將負載均衡類和負載均衡動作關聯起來就構成了負載均衡策略。負載均衡策略可被DNS透明代理引用。
當收到DNS請求的目的地址和端口號均匹配DNS透明代理的IP地址和端口號時,負載均衡設備會對DNS請求報文進行DNS透明代理。首先在DNS透明代理中查找關聯的DNS服務器池。再依據池中配置的調度算法選出應將DNS請求分發給哪台DNS服務器。負載均衡設備將選定DNS服務器的IP地址作為目的地址發送DNS請求報文,DNS服務器接收並處理DNS請求報文,將其解析為同網絡內外網服務器的IP地址,並返回DNS應答報文。內網用戶收到應答報文後,就可以訪問該外網服務器了。
本功能與域名解析模塊的DNS源地址透明代理功能互斥,不允許同時配置。有關DNS源地址透明代理功能,請參見“三層技術-IP業務配置指導”的“域名解析”。
DNS透明代理功能配置任務如下:
(1) 配置DNS透明代理
(2) 配置DNS服務器池
(3) 配置DNS服務器池的調度算法
(4) 配置鏈路
(5) (可選)配置負載均衡策略
a. 配置負載均衡類
b. 配置負載均衡動作
c. 配置負載均衡策略
(6) (可選)配置持續性組
(7) (可選)配置負載均衡日誌功能
通過配置DNS透明代理,負載均衡可以對匹配上DNS透明代理的DNS請求報文進行負載均衡處理。
如果同時指定DNS服務器池和引用負載均衡策略,報文會被優先交給負載均衡策略處理,當負載均衡策略無法處理時才交給DNS服務器池處理。
DNS透明代理配置任務如下:
(1) 創建DNS透明代理
(3) 配置報文處理策略
請至少選擇其中一項進行配置:
¡ 引用負載均衡策略
(4) (可選)指定DNS透明代理所屬的VPN實例
(5) (可選)開啟帶寬繁忙保護功能
(6) (可選)配置熱備份功能
(7) 開啟DNS透明代理功能
(1) 進入係統視圖。
system-view
(2) 創建DNS透明代理,並進入DNS透明代理視圖。
loadbalance dns-proxy dns-proxy-name type udp
在同時配置DNS透明代理功能和服務器負載均衡功能的情況下,為了使DNS透明代理功能正常使用,請避免將DNS透明代理的IP地址和端口號與UDP類型的虛服務器配置為同一IP地址和端口號。
建議將DNS透明代理的IP地址配置為全0地址,即對所有的DNS請求報文均進行DNS透明代理處理。此時,需要確保客戶端配置的DNS服務器的地址不能為設備的接口地址或與接口地址同網段的地址,且客戶端的DNS請求報文能夠發到設備上。
(1) 進入係統視圖。
system-view
(2) 進入DNS透明代理視圖。
loadbalance dns-proxy dns-proxy-name
(3) 配置DNS透明代理的IP地址。
(IPv4網絡)
ip address ipv4-address [ mask-length | mask ]
(IPv6網絡)
ipv6 address ipv6-address [ prefix-length ]
缺省情況下,未配置DNS透明代理的IP地址。
(4) 配置DNS透明代理的端口號。
port port-number
缺省情況下,DNS透明代理的端口號為53。
(1) 進入係統視圖。
system-view
(2) 進入DNS透明代理視圖。
loadbalance dns-proxy dns-proxy-name
(3) 指定DNS透明代理引用的缺省DNS服務器池。
default dns-server-pool pool-name [ sticky sticky-name ]
缺省情況下,未指定DNS透明代理引用的缺省DNS服務器池。
通過在DNS透明代理視圖下引用負載均衡策略,能夠細化DNS請求的粒度。根據策略中的負載均衡類,對不同的報文內容進行不同的負載均衡動作處理,從而有效地豐富了DNS透明代理的負載功能,實現對鏈路帶寬資源的合理利用。有關負載均衡策略的詳細配置,請參見“4.10 配置負載均衡策略”。
(1) 進入係統視圖。
system-view
(2) 進入DNS透明代理視圖。
loadbalance dns-proxy dns-proxy-name
(3) 指定DNS透明代理引用的負載均衡策略。
lb-policy policy-name
缺省情況下,DNS透明代理未引用負載均衡策略。
(1) 進入係統視圖。
system-view
(2) 進入DNS透明代理視圖。
loadbalance dns-proxy dns-proxy-name
(3) 指定DNS透明代理所屬的VPN實例。
vpn-instance vpn-instance-name
缺省情況下,DNS透明代理所屬的VPN實例為公網。
帶寬繁忙保護功能就是對DNS服務器對應鏈路的帶寬繁忙比進行限製。當流量超過某條鏈路的帶寬繁忙比(當前帶寬與最大帶寬的百分比)後,新建流量將不再向該鏈路分發,而原有流量則仍由該鏈路繼續分發。開啟帶寬繁忙保護功能後,DNS透明代理設備選擇DNS服務器時,會檢查DNS服務器使用的鏈路的帶寬繁忙比是否超過配置的帶寬繁忙比,如果超出則不選擇該DNS服務器。
當DNS服務器池中的所有DNS服務器對應的鏈路都達到了帶寬繁忙比例時,帶寬繁忙保護功能自動失效;隻要此DNS服務器池中有任何一個DNS服務器對應鏈路恢複到配置的帶寬繁忙比例以下,則該DNS服務器重新參與調度,帶寬繁忙保護功能自動生效。有關鏈路帶寬繁忙比的詳細配置,請參見“4.7.8 配置鏈路的帶寬繁忙比與最大期望帶寬”。
(1) 進入係統視圖。
system-view
(2) 進入DNS透明代理視圖。
loadbalance dns-proxy dns-proxy-name
(3) 開啟DNS服務器對應鏈路的帶寬繁忙保護功能。
bandwidth busy-protection enable
缺省情況下,DNS服務器對應的鏈路帶寬繁忙保護功能處於關閉狀態。
配置熱備份功能時,為達到主備切換時業務不中斷的目的,需要在DNS透明代理下開啟會話擴展信息備份功能和持續性信息備份功能。會話擴展信息備份功能主要備份負載均衡業務的會話表項;持續性信息備份功能主要備份持續性表項。
在開啟DNS透明代理的持續性表項備份功能之前,請確保主用和備用設備上均不存在持續性表項。可以通過先開啟持續性表項備份功能,再引用持續性組,保證備份前設備上不存在持續性表項。
若設備的配置發生以下變化,則設備會刪除當前已有的持續性表項,後續流量將會重新觸發生成新的持續性表項。
· 關閉持續性表項備份功能
· 持續性表項備份由組間備份切換為全局備份
· 持續性表項備份由全局備份切換為組間備份
(1) 進入係統視圖。
system-view
(2) 進入DNS透明代理視圖。
loadbalance dns-proxy dns-proxy-name
(3) 開啟DNS透明代理的會話擴展信息備份功能。
connection-sync enable
缺省情況下,DNS透明代理的會話擴展信息備份功能處於關閉狀態。
(4) 開啟DNS透明代理的持續性信息備份功能。
sticky-sync enable
缺省情況下,DNS透明代理的持續性信息備份功能處於關閉狀態。
配置完DNS透明代理後,需要將其開啟後才能進入工作狀態。
(1) 進入係統視圖。
system-view
(2) 進入DNS透明代理視圖。
loadbalance dns-proxy dns-proxy-name
(3) 開啟DNS透明代理功能。
service enable
缺省情況下,DNS透明代理功能處於關閉狀態。
通過配置DNS服務池,可對具有相同或相似功能的DNS服務器進行統一管理。
(1) 進入係統視圖。
system-view
(2) 創建DNS服務器池,並進入DNS服務器池視圖。
loadbalance dns-server-pool pool-name
(3) (可選)配置DNS服務器池的描述信息。
description text
缺省情況下,未配置DNS服務器池的描述信息。
設備支持通過兩種方式向DNS服務器池中添加成員:
· 在DNS服務器池視圖下,通過本配置創建DNS服務器池成員或添加已存在的DNS服務器。
· 在DNS服務器視圖下,指定其所屬的DNS服務器池。具體配置請參見“4.6.2 創建DNS服務器並指定其所屬DNS服務器池”。
本配置用來指定DNS服務器在DNS服務器池內的權值、調用優先級、連接參數、健康檢測功能以及慢宕功能。基於DNS服務器池成員的調度算法會依據這些配置選出當前DNS服務器池中最優的DNS服務器。
(1) 進入係統視圖。
system-view
(2) 進入DNS服務器池視圖。
loadbalance dns-server-pool pool-name
(3) 創建並添加DNS服務器池成員,並進入DNS服務器池成員視圖。
dns-server dns-server-name port port-number
若指定名稱的DNS服務器已存在,則本命令隻是在DNS服務器池視圖下添加已存在的DNS服務器。
(4) (可選)配置DNS服務器池成員的描述信息。
description text
缺省情況下,未配置DNS服務器池成員的描述信息。
(1) 進入係統視圖。
system-view
(2) 進入DNS服務器池視圖。
loadbalance dns-server-pool pool-name
(3) 進入DNS服務器池成員視圖。
dns-server dns-server-name port port-number
(4) 配置DNS服務器池成員的權值。
weight weight-value
缺省情況下,DNS服務器池成員的權值為100。
(5) 配置DNS服務器池成員的調用優先級。
priority priority
缺省情況下,DNS服務器池成員的調度優先級為4。
(1) 進入係統視圖。
system-view
(2) 進入DNS服務器池視圖。
loadbalance dns-server-pool pool-name
(3) 進入DNS服務器池成員視圖。
dns-server dns-server-name port port-number
(4) 指定DNS服務器池成員的健康檢測方法。
probe template-name
缺省情況下,未指定DNS服務器池成員的健康檢測方法。
設備支持通過引用NQA模板進行健康檢測。有關NQA模板的詳細介紹,請參見“網絡管理和監控配置指導”中的“NQA”。
(5) 配置DNS服務器池成員健康檢測的成功條件。
success-criteria { all | at-least min-number }
缺省情況下,隻有全部方法都通過檢測才認為健康檢測成功。
負載均衡設備根據DNS服務器池的調度算法,計算出處理用戶DNS請求的DNS服務器。設備支持以下幾種調度算法:
· 源IP哈希算法:對DNS請求的源IP地址進行哈希運算,依據生成的哈希值決定將DNS請求分發給哪台DNS服務器。該算法可實現將來自相同源IP地址的DNS請求發往同一台DNS服務器進行處理。
· 源IP及端口哈希算法:對DNS請求的源IP地址和端口號共同進行哈希運算,依據生成的哈希值決定將DNS請求發往哪台DNS服務器。該算法可實現將源IP地址和端口號均相同的DNS請求發往同一台DNS服務器進行處理。
· 目的IP哈希算法:對DNS請求的目的IP地址進行哈希運算,依據生成的哈希值決定將DNS請求發往哪台DNS服務器。該算法可實現將目的IP地址相同的DNS請求發往同一台DNS服務器進行處理。
· 隨機算法:將DNS請求報文隨機分發給某台DNS服務器。
· 加權輪轉算法:用戶可根據DNS服務器性能的不同,為其分配不同的權值。加權輪轉算法根據權值的大小將DNS請求依次分發給每台DNS服務器。例如,DNS服務器Server A和Server B的權值為2和1,按照加權輪轉調度算法,負載均衡設備會連續分配兩條DNS請求給Server A,再分配DNS請求給Server B。該算法適用於服務器業務處理能力不同,而每一條會話對服務器的負載大致相同的場景。
· 帶寬算法:根據DNS服務器的權值與剩餘帶寬的比例把DNS請求分發給每台DNS服務器。當剩餘帶寬相同時,該算法等價於加權輪轉算法;當DNS服務器權值相同時,總是將用戶請求分發給剩餘帶寬最大的鏈路所對應的DNS服務器;當DNS服務器權值和剩餘帶寬均不相同時,兩者共同決定DNS服務器的調度。
· 最大帶寬算法:總是將DNS請求分發給處於空閑狀態且剩餘帶寬最大的鏈路所對應的DNS服務器。
(1) 進入係統視圖。
system-view
(2) 進入DNS服務器池視圖。
loadbalance dns-server-pool pool-name
(3) 配置DNS服務池的調度算法。
¡ predictor hash address { destination | source | source-ip-port } [ mask mask-length ] [ prefix prefix-length ]
¡ predictor { random | round-robin | { bandwidth | max-bandwidth } [ inbound | outbound ] }
缺省情況下,DNS服務器池的調度算法為加權輪轉算法。
(4) 配置DNS服務器池可被調度算法調用的DNS服務器數量限製。
selected-server min min-number max max-number
缺省情況下,DNS服務器池中調用優先級最高的DNS服務器全部被調度算法調用。
通過健康檢測可以對DNS服務器進行檢測,保證其能夠提供有效的服務。
用戶既可在DNS服務器池視圖下對池內的所有DNS服務器進行配置,也可在DNS服務器視圖下隻對當前DNS服務器進行配置,後者的配置優先級較高。
設備支持通過引用NQA模板進行健康檢測。有關NQA模板的詳細介紹,請參見“網絡管理和監控配置指導”中的“NQA”。
(1) 進入係統視圖。
system-view
(2) 進入DNS服務器池視圖。
loadbalance dns-server-pool pool-name
(3) 指定DNS服務器池的健康檢測方法。
probe template-name
缺省情況下,未指定DNS服務器池的健康檢測方法。
(4) 配置DNS服務器池健康檢測的成功條件。
success-criteria { all | at-least min-number }
缺省情況下,隻有全部方法都通過檢測才認為健康檢測成功。
通過配置DNS服務器,指定負載均衡設備上處理和響應DNS請求報文的實體。此處配置的DNS服務器對應於運營商網絡內的DNS服務器。一個DNS服務器可以屬於多個DNS服務器池,一個DNS服務器池也可以包含多個DNS服務器。
DNS服務器配置如下:
(2) 配置DNS服務器的IP地址
請選擇以下一項進行配置:
(3) 指定DNS服務器所屬的VPN實例
(4) 指定與DNS服務器關聯的鏈路
(5) (可選)配置權值和調用優先級
(6) (可選)配置健康檢測功能
(1) 進入係統視圖。
system-view
(2) 創建DNS服務器,並進入DNS服務器視圖。
loadbalance dns-server dns-server-name
(3) (可選)配置DNS服務器的描述信息。
description text
缺省情況下,DNS服務器未配置描述信息。
(4) 指定DNS服務器所屬的DNS服務器池。
dns-server-pool pool-name
缺省情況下,未指定DNS服務器所屬的DNS服務器池。
(1) 進入係統視圖。
system-view
(2) 進入DNS服務器視圖。
loadbalance dns-server dns-server-name
(3) 配置DNS服務器的IP地址。
(IPv4網絡)
ip address ipv4-address
(IPv6網絡)
ipv6 address ipv6-address
缺省情況下,未配置DNS服務器IP地址。
(4) 配置DNS服務器的端口號。
port port-number
缺省情況下,DNS服務器的端口號為0(表示繼續使用原報文攜帶的端口號)。
(1) 進入係統視圖。
system-view
(2) 進入DNS服務器視圖。
loadbalance dns-server dns-server-name
(3) 指定DNS服務器所屬的VPN實例。
vpn-instance vpn-instance-name
缺省情況下,DNS服務器所屬的VPN實例為公網。
在出口鏈路使用PPPoE動態獲取IP地址的應用場景下,建議通過本配置動態獲取DNS服務器的IP地址。
配置本功能前,需要在鏈路視圖下配置鏈路對應的出接口。否則不能獲取到DNS服務器IP地址。
(1) 進入係統視圖。
system-view
(2) 進入DNS服務器視圖。
loadbalance dns-server dns-server-name
(3) 開啟動態獲取DNS服務器IP地址的功能。
auto-alloc address
缺省情況下,動態獲取DNS服務器IP地址的功能處於關閉狀態。
每台DNS服務器僅支持與一條鏈路相關聯,同一條鏈路可以關聯多台DNS服務器。
(1) 進入係統視圖。
system-view
(2) 進入DNS服務器視圖。
loadbalance dns-server dns-server-name
(3) 指定與DNS服務器關聯的鏈路。
link link-name
缺省情況下,未指定與DNS服務器關聯的鏈路。
通過在DNS服務器視圖下配置權值和調用優先級,可以調整DNS服務器的加權輪轉調度算法和帶寬調度算法使用的權值,以及DNS服務器在DNS服務器池中的調用優先級。
(1) 進入係統視圖。
system-view
(2) 進入DNS服務器視圖。
loadbalance dns-server dns-server-name
(3) 配置DNS服務器的權值。
weight weight-value
缺省情況下,DNS服務器的權值為100。
(4) 配置DNS服務器的調用優先級。
priority priority
缺省情況下,DNS服務器的調用優先級為4。
通過健康檢測可以對DNS服務器進行檢測,保證其能夠提供有效的服務。
用戶既可在DNS服務器池視圖下對池內的所有DNS服務器進行配置,也可在DNS服務器視圖下隻對當前DNS服務器進行配置,後者的配置優先級較高。
(1) 進入係統視圖。
system-view
(2) 進入DNS服務器視圖。
loadbalance dns-server dns-server-name
(3) 指定DNS服務器的健康檢測方法。
probe template-name
缺省情況下,未指定DNS服務器的健康檢測方法。
(4) 配置DNS服務器健康檢測的成功條件。
success-criteria { all | at-least min-number }
缺省情況下,隻有全部方法都通過檢測才認為健康檢測成功。
鏈路是運營商提供的實體鏈路。通過在鏈路視圖下配置通往外網方向的下一跳IP地址,實現對流量的引流。通過配置最大帶寬、健康檢測、帶寬繁忙比和最大期望帶寬等功能為鏈路性能提供一定的保障。
鏈路配置任務如下:
(1) 創建鏈路
(2) 配置鏈路的IP地址或出接口
請選擇以下一項進行配置:
(3) (可選)指定鏈路所屬的VPN實例
(4) (可選)配置鏈路所允許的最大帶寬
(5) (可選)配置健康檢測功能
(6) (可選)配置鏈路的帶寬繁忙比與最大期望帶寬
(1) 進入係統視圖。
system-view
(2) 創建鏈路,並進入鏈路視圖。
loadbalance link link-name
(3) (可選)配置鏈路的描述信息。
description text
缺省情況下,未配置鏈路的描述信息。
(1) 進入係統視圖。
system-view
(2) 進入鏈路視圖。
loadbalance link link-name
(3) 指定鏈路通往外網方向的下一跳IP地址。
(IPv4網絡)
router ip ipv4-address
(IPv6網絡)
router ipv6 ipv6-address
缺省情況下,未指定鏈路通往外網方向的下一跳IP地址。
在出口鏈路使用PPPoE動態獲取IP地址的應用場景下,通過本配置,負載均衡設備可從指定接口動態獲取鏈路通往外網的下一跳IP地址。
(1) 進入係統視圖。
system-view
(2) 進入鏈路視圖。
loadbalance link link-name
(3) 配置鏈路對應的出接口。
router interface interface-type interface-number
缺省情況下,未配置鏈路對應的出接口。
(1) 進入係統視圖。
system-view
(2) 進入鏈路視圖。
loadbalance link link-name
(3) 指定鏈路所屬的VPN實例。
vpn-instance vpn-instance-name
缺省情況下,鏈路屬於公網。
(1) 進入係統視圖。
system-view
(2) 進入鏈路視圖。
loadbalance link link-name
(3) 配置鏈路所允許的最大帶寬。
rate-limit bandwidth [ inbound | outbound ] bandwidth-value kbps
缺省情況下,鏈路所允許的最大帶寬不受限製。
通過健康檢測可以對鏈路進行檢測,保證其能夠提供有效的服務。
設備支持通過引用NQA模板進行健康檢測。有關NQA模板的詳細介紹,請參見“網絡管理和監控配置指導”中的“NQA”。
若要配置對指定鏈路進行健康檢測,則需要在NQA模板中指定出接口。避免探測鏈路斷開後,探測報文根據等價路由從其他鏈路發送出去,探測結果不符合實際情況。
(1) 進入係統視圖。
system-view
(2) 進入鏈路視圖。
loadbalance link link-name
(3) 指定鏈路的健康檢測方法。
probe template-name
缺省情況下,未指定鏈路的健康檢測方法。
(4) 配置鏈路健康檢測的成功條件。
success-criteria { all | at-least min-number }
缺省情況下,隻有全部方法都通過檢測才認為健康檢測成功。
通過本配置可以調整鏈路的帶寬繁忙比,即當前流量與最大帶寬的百分比值,以及最大期望帶寬。當訪問某個鏈路的流量超過兩者的乘積後,鏈路進入繁忙狀態,新建流量(不包括匹配持續性表項的流量)將不再向該鏈路分發,而原有流量則仍由該鏈路繼續分發;當該鏈路流量低於該鏈路的帶寬繁忙恢複比與最大期望帶寬的乘積後,鏈路解除繁忙狀態,重新參與調度。
鏈路的最大期望帶寬不僅用於繁忙保護功能,還用於帶寬算法和最大帶寬算法中剩餘帶寬的計算。
(1) 進入係統視圖。
system-view
(2) 進入鏈路視圖。
loadbalance link link-name
(3) 配置鏈路的帶寬繁忙比。
bandwidth [ inbound | outbound ] busy-rate busy-rate-number [ recovery recovery-rate-number ]
缺省情況下,鏈路的總帶寬繁忙比為70。
(4) 配置鏈路最大期望帶寬。
max-bandwidth [ inbound | outbound ] bandwidth-value kbps
缺省情況下,鏈路最大期望帶寬不受限製。
負載均衡類的作用是將報文分類,即通過匹配規則將報文按照一定條件進行匹配,以便將不同類型的報文在不同的負載均衡動作流程中處理。一個負載均衡類中最多允許創建65535條匹配規則。
負載均衡類配置任務如下:
(1) 創建負載均衡類
(2) 創建匹配規則
請至少選擇以下一項進行配置:
(1) 進入係統視圖。
system-view
(2) 創建DNS類型的負載均衡類,並進入負載均衡類視圖。
loadbalance class class-name type dns [ match-all | match-any ]
創建負載均衡類時必須為其指定類型;而在進入已創建的負載均衡類視圖時可以不指定類型,但若要指定類型,則必須與創建時的類型一致。
(3) (可選)配置負載均衡類的描述信息。
description text
缺省情況下,未配置負載均衡類的描述信息。
(1) 進入係統視圖。
system-view
(2) 進入DNS類型的負載均衡類視圖。
loadbalance class class-name
(3) 創建嵌套類的匹配規則。
match [ match-id ] class class-name
(1) 進入係統視圖。
system-view
(2) 進入DNS類型的負載均衡類視圖。
loadbalance class class-name
(3) 創建源IP地址類型的匹配規則。
match [ match-id ] source { ip address ipv4-address [ mask-length | mask ] | ipv6 address ipv6-address [ prefix-length ] }
(1) 進入係統視圖。
system-view
(2) 進入DNS類型的負載均衡類視圖。
loadbalance class class-name
(3) 創建目的IP地址類型的匹配規則。
match [ match-id ] destination { ip address ipv4-address [ mask-length | mask ] | ipv6 address ipv6-address [ prefix-length ] }
如果指定編號或名稱的ACL不存在,此匹配規則將不參與匹配。
(1) 進入係統視圖。
system-view
(2) 進入DNS類型的負載均衡類視圖。
loadbalance class class-name
(3) 創建ACL類型的匹配規則。
match [ match-id ] acl [ ipv6 ] { acl-number | name acl-name }
(1) 進入係統視圖。
system-view
(2) 進入DNS類型的負載均衡類視圖。
loadbalance class class-name
(3) 創建域名類型的匹配規則。
match [ match-id ] domain-name domain-name
負載均衡動作可分為兩大類:
· 轉發類動作:確定是否轉發以及如何轉發報文。如果沒有配置轉發類動作,報文將被丟棄處理。
· 修改類動作:對報文執行一些修改行為。修改類動作應配合轉發類動作使用,否則修改後的報文終將被丟棄。
如果用戶想對報文進行丟棄處理,則可在創建負載均衡動作後,不為其指定任何上述動作。
在配置轉發類動作時,配置報文的轉發模式為轉發、指定指導轉發的DNS服務器池、和配置跳過當前DNS透明代理兩兩互斥。當配置了其中一條後,其他的配置將被自動取消。
負載均衡動作配置如下:
(1) 創建負載均衡動作
(2) (可選)配置轉發類動作
請從配置報文的轉發模式為轉發、指定指導轉發的DNS服務器池和配置跳過當前DNS透明代理中選擇一項進行配置。
¡ (可選)配置查找可用DNS服務器失敗時繼續匹配下一條引用規則
¡ (可選)配置繁忙處理方式為繼續匹配下一條引用規則
(3) (可選)配置修改類動作
(1) 進入係統視圖。
system-view
(2) 創建DNS類型的負載均衡動作,並進入負載均衡動作視圖。
loadbalance action action-name type dns
創建負載均衡動作時必須為其指定類型;而在進入已創建的負載均衡動作視圖時可以不指定類型,但若要指定類型,則必須與創建時的類型一致。
(3) (可選)配置負載均衡動作的描述信息。
description text
缺省情況下,未配置負載均衡動作的描述信息。
設備支持配置五種轉發類動作,包括:
· 報文的轉發模式為轉發:當配置本功能的動作在負載均衡策略中被引用時,直接對匹配當前策略的報文進行轉發。
· 指定指導轉發的DNS服務器池:當配置本功能的動作在負載均衡策略中被引用時,可將報文轉發到指定的DNS服務器池進行處理。
· 跳過當前DNS透明代理:配置報文的轉發模式為跳過當前DNS透明代理,可使匹配了DNS透明代理的報文跳過當前DNS透明代理,並重新匹配DNS透明代理或虛服務器。
· 查找DNS服務器失敗時繼續匹配下一條引用規則:當配置該功能的動作在負載均衡策略中被引用時,在轉發中根據該配置判斷當前動作查找可用DNS服務器失敗時,可繼續順序匹配策略中的下一條引用規則。
· 配置繁忙處理方式為繼續匹配下一條引用規則:當該動作在負載均衡策略中被引用時,判斷當前動作查找DNS服務器全部繁忙時,可繼續順序匹配策略中的下一條引用規則。
(1) 進入係統視圖。
system-view
(2) 進入DNS類型的負載均衡動作視圖。
loadbalance action action-name
(3) 配置報文的轉發模式為轉發。
forward all
缺省情況下,報文轉發模式為丟棄。
本命令對於SIP類型的虛服務不生效。
(1) 進入係統視圖。
system-view
(2) 進入DNS類型的負載均衡動作視圖。
loadbalance action action-name
(3) 指定指導轉發的DNS服務器池。
dns-server-pool pool-name
缺省情況下,未指定指導轉發的DNS服務器池。
(1) 進入係統視圖。
system-view
(2) 進入DNS類型的負載均衡動作視圖。
loadbalance action action-name
(3) 配置報文的轉發模式為跳過當前DNS透明代理。
skip current-dns-proxy
缺省情況下,報文的轉發模式為丟棄。
(1) 進入係統視圖。
system-view
(2) 進入DNS類型的負載均衡動作視圖。
loadbalance action action-name
(3) 配置查找DNS服務器失敗時繼續匹配下一條引用規則。
fallback-action continue
缺省情況下,當前動作查找可用DNS服務器失敗時,不再繼續匹配下一條引用規則,直接丟棄報文。
(1) 進入係統視圖。
system-view
(2) 進入負載均衡動作視圖。
loadbalance action action-name
(3) 配置繁忙處理方式為繼續匹配下一條引用規則。
busy-action continue
缺省情況下,繁忙處理方式為強製調度。
(1) 進入係統視圖。
system-view
(2) 進入DNS類型的負載均衡動作視圖。
loadbalance action action-name
(3) 配置發往DNS服務器的IP報文中的ToS字段。
set ip tos tos-number
缺省情況下,不改變發往DNS服務器的IP報文中的ToS字段。
負載均衡策略配置如下:
(1) 創建負載均衡策略
(2) 指定負載均衡動作
(3) 指定缺省負載均衡動作
(1) 進入係統視圖。
system-view
(2) 創建DNS類型的負載均衡策略,並進入負載均衡策略視圖。
loadbalance policy policy-name type dns
創建負載均衡策略時必須為其指定類型;而在進入已創建的負載均衡策略視圖時可以不指定類型,但若要指定類型,則必須與創建時的類型一致。
(3) (可選)配置負載均衡策略的描述信息。
description text
缺省情況下,未配置負載均衡策略的描述信息。
DNS類型的負載均衡策略隻能引用DNS類型的負載均衡類和負載均衡動作。
(1) 進入係統視圖。
system-view
(2) 進入DNS類型的負載均衡策略視圖。
loadbalance policy policy-name
(3) 為負載均衡類指定負載均衡動作。
class class-name [ insert-before before-class-name | insert-after [ after-class-name ] ] action action-name
缺省情況下,沒有為負載均衡類指定負載均衡動作。
通過指定缺省負載均衡動作,可以為未匹配任何負載均衡類的報文指定其執行的缺省動作。
DNS類型的負載均衡策略隻能引用DNS類型的負載均衡動作作為其缺省負載均衡動作。
(1) 進入係統視圖。
system-view
(2) 進入DNS類型的負載均衡策略視圖。
loadbalance policy policy-name
(3) 指定缺省負載均衡動作。
default-class action action-name
缺省情況下,未指定缺省負載均衡動作。
持續性組的作用是根據某持續性方法將具有一定相關性的會話都分配給同一台DNS服務器處理,這個分配規則就稱為持續性表項。在一個會話中,當其首包通過持續性方法選擇了一台DNS服務器之後,後續包都會延用這個選擇結果。
持續性組配置如下:
(1) 創建持續性組
(2) 配置IP持續性方法
(3) (可選)配置持續性表項的超時時間
(1) 進入係統視圖。
system-view
(2) 創建地址端口類型的持續性組,並進入持續性組視圖。
sticky-group group-name type address-port
創建持續性組時必須為其指定類型;而在進入已創建的持續性組視圖時可以不指定類型,但若要指定類型,則必須與創建時的類型一致。
(3) (可選)配置持續性組的描述信息。
description text
缺省情況下,未配置持續性組的描述信息。
(1) 進入係統視圖。
system-view
(2) 進入地址端口類型的持續性組視圖。
sticky-group group-name
(3) 配置IP持續性方法。
(IPv4網絡)
ip [ port ] { both | destination | source } [ mask mask-length ]
(IPv6網絡)
ipv6 [ port ] { both | destination | source } [ prefix prefix-length ]
缺省情況下,未配置IP持續性方法。
(1) 進入係統視圖。
system-view
(2) 進入地址端口類型的持續性組視圖。
sticky-group group-name
(3) 配置持續性表項的超時時間。
timeout timeout-value
缺省情況下,持續性表項的超時時間為60秒。
負載均衡日誌是為了滿足網絡管理員安全審計的需要,對負載均衡相關信息進行的記錄,包括NAT日誌和鏈路帶寬繁忙日誌。
通過開啟負載均衡NAT日誌功能,可以實現對源或目的地址進行過地址轉換的連接信息進行記錄,包括IP地址及端口的轉換信息、用戶的訪問信息等。
通過開啟負載均衡鏈路帶寬繁忙日誌功能,可以實現對所有鏈路的繁忙狀態進行記錄。
(1) 進入係統視圖。
system-view
(2) 開啟負載均衡NAT日誌功能。
loadbalance log enable nat
缺省情況下,負載均衡NAT日誌功能處於關閉狀態。
(1) 進入係統視圖。
system-view
(2) 開啟負載均衡鏈路帶寬繁忙日誌功能。
loadbalance log enable bandwidth-busy
缺省情況下,負載均衡鏈路帶寬繁忙日誌功能處於關閉狀態。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後DNS透明代理的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下執行reset命令可以清除DNS透明代理的統計信息。
表4-2 DNS透明代理顯示和維護
配置 |
命令 |
|
顯示DNS服務器池的信息 |
display loadbalance dns-server-pool [ brief | name pool-name ] |
|
顯示DNS服務器的信息 |
display loadbalance dns-server [ brief | name dns-server-name ] |
|
顯示DNS服務器池成員的信息 |
display loadbalance dns-server dns-server-pool dns-server-pool-name [ name dns-server-name port port-number ] |
|
顯示DNS服務器的統計信息 |
display loadbalance dns-server statistics [ name dns-server-name ] [ slot slot-number ] |
|
顯示DNS服務器池成員的統計信息 |
display loadbalance dns-server statistics dns-server-pool dns-server-pool-name [ name dns-server-name port port-number ] [ slot slot-number ] |
|
顯示DNS透明代理的信息 |
display loadbalance dns-proxy [ brief | name dns-proxy-name ] |
|
顯示DNS透明代理的統計信息 |
display loadbalance dns-proxy statistics [ name dns-proxy-name ] [ slot slot-number ] |
|
顯示鏈路的信息 |
display loadbalance link [ brief | name link-name ] |
|
顯示鏈路的統計信息 |
display loadbalance link statistics [ name link-name ] [ slot slot-number ] |
|
顯示負載均衡類的信息 |
display loadbalance class [ name class-name ] |
|
顯示負載均衡動作的信息 |
display loadbalance action [ name action-name ] |
|
顯示負載均衡策略的信息 |
display loadbalance policy [ name policy-name ] |
|
顯示DNS透明代理的持續性表項信息 |
display sticky dns-proxy [ dns-proxy-name dns-proxy-name ] [ class { class-name | default-class } | client-addr { ipv4-address | ipv6-address } | dns-server-addr { ipv4-address | ipv6-address } | dns-server-pool pool-name | dns-server-port port-number | key sticky-key ] * [ brief ] display sticky dns-proxy [ dns-proxy-name dns-proxy-name ] [ class { class-name | default-class } | client-addr { ipv4-address | ipv6-address } | dns-server-addr { ipv4-address | ipv6-address } | dns-server-pool pool-name | dns-server-port port-number | key sticky-key ] * [ brief ] [ slot slot-number ] |
|
顯示DNS透明代理的持續性表項信息 |
display sticky dns-proxy [ dns-proxy-name ] [ class class-name | default-class | default-dns-server-pool ] [ slot slot-number ] |
|
顯示持續性組的信息 |
display sticky-group [ name group-name ] |
|
顯示負載均衡熱備份的統計信息 |
display loadbalance hot-backup statistics [ slot slot-number ] |
|
清除DNS服務器的統計信息 |
reset loadbalance dns-server statistics [ dns-server-name ] |
|
清除DNS服務器池成員的統計信息 |
reset loadbalance dns-server statistics dns-server-pool dns-server-pool-name [ name dns-server-name port port-number ] |
|
清除DNS透明代理的統計信息 |
reset loadbalance dns-proxy statistics [ dns-proxy-name ] |
|
清除鏈路的統計信息 |
reset loadbalance link statistics [ link-name ] |
|
清除負載均衡熱備份的統計信息 |
reset loadbalance hot-backup statistics |
|
清除DNS透明代理的持續性表項信息 |
reset sticky dns-proxy [ dns-proxy-name dns-proxy-name ] [ class { class-name | default-class } | client-addr { ipv4-address | ipv6-address } | dns-server-addr { ipv4-address | ipv6-address } | dns-server-pool pool-name | dns-server-port port-number | key sticky-key ] * reset sticky dns-proxy [ dns-proxy-name dns-proxy-name ] [ class { class-name | default-class } | client-addr { ipv4-address | ipv6-address } | dns-server-addr { ipv4-address | ipv6-address } | dns-server-pool pool-name | dns-server-port port-number | key sticky-key ] * [ slot slot-number ] |
|
用戶從兩個運營商ISP 1和ISP 2處分別租用了帶寬相同的兩條鏈路Link 1和Link 2。屬於ISP 1 DNS服務器的IP地址為10.1.2.100,屬於ISP 2的DNS服務器的IP地址為20.1.2.100。
當內網用戶通過域名www.example.com訪問外網的Web服務器Web Server A和Web Server B時,使上網流量均勻地分布在不同的鏈路上。
圖4-4 DNS透明代理基本組網配置組網圖
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 192.168.1.100 255.255.255.0
[Device-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[Device] security-zone name trust
[Device-security-zone-Trust] import interface gigabitethernet 1/0/1
[Device-security-zone-Trust] quit
[Device] security-zone name untrust
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/2
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/3
[Device-security-zone-Untrust] quit
(3) 配置安全策略
配置安全策略放行Trust與Untrust安全域、Local與Untrust安全域之間的流量,用於用戶訪問外網服務器。
# 配置名稱為lbrule1的安全策略規則,使用戶可以訪問外網服務器,具體配置步驟如下。
[Device] security-policy ip
[Device-security-policy-ip] rule name lbrule1
[Device-security-policy-ip-1-lbrule1] source-zone trust
[Device-security-policy-ip-1-lbrule1] destination-zone untrust
[Device-security-policy-ip-1-lbrule1] source-ip-subnet 192.168.1.0 255.255.255.0
[Device-security-policy-ip-1-lbrule1] action pass
[Device-security-policy-ip-1-lbrule1] quit
# 配置名稱為lblocalout的安全策略規則,使Device可以向鏈路下一跳發送健康檢測報文,具體配置步驟如下。
[Device-security-policy-ip] rule 2 name lblocalout
[Device-security-policy-ip-2-lblocalout] source-zone local
[Device-security-policy-ip-2-lblocalout] destination-zone untrust
[Device-security-policy-ip-2-lblocalout] destination-ip-subnet 10.1.1.0 255.255.255.0
[Device-security-policy-ip-2-lblocalout] destination-ip-subnet 20.1.1.0 255.255.255.0
[Device-security-policy-ip-2-lblocalout] action pass
[Device-security-policy-ip-2-lblocalout] quit
[Device-security-policy-ip] quit
(4) 配置鏈路
# 創建名為link1和link2的鏈路,指定鏈路link1出方向的下一跳IP地址為10.1.1.2,指定鏈路link2出方向的下一跳IP地址為20.1.1.2
[Device] loadbalance link link1
[Device-lb-link-link1] router ip 10.1.1.2
[Device-lb-link-link1] quit
[Device] loadbalance link link2
[Device-lb-link-link2] router ip 20.1.1.2
[Device-lb-link-link2] quit
(5) 配置DNS服務器池
# 創建名為dsp的DNS服務器池
[Device] loadbalance dns-server-pool dsp
[Device-lb-dspool-dsp] quit
(6) 配置DNS服務器
# 創建名為ds1的DNS服務器,配置其IPv4地址為10.1.2.100,所屬DNS服務器池為dsp,並指定ds1對應的鏈路為link1。
[Device] loadbalance dns-server ds1
[Device-lb-ds-ds1] ip address 10.1.2.100
[Device-lb-ds-ds1] dns-server-pool dsp
[Device-lb-ds-ds1] link link1
[Device-lb-ds-ds1] quit
# 創建名為ds2的DNS服務器,配置其IPv4地址為20.1.2.100,所屬DNS服務器池為dsp,並指定ds2對應的鏈路為link2。
[Device] loadbalance dns-server ds2
[Device-lb-ds-ds2] ip address 20.1.2.100
[Device-lb-ds-ds2] dns-server-pool dsp
[Device-lb-ds-ds2] link link2
[Device-lb-ds-ds2] quit
(7) 配置DNS透明代理
# 創建名為dns-proxy1的UDP類型的DNS透明代理,配置其IPv4地址為0.0.0.0,指定DNS服務器池為dsp,並開啟DNS透明代理功能。
[Device] loadbalance dns-proxy dns-proxy1 type udp
[Device-lb-dp-udp-dp] ip address 0.0.0.0 0
[Device-lb-dp-udp-dp] default dns-server-pool dsp
[Device-lb-dp-udp-dp] service enable
[Device-lb-dp-udp-dp] quit
# 顯示所有DNS服務器的簡要信息。
[Device] display loadbalance dns-server brief
DNS server Address Port Link State DNS server pool
ds1 10.1.2.100 0 link1 Active dsp
ds2 20.1.2.100 0 link2 Active dsp
# 顯示所有DNS服務器池的詳細信息。
[Device] display loadbalance dns-server-pool
DNS server pool: dsp
Description:
Predictor: Round robin
Selected server: Disabled
Probe information:
Probe success criteria: All
Probe method:
Total DNS servers: 2
Active DNS servers: 2
DNS server list:
Name State Address port Link Weight Priority
ds1 Active 10.1.2.100 0 link1 100 4
ds2 Active 20.1.2.100 0 link2 100 4
# 顯示所有DNS透明代理的詳細信息。
[Device] display loadbalance dns-proxy
DNS proxy: dns-proxy1
Type: UDP
State: Active
Service state: Enabled
VPN instance:
IPv4 address: 0.0.0.0/0
IPv6 address: --
Port: 53
DNS server pool: dsp
Sticky:
LB policy:
Connection synchronization: Enabled
Sticky synchronization: Enabled
Bandwidth busy protection: Disabled
完成上述配置後,負載均衡設備可以將DNS請求報文均勻地分發到DNS Server A和DNS Server B上,從而將內網用戶訪問外網Web服務器的流量均勻地分配到Link 1和Link 2上。
入方向鏈路負載均衡功能可在多條鏈路上分擔外網用戶訪問內網服務器的流量。
如圖5-1所示,企業分別租用不同運營商ISP 1、ISP 2和ISP 3的三條鏈路Link 1、Link 2和Link 3為外網用戶提供服務。通過配置入方向鏈路負載均衡,可以使外部互聯網用戶訪問內網服務器的流量較為均勻地分配到多條鏈路上,從而提高流量轉發效率,提升服務質量;可以避免出現一條鏈路擁塞而其他鏈路閑置的情況;可以在某條鏈路出現故障時,使外部互聯網用戶使用其它鏈路來訪問內網服務器,避免因鏈路故障導致流量轉發失敗。
入方向鏈路負載均衡是基於DNS解析實現的。負載均衡設備作為權威DNS服務器負責解析外網用戶訪問內網服務器的DNS請求報文,並為外網用戶訪問內網服務器選擇最佳鏈路。具體流程如圖5-2所示。
入方向鏈路負載均衡工作流程簡述如表5-1所示。
步驟 |
描述 |
(1) |
Client host向本地DNS服務器發起DNS請求 |
(2) |
本地DNS服務器向負載均衡設備發起DNS請求 |
(3) |
鏈路負載均衡設備根據調度算法、帶寬限製、健康性檢測等負載均衡調度方式來選擇最佳鏈路對應的虛服務器 |
(4) |
負載均衡設備將選定的虛服務器地址通過DNS響應報文發送給發起請求的本地DNS服務器 |
(5) |
本地DNS服務器把獲取的虛服務器地址發送給Client host |
(6) |
Client host向虛服務器地址發起連接請求(請求進入負載均衡設備) |
(7) |
負載均衡設備向內網服務器發起連接請求 |
(8) |
內網服務器應答負載均衡設備 |
(9) |
負載均衡設備應答Client host |
入方向鏈路負載均衡是負載均衡設備通過接收DNS請求報文並返回攜帶虛服務器IP地址的DNS應答報文實現的。
如圖5-3所示,負載均衡設備上包括以下要素:
· DNS listener:DNS監聽器,用於監聽DNS請求。隻有當DNS請求的目的地址匹配DNS監聽器的IP地址時,該DNS請求報文才會進入入方向鏈路負載均衡處理流程。
· DNS mapping:DNS映射,用於關聯DNS域名與虛服務器池。負載均衡設備根據DNS映射查找DNS域名關聯的虛服務器池。
· Link:鏈路,運營商提供的實體鏈路。
· Virtual server pool:虛服務器池,用於在虛服務器池下關聯虛服務器與鏈路。鏈路和虛服務器的可用性共同決定虛服務器是否可參與調度。
· Virtual server:虛服務器,麵向用戶業務的虛擬載體。
當DNS監聽器監聽到負載均衡設備上收到了目的地址匹配DNS監聽地址的DNS正向解析請求時,首先在DNS映射中查找域名所關聯的虛服務器池。負載均衡設備依據虛服務器池中配置的調度算法選出最佳鏈路所對應的虛服務器,將選定的虛服務器IP地址通過DNS應答報文發送給用戶,用戶得到虛服務器IP地址後將其作為目的地址,通過該虛服務器關聯的鏈路訪問內網服務器。
在配置入方向鏈路負載均衡時,管理員需要聯係運營商在Local DNS上配置委派域,指定負載均衡設備為處理DNS請求的權威DNS服務器。
入方向鏈路負載均衡配置任務如下:
(1) 配置DNS監聽器
(2) 配置DNS映射
(3) 配置虛服務器
(4) 配置虛服務器池
(5) 配置鏈路(Link)
(6) (可選)配置DNS區域
(7) (可選)配置Topology
(8) (可選)配置Region
(9) (可選)配置ISP信息
(10) (可選)配置負載均衡鏈路帶寬繁忙日誌功能
(11) (可選)測試入方向鏈路負載均衡效果
(12) (可選)配置可記錄的解析失敗的DNS請求報文
通過配置DNS監聽器,指定負載均衡設備提供DNS解析服務的IP地址和端口號,以及所屬VPN等信息。
在同時配置服務器負載均衡功能的情況下,為了使入鏈路負載均衡功能正常使用,請避免將DNS監聽器的IP地址配置為端口號為53的IP或UDP類型的虛服務器IP地址。
在同時配置DNS透明代理的情況下,為了使入鏈路負載均衡功能正常使用,請避免將DNS監聽器的IP地址配置為端口號為DNS透明代理的IP地址。
DNS監聽器配置任務如下:
(1) 創建DNS監聽器
(2) 指定DNS監聽器的IP地址和端口
(3) (可選)指定DNS監聽器所屬的VPN實例
(4) 開啟DNS監聽功能
(5) (可選)指定DNS監聽器查找DNS請求失敗時的處理方式
(1) 進入係統視圖。
system-view
(2) 創建DNS監聽器,並進入DNS監聽器視圖。
loadbalance dns-listener dns-listener-name
通過配置DNS監聽器的IPv4地址和端口,指定設備對外提供DNS解析服務的IPv4地址和端口。
(1) 進入係統視圖。
system-view
(2) 進入DNS監聽器視圖。
loadbalance dns-listener dns-listener-name
(3) 指定DNS監聽器的IPv4地址和端口。
(IPv4網絡)
ip address ipv4-address [ port port-number ]
(IPv6網絡)
ipv6 address ipv6-address [ port port-number ]
缺省情況下,未指定DNS監聽器的IP地址和端口。
(1) 進入係統視圖。
system-view
(2) 進入DNS監聽器視圖。
loadbalance dns-listener dns-listener-name
(3) 指定DNS監聽器所屬的VPN實例。
vpn-instance vpn-instance-name
缺省情況下,DNS監聽器屬於公網。
(1) 進入係統視圖。
system-view
(2) 進入DNS監聽器視圖。
loadbalance dns-listener dns-listener-name
(3) 開啟DNS監聽功能。
service enable
缺省情況下,DNS監聽功能處於關閉狀態。
若訪問不存在域名的DNS請求較多,不建議配置查找DNS請求失敗時的處理方式為通過DNS代理回應請求報文。因為,相比於不回應DNS請求和回應DNS拒絕報文,此方式會消耗更多的設備性能,導致CPU繁忙。
(1) 進入係統視圖。
system-view
(2) 進入DNS監聽器視圖。
loadbalance dns-listener dns-listener-name
(3) 指定DNS監聽器查找DNS請求失敗時的處理方式。
fallback { dns-proxy | no-response | reject }
缺省情況下,DNS監聽器查找DNS請求失敗時的處理方式為回應DNS拒絕報文。
通過配置DNS映射,可以將DNS域名和虛服務器池關聯起來。
DNS映射配置任務如下:
(1) 創建DNS映射
(2) 添加DNS映射的DNS域名
(3) 指定DNS映射使用的虛服務器池
(4) (可選)配置緩存DNS域名解析記錄的緩存時間
(5) 開啟DNS映射
(1) 進入係統視圖。
system-view
(2) 創建DNS映射,並進入DNS映射視圖。
loadbalance dns-map dns-map-name
同一個DNS映射視圖下,可以添加多個DNS映射的DNS域名。
(1) 進入係統視圖。
system-view
(2) 進入DNS映射視圖。
loadbalance dns-map dns-map-name
(3) 添加DNS映射的DNS域名。
domain-name domain-name
(1) 進入係統視圖。
system-view
(2) 進入DNS映射視圖。
loadbalance dns-map dns-map-name
(3) 指定DNS映射使用的虛服務器池。
virtual-server-pool pool-name
缺省情況下,DNS映射未使用任何虛服務器池。
配置的緩存DNS域名解析記錄的緩存時間將會填充到DNS應答報文的域名解析記錄中。例如,當負載均衡策略或虛服務器配置變化時,用戶可以通過配置小一些的緩存時間,使DNS請求客戶端盡快獲得新的解析記錄;而在網絡穩定的環境下,用戶可將緩存時間設置為更大的值,提高域名的解析穩定性及速度。
(1) 進入係統視圖。
system-view
(2) 進入DNS映射視圖。
loadbalance dns-map dns-map-name
(3) 配置緩存DNS域名解析記錄的緩存時間。
ttl ttl-value
缺省情況下,域名解析記錄的緩存時間缺省值為3600秒。
(1) 進入係統視圖。
system-view
(2) 進入DNS映射視圖。
loadbalance dns-map dns-map-name
(3) 開啟DNS映射。
service enable
缺省情況下,DNS映射處於關閉狀態。
通過配置虛服務器,指定內網服務器對外提供服務的IP地址和端口等信息。此節的配置任務及相關配置,請參見“2.10 配置虛服務器”。
· 如果同時配置入方向鏈路負載均衡功能和服務器負載均衡功能,請配置虛服務器的IP地址與DNS監聽器地址為不同的公網地址,以免影響入方向鏈路負載均衡功能的正常使用。關於DNS監聽器IP地址的詳細介紹,請參見“5.4.4 指定DNS監聽器的IP地址和端口”。
· 配置入方向鏈路負載均衡使用的虛服務器的IPv4地址時,要求配置32位掩碼且為非全0的單播地址。
· 配置入方向鏈路負載均衡使用的虛服務器的IPv6地址時,要求配置128位掩碼且為非全0的單播地址。
通過配置虛服務器池,可將具有相同或相似功能的虛服務器進行統一管理。
虛服務器池配置任務如下:
(1) 創建虛服務器池
(2) 添加虛服務或虛IP
請至少選擇其中一項進行配置:
¡ 添加虛服務器
¡ 添加虛IP
(3) (可選)配置虛服務器池的調度算法
(4) (可選)開啟虛服務器池的繁忙保護功能
(1) 進入係統視圖。
system-view
(2) 創建虛服務器池,並進入虛服務器池視圖。
loadbalance virtual-server-pool name
(1) 進入係統視圖。
system-view
(2) 進入虛服務器池視圖。
loadbalance virtual-server-pool name
(3) 添加虛服務器。
virtual-server virtual-server-name link link-name [ weight weigth-name ]
缺省情況下,虛服務器池未添加任何虛服務器。
(1) 進入係統視圖。
system-view
(2) 進入虛服務器池視圖。
loadbalance virtual-server-pool name
(3) 虛服務器池中添加虛IP地址。
(IPv4網絡)
virtual-ip ipv4-address link link-name [ weight weight-value ]
(IPv6網絡)
virtual-ipv6 ipv6-address link link-name [ weight weight-value ]
缺省情況下,虛服務器池中未添加任何虛IP地址。
設備支持以下虛服務器池的調度算法:
· 加權最小連接算法(least-connection):總是將DNS請求分發給加權活動連接數(當前活動連接數/權值)最小的虛服務器。
· 隨機算法(random):將DNS請求隨機分發給某個虛服務器。
· 加權輪轉算法(round-robin):根據虛服務器權值的大小將DNS請求依次分發給每個虛服務器,權值越大,分配的DNS請求越多。
· 靜態就近性算法(topology):根據靜態就近性表項將DNS請求分發給虛服務器。
· 動態就近性算法(proximity):根據動態就近性表項把DNS請求分發給虛服務器。
· 帶寬算法(bandwidth):根據虛服務器的權值與剩餘帶寬的比例把DNS請求分發給每個虛服務器。
· 最大帶寬算法(max-bandwidth):總是將DNS請求分發給處於空閑狀態且剩餘帶寬最大的鏈路所對應的虛服務器。
· 源IP哈希算法(hash address source):根據源IP地址哈希算法將DNS請求分發給虛服務器。
· 源IP及端口哈希算法(hash address source-ip-port):根據源IP地址和端口號哈希算法將DNS請求分發給虛服務器。
· 目的IP哈希算法(hash address destination):根據目的IP地址哈希算法將DNS請求分發給虛服務器。
配置虛服務器池的調度算法時,可以分別指定首選調度算法、次選調度算法和備選調度算法。其中,首選調度算法優先級最高,當采用首選算法不能選出可用的虛服務器時,采用次選調度算法,備選調度算法優先級最低。
若首選調度算法配置為就近性算法(包括動態就近性算法和靜態就近性算法),則次選調度算法和備選調度算法必須配置為非就近性算法。
(1) 進入係統視圖。
system-view
(2) 進入虛服務器池視圖。
loadbalance virtual-server-pool name
(3) 配置虛服務器池的調度算法。
predictor { alternate | fallback | preferred } { least-connection | proximity | random | round-robin | topology | { bandwidth | max-bandwidth } [ inbound | outbound ] | hash address { source | source-ip-port | destination } [ mask mask-length | prefix prefix-length ] }
缺省情況下,虛服務器池的首選調度算法為加權輪轉算法,不存在次選和備選調度算法。
開啟繁忙保護功能後,虛服務器池根據用戶配置的調度方式選擇虛服務器成員時,會查看所選取的虛服務器成員對應的鏈路是否超過配置的繁忙比例,如果超出則不選擇該虛服務器成員。關於配置鏈路的帶寬繁忙比例,具體請參見“5.8.5 配置鏈路的帶寬繁忙比與最大期望帶寬”。
(1) 進入係統視圖。
system-view
(2) 進入虛服務器池視圖。
loadbalance virtual-server-pool name
(3) 開啟虛服務器池的繁忙保護功能。
bandwidth busy-protection enable
缺省情況下,虛服務器池繁忙保護功能處於關閉狀態。
由於虛服務器池中進行虛服務器調度時,鏈路可用性是決定虛服務器是否可參與調度的因素之一。可以根據實際需求,通過配置鏈路的健康檢測,所允許的最大期望帶寬及帶寬繁忙比例等功能來影響鏈路的可用性。
鏈路配置任務如下:
(1) 創建鏈路
(2) 指定鏈路通往外網方向的下一跳
(3) (可選)配置鏈路的健康檢測
(4) (可選)配置鏈路的帶寬繁忙比與最大期望帶寬
(1) 進入係統視圖。
system-view
(2) 創建鏈路,並進入鏈路視圖。
loadbalance link link-name
在入方向負載均衡中,鏈路通往外網方向的下一跳指的是鏈路對端設備的IP地址,管理員通過配置該地址來指定對哪一條鏈路進行健康檢測和帶寬限製。
(1) 進入係統視圖。
system-view
(2) 進入鏈路視圖。
loadbalance link link-name
(3) 指定鏈路通往外網方向的下一跳。
router ip ipv4-address
缺省情況下,未配置鏈路通往外網方向的下一跳IP地址。
通過為鏈路配置健康檢測方法,可以對鏈路的質量、鏈路的狀態等進行檢測,保證其可用。鏈路的健康檢測方法通過引用NQA模板來配置。NQA模板的相關配置,請參見“網絡管理和監控配置指導”中的“NQA”。
同一個鏈路視圖下,可以配置多個鏈路健康檢測方法。
(1) 進入係統視圖。
system-view
(2) 進入鏈路視圖。
loadbalance link link-name
(3) 指定鏈路的健康檢測方法。
probe template-name
缺省情況下,未指定任何鏈路檢測方法。
(4) 配置鏈路檢測的成功條件。
success-criteria { all | at-least min-number }
缺省情況下,隻有全部方法通過檢測才認為健康檢測成功。
通過本配置可以調整鏈路的帶寬繁忙比,即當前帶寬與最大帶寬的百分比值,以及最大期望帶寬。當某條鏈路流量超過該鏈路的帶寬繁忙比與最大期望帶寬的乘積後,鏈路進入繁忙狀態新建流量將不再向該鏈路分發,而原有流量則仍由該鏈路繼續分發;當該鏈路流量低於該鏈路的帶寬繁忙恢複比與最大期望帶寬的乘積後,鏈路解除繁忙狀態,重新參與調度。
鏈路的最大期望帶寬不僅用於繁忙保護功能,還用於帶寬算法和最大帶寬算法中剩餘帶寬的計算。
(1) 進入係統視圖。
system-view
(2) 進入鏈路視圖。
loadbalance link name
(3) 配置鏈路的帶寬繁忙比例。
bandwidth [ inbound | outbound ] busy-rate busy-rate-number [ recovery recovery-rate-number ]
缺省情況下,鏈路的總帶寬繁忙比例為70。
(4) 配置鏈路的最大期望帶寬。
max-bandwidth [ inbound | outbound ] bandwidth-value kbps
缺省情況下,鏈路所允許的最大總期望帶寬、最大上行期望帶寬和最大下行期望帶寬均為0,即不限製。
在DNS正向解析過程中,負載均衡設備使用DNS正向區域中配置的資源記錄來查找DNS域名對應的主機名。DNS資源記錄是負載均衡設備用於解析DNS請求的數據記錄表項,DNS正向區域中可以配置以下幾種類型的資源記錄:
· CNAME(Canonical Name,規範名稱)資源記錄允許將多個別名映射到同一正規主機名,即同一服務器。例如,企業內網有一台服務器主機名為host.example.com,它同時對外提供Web服務和郵件服務,為了便於用戶的訪問,可以為該服務器配置CNAME資源記錄,分別配置別名為www.example.com和mail.example.com。當用戶請求Web服務時,訪問www.example.com,當用戶請求郵件服務時,訪問mail.example.com,而實際訪問的均為host.example.com。
· MX(Mail Exchanger,郵件交換)資源記錄用於指定該DNS正向區域的郵件服務器。
· NS(Name Server,權威名稱服務器)資源記錄用於指定為該DNS正向區域服務的權威名稱服務器。
· SOA(Start of Authority,起始授權)資源記錄用來配置一個DNS正向區域的主域名服務器、管理員郵箱等參數。
· SRV(Service,服務)資源記錄用來配置DNS正向區域所提供的服務,以及提供該服務的服務器。
· TXT(Text,文本)資源記錄用於為DNS正向區域設置說明。
如圖5-4所示,配置DNS正向區域的負載均衡設備收到DNS請求後,首先查詢在DNS正向區域中配置的資源記錄得到主機域名,再依據該主機域名在DNS映射中查找域名所對應的虛服務器IP地址。
DNS正向區域配置任務如下:
(1) 創建DNS正向區域
(2) (可選)配置資源記錄
¡ (可選)配置指定類型的資源記錄
支持配置CNAME、MX、NS、SRV和TXT資源記錄。
¡ (可選)配置SOA資源記錄
(3) (可選)配置資源記錄的緩存時間
(1) 進入係統視圖。
system-view
(2) 創建DNS正向區域,並進入DNS正向區域視圖。
loadbalance zone domain-name
(1) 進入係統視圖。
system-view
(2) 進入DNS正向區域視圖。
loadbalance zone domain-name
(3) 配置指定類型的資源記錄。
record { cname alias alias-name canonical canonical-name | mx [ host hostname ] exchanger exchanger-name preference preference | ns [ sub subname ] authority ns-name | srv [ service service-name ] host-offering-service hostname priority priority weight weight port port-number | txt [ sub subname ] describe-txt description } [ ttl ttl-value ]
(1) 進入係統視圖。
system-view
(2) 進入DNS正向區域視圖。
loadbalance zone domain-name
(3) 創建SOA類型的資源記錄,並進入SOA視圖。
soa
(4) 配置主域名服務器的主機名。
primary-nameserver host-name
缺省情況下,未配置主域名服務器的主機名。
(5) 配置管理員的郵件地址。
responsible-mail mail-address
缺省情況下,未配置管理員的郵件地址。
(6) 配置DNS正向區域的序列號。
serial number
缺省情況下,DNS正向區域的序列號為1。
(7) 配置刷新間隔。
refresh refresh-interval
缺省情況下,刷新間隔為3600秒。
(8) 配置重試時間。
retry retry-interval
缺省情況下,重試時間為600秒。
(9) 配置過期時間。
expire expire-time
缺省情況下,過期時間為86400秒。
(10) 配置最小生命周期。
min-ttl ttl-value
缺省情況下,最小生命周期為3600秒。
(1) 進入係統視圖。
system-view
(2) 進入DNS正向區域視圖。
loadbalance zone domain-name
(3) 配置資源記錄的緩存時間。
ttl ttl-value
缺省情況下,資源記錄的緩存時間為3600秒。
負載均衡設備根據DNS反向區域對收到的報文進行反向DNS解析,即根據IP地址查找對應的域名。DNS反向區域中設置的PTR(Pointer Record,指針記錄)用來記錄域名和IP地址的映射關係。
DNS反向地址解析通常用於解決網絡中的垃圾郵件攻擊,即對郵件發送方的合法性進行檢查,來拒絕轉發或接收非法郵件。例如,當郵件服務器收到來自外網用戶的郵件時,向負載均衡設備發送反向解析請求,負載均衡設備收到來自郵件服務器的反向解析請求後,查找在DNS反向區域中配置的PTR資源記錄,將郵件發送方的源IP地址解析為域名並將解析結果返回給郵件服務器。郵件服務器將收到的域名與郵件報文中的發送方域名進行比較,結果一致則接收該郵件,否則認為該郵件為垃圾郵件並將其丟棄。
(1) 進入係統視圖。
system-view
(2) 創建DNS反向區域,並進入DNS反向區域視圖。
loadbalance reverse-zone { ip ipv4-address mask-length | ipv6 ipv6-address prefix-length }
(3) 配置PTR資源記錄。
record ptr { ip ipv4-address | ipv6 ipv6-address } domain-name [ ttl ttl-value ]
缺省情況下,未配置PTR資源記錄。
當虛服務器池中指定調度算法為靜態就近性調度算法(topology)時,則需要配置Topology。關於虛服務器池的調度算法的具體配置,請參見“5.7.5 配置虛服務器池的調度算法”。
若DNS請求匹配多個Topology記錄時,優先選擇優先級值高的記錄。
(1) 進入係統視圖。
system-view
(2) 配置Topology。
topology region region-name { ip ipv4-address { mask-length | mask } | ipv6 ipv6-address prefix-length } [ priority priority ]
區域對象中包含根據不同ISP信息(運營商類別)劃分的地址段。
(1) 進入係統視圖。
system-view
(2) 創建區域對象,並進入區域對象視圖。
loadbalance region region-name
(3) 添加ISP信息。
isp isp-name
入方向鏈路負載均衡使用的ISP信息為出方向鏈路負載均衡下的ISP信息。此節的配置任務及相關配置,請參見“3.12 配置ISP信息”。
通過開啟負載均衡鏈路帶寬繁忙日誌功能,可以實現對所有鏈路的繁忙狀態進行記錄。
(1) 進入係統視圖。
system-view
(2) 開啟負載均衡鏈路帶寬繁忙日誌功能。
loadbalance log enable bandwidth-busy
缺省情況下,負載均衡鏈路帶寬繁忙日誌功能處於關閉狀態。
可以通過指定DNS請求報文的類型、源IPv4/IPv6地址、源端口、目的IPv4/IPv6地址和目的端口,測試入方向鏈路負載均衡的解析結果。
可在任意視圖下執行本命令,測試IPv4入方向鏈路負載均衡的解析結果。
loadbalance local-dns-server schedule-test ip [ vpn-instance vpn-instance-name ] destination destination-address [ destination-port destination-port ] source source-address source-port source-port type { { a | aaaa | cname | mx | ns | soa | srv | txt } domain domain-name | ptr ip address { ipv4-address | ipv6-address } } [ slot slot-number ]
可在任意視圖下執行本命令,測試IPv6入方向鏈路負載均衡的解析結果。
loadbalance local-dns-server schedule-test ipv6 [ vpn-instance vpn-instance-name ] destination destination-address [ destination-port destination-port ] source source-address source-port source-port type { { a | aaaa | cname | mx | ns | soa | srv | txt } domain domain-name | ptr ip address ipv4-address } [ slot slot-number ]
(1) 進入係統視圖。
system-view
(2) 配置可記錄的解析失敗的DNS請求報文的最大數目。
loadbalance local-dns-server parse-fail-record max-number max-number
缺省情況下,可記錄的解析失敗的DNS請求報文的最大數目為10000條。
(1) 進入係統視圖。
system-view
(2) 配置可記錄的解析失敗的DNS請求報文的類型。
loadbalance local-dns-server parse-fail-record type { a | aaaa | all-disable | all-enable | cname | mx | ns | ptr | soa | srv | txt }
缺省情況下,可記錄的解析失敗的DNS請求報文的類型為全部類型。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後入方向鏈路負載均衡的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下執行reset命令可以清除鏈路負載均衡的統計信息。
配置 |
命令 |
顯示負載均衡DNS監聽器的信息 |
display loadbalance dns-listener [ name listener-name ] |
顯示負載均衡DNS監聽器的統計信息 |
display loadbalance dns-listener statistics [ name dns-listener-name ] [ slot slot-number ] |
顯示負載均衡DNS映射的信息 |
display loadbalance dns-map [ name dns-map-name ] |
顯示負載均衡DNS映射的統計信息 |
display loadbalance dns-map statistics [ name dns-map-name ] [ slot slot-number ] |
顯示虛服務器池的信息 |
display loadbalance virtual-server-pool [ brief | name pool-name ] |
顯示鏈路的信息 |
display loadbalance link [ brief | name link-name ] |
顯示負載均衡DNS正向區域的信息 |
display loadbalance zone [ name domain-name ] |
顯示負載均衡DNS反向區域的信息 |
display loadbalance reverse-zone { ip [ ipv4-address mask-length ] | ipv6 [ ipv6-address prefix-length ] } |
顯示ISP的信息 |
display loadbalance isp [ ip ipv4-address | ipv6 ipv6-address | name isp-name ] |
顯示解析失敗的DNS請求報文的信息 |
display loadbalance local-dns-server parse-fail-record [ type { a | aaaa | cname | mx | ns | soa | srv | txt } ] [ domain domain-name ] | ptr [ ip address { ipv4-address | ipv6-address } ] ] [ vpn-instance vpn-instance-name ] [ slot slot-number ] |
清除DNS監聽器的統計信息 |
reset loadbalance dns-listener statistics [ dns-listener-name ] |
清除DNS映射的統計信息 |
reset loadbalance dns-map statistics [ dns-map-name ] |
清除當前記錄的解析失敗的DNS請求報文的信息 |
reset loadbalance local-dns-server parse-fail-record |
如圖5-5所示,管理員從兩個運營商ISP 1和ISP 2處分別租用了鏈路Link 1和Link 2,這兩條鏈路的路由器跳數、帶寬和成本均相同。通過配置入方向鏈路負載均衡,使Client host訪問Internal server時,如果遇到其中一條鏈路故障的情況,可以優先選擇這兩條鏈路中的可用鏈路。其中,Internal server對外提供服務的域名為l.example.com,實際主機名為www.example.com。
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 10.1.1.1 255.255.255.0
[Device-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[Device] security-zone name untrust
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/1
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/2
[Device-security-zone-Untrust] quit
[Device] security-zone name trust
[Device-security-zone-Trust] import interface gigabitethernet 1/0/2
[Device-security-zone-Trust] quit
(3) 配置安全策略
配置安全策略放行Untrust與Trust安全域、Untrust與Local安全域、Local與Untrust安全域之間的流量,用於用戶訪問外網服務器。
# 配置名稱為lbrule1的安全策略規則,使用戶可以訪問內網服務器,具體配置步驟如下。
[Device] security-policy ip
[Device-security-policy-ip] rule name lbrule1
[Device-security-policy-ip-1-lbrule1] source-zone untrust
[Device-security-policy-ip-1-lbrule1] destination-zone trust
[Device-security-policy-ip-1-lbrule1] destination-ip-subnet 192.168.1.0 255.255.255.0
[Device-security-policy-ip-1-lbrule1] action pass
[Device-security-policy-ip-1-lbrule1] quit
# 配置名稱為lblocalin的安全策略規則,使用戶可以訪問DNS監聽器,具體配置步驟如下。
[Device-security-policy-ip] rule name lblocalin
[Device-security-policy-ip-2-lblocalout] source-zone untrust
[Device-security-policy-ip-2-lblocalout] destination-zone local
[Device-security-policy-ip-2-lblocalout] destination-ip-subnet 10.1.1.1 255.255.255.255
[Device-security-policy-ip-2-lblocalout] destination-ip-subnet 20.1.1.1 255.255.255.255
[Device-security-policy-ip-2-lblocalout] action pass
[Device-security-policy-ip-2-lblocalout] quit
[Device-security-policy-ip] quit
# 配置名稱為lblocalout的安全策略規則,使Device可以向鏈路下一跳發送健康檢測報文,具體配置步驟如下。
[Device-security-policy-ip] rule name lblocalout
[Device-security-policy-ip-3-lblocalout] source-zone local
[Device-security-policy-ip-3-lblocalout] destination-zone untrust
[Device-security-policy-ip-3-lblocalout] destination-ip-subnet 10.1.1.0 255.255.255.0
[Device-security-policy-ip-3-lblocalout] destination-ip-subnet 20.1.1.0 255.255.255.0
[Device-security-policy-ip-3-lblocalout] action pass
[Device-security-policy-ip-3-lblocalout] quit
[Device-security-policy-ip] quit
(4) 配置鏈路
# 創建ICMP類型的NQA模板t1。
[Device] nqa template icmp t1
[Device-nqatplt-icmp-t1] quit
# 創建名為link1的鏈路,指定鏈路出方向的下一跳IP地址為10.1.1.2,並引用ICMP類型的NQA模板t1。
[Device] loadbalance link link1
[Device-lb-link-link1] router ip 10.1.1.2
[Device-lb-link-link1] probe t1
[Device-lb-link-link1] quit
# 創建名為link2的Link,指定鏈路出方向的下一跳IP地址為20.1.1.2,並引用ICMP類型的NQA模板t1。
[Device] loadbalance link link2
[Device-lb-link-link2] router ip 20.1.1.2
[Device-lb-link-link2] probe t1
[Device-lb-link-link2] quit
(5) 配置實服務組
# 創建實服務組sf。
[Device] server-farm sf
[Device-sfarm-sf] quit
(6) 配置實服務器
# 創建實服務器rs,配置其IPv4地址為192.168.1.10,並加入實服務組sf。
[Device] real-server rs
[Device-rserver-rs] ip address 192.168.1.10
[Device-rserver-rs] server-farm sf
[Device-rserver-rs] quit
(7) 配置虛服務器
# 創建HTTP類型的虛服務器vs1,配置其VSIP為10.1.1.3,端口為80,指定其缺省主用實服務組為sf,並開啟此虛服務器。
[Device] virtual-server vs1 type http
[Device-vs-http-vs1] virtual ip address 10.1.1.3
[Device-vs-http-vs1] port 80
[Device-vs-http-vs1] default server-farm sf
[Device-vs-http-vs1] service enable
[Device-vs-http-vs1] quit
# 創建HTTP類型的虛服務器vs2,配置其VSIP為20.1.1.3,端口為80,指定其缺省主用實服務組為sf,並開啟此虛服務器。
[Device] virtual-server vs2 type http
[Device-vs-http-vs2] virtual ip address 20.1.1.3
[Device-vs-http-vs2] port 80
[Device-vs-http-vs2] default server-farm sf
[Device-vs-http-vs2] service enable
[Device-vs-http-vs2] quit
(8) 配置虛服務器池
# 創建虛服務器池vsp,並添加虛服務器vs1、vs2,虛服務器分別關聯鏈路link1、link2。
[Device] loadbalance virtual-server-pool vsp
[Device-lb-vspool-vsp] virtual-server vs1 link link1
[Device-lb-vspool-vsp] virtual-server vs2 link link2
(9) 配置DNS監聽器
# 創建DNS監聽器dl1,配置其IPv4地址為10.1.1.1,並開啟DNS監聽服務。
[Device] loadbalance dns-listener dl1
[Device-lb-dl-dl1] ip address 10.1.1.1
[Device-lb-dl-dl1] service enable
[Device-lb-dl-dl1] quit
# 創建DNS監聽器dl2,配置其IPv4地址為20.1.1.1,並開啟DNS監聽服務。
[Device] loadbalance dns-listener dl2
[Device-lb-dl-dl2] ip address 20.1.1.1
[Device-lb-dl-dl2] service enable
[Device-lb-dl-dl2] quit
(10) 配置DNS映射
# 創建DNS映射dm,配置其域名為www.example.com,指定虛服務器池vsp,並開啟DNS映射。
[Device] loadbalance dns-map dm
[Device-lb-dm-dm] domain-name www.example.com
[Device-lb-dm-dm] service enable
[Device-lb-dm-dm] virtual-server-pool vsp
[Device-lb-dm-dm] quit
(11) 配置DNS正向區域
# 創建域名為example.com的DNS正向區域。
[Device] loadbalance zone example.com
# 配置CNAME資源記錄,為主機www.example.com指定別名l.example.com。
[Device-lb-zone-example.com] record cname alias l.example.com. canonical www.example.com. ttl 600
[Device-lb-zone-example.com] quit
# 顯示所有DNS監聽器的信息。
[Device] display loadbalance dns-listener
DNS listener name:dl1
Service state:Enabled
IPv4 address: 10.1.1.1
Port: 53
IPv6 address: --
IPv6 Port: 53
Fallback: Reject
VPN instance:
DNS listener name: dl2
Service state: Enabled
IPv4 address: 20.1.1.1
Port: 53
IPv6 address: --
IPv6 Port: 53
Fallback: Reject
VPN instance:
# 顯示所有DNS映射的信息。
[Device] display loadbalance dns-map
DNS mapping name: dm
Service state: Enabled
TTL: 3600
Domain name list: www.example.com
Virtual server pool: vsp
# 顯示所有DNS正向區域的信息。
[Device]display loadbalance zone
Zone name: example.com
TTL: 3600s
SOA:
Record list:
Type TTL RDATA
CNAME 600s l.example.com. www.example.com.
# 顯示所有虛服務器池的簡要信息。
[Device] display loadbalance virtual-server-pool brief
Predictor: RR - Round robin, RD - Random, LC - Least connection,
TOP - Topology, PRO - Proximity
BW - Bandwidth, MBW - Max bandwidth,
IBW - Inbound bandwidth, OBW - Outbound bandwidth,
MIBW - Max inbound bandwidth, MOBW - Max outbound bandwidth,
HASH(SIP) - Hash address source IP,
HASH(DIP) - Hash address destination IP,
HASH(SIP-PORT) - Hash address source IP-port
VSpool Pre Alt Fbk BWP Total Active
vsp RR -- -- Enabled 0 0
# 顯示所有虛服務器池的詳細信息。
[Device] display loadbalance virtual-server-pool
Virtual-server pool: vsp
Predictor:
Preferred RR
Alternate --
Fallback --
Bandwidth busy-protection:Disabled
Total virtual servers: 2
Active virtual servers: 2
Virtual server list:
Name State Address Port Weight Link
vs1 Active 10.1.1.3 80 100 link1
vs2 Active 20.1.1.3 80 100 link2
# 顯示所有實服務器的簡要信息。
[Device] display real-server brief
Real server Address Port State VPN instance Server farm
rs 192.168.1.10 0 Active sf
# 顯示所有鏈路的簡要信息。
[Device] display loadbalance link brief
link Router IP State VPN instance Link group
link1 10.1.1.2 Active
link2 20.1.1.2 Probe-failed
# 顯示所有實服務組的詳細信息。
[Device] display server-farm
Server farm: sf
Description:
Predictor: Round robin
Proximity: Enabled
NAT: Enabled
SNAT pool:
Failed action: Keep
Active threshold: Disabled
Slow-online: Disabled
Selected server: Disabled
Probe information:
Probe success criteria: All
Probe method:
t1
Total real server: 1
Active real server: 1
Real server list:
Name State VPN instance Address Port Weight Priority
rs Active 192.168.1.10 0 100 4
# 顯示所有虛服務器的簡要信息。
[Device] display virtual-server brief
Virtual server State Type VPN instance Virtual address Port
vs1 Active HTTP 10.1.1.3/32 80
vs2 Active HTTP 20.1.1.3/32 80
完成上述配置後,當Client Host訪問域名l.example.com時,可以解析到10.1.1.1,使用ISP 1的鏈路訪問內網服務器,也可以解析到20.1.1.1,使用ISP 2的鏈路訪問內網服務器。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!