04-負載均衡配置
本章節下載: 04-負載均衡配置 (708.60 KB)
LB(Load Balance,負載均衡)是一種集群技術,它將特定的業務(網絡服務、網絡流量等)分擔給多台網絡設備(包括服務器、防火牆等)或多條鏈路,從而提高了業務處理能力,保證了業務的高可靠性。
負載均衡技術具有以下優勢:
· 高性能:通過將業務較均衡地分配到多台設備或多條鏈路上,提高了係統的整體性能。
· 可擴展性:可以方便地增加集群中設備或鏈路的數量,在不降低業務質量的前提下滿足不斷增長的業務需求。
· 高可靠性:單個甚至多個設備或鏈路發生故障也不會導致業務中斷,提高了係統的整體可靠性。
· 可管理性:大量的管理工作都集中在應用了負載均衡技術的設備上,集群中的設備或鏈路隻需要進行普通的配置和維護。
· 透明性:對用戶而言,集群等同於一個可靠性高、性能好的設備或鏈路,用戶感知不到也不必關心具體的網絡結構。增減集群中的設備或鏈路不會影響正常業務。
目前無線控製器僅支持鏈路負載均衡技術。當存在多條運營商鏈路時,通過此技術可實現鏈路的動態選擇,從而充分利用多條鏈路。鏈路負載均衡支持IPv4與IPv6,但不支持IPv4報文與IPv6報文的互相轉換。根據數據的連接請求方向不同,鏈路負載均衡又分為以下兩種:
· 出方向鏈路負載均衡:當內網用戶訪問外部互聯網存在多條鏈路時,可在多條鏈路上分擔內網用戶訪問外部互聯網的流量。
· DNS透明代理:當內網用戶訪問外網DNS服務器存在多條鏈路時,可在多條鏈路上分擔內網用戶訪問外部DNS服務器的流量。
出方向鏈路負載均衡功能可在多條鏈路上分擔內網用戶訪問外部互聯網的流量。
如圖2-1所示,出方向鏈路負載均衡包含以下要素:
· LB device(負載均衡設備):負責將內網用戶訪問外部互聯網的流量分發到多條鏈路。
· Link(鏈路):運營商提供的實體鏈路。
· VSIP(Virtual Service IP,虛服務IP):集群對外提供的虛服務IP地址,即內網用戶發送報文的目的網段。
· Server IP(服務器IP):服務器IP地址。
出方向鏈路負載均衡的工作流程如圖2-2所示。
出方向鏈路負載均衡工作流程簡述如表2-1所示。
步驟 |
描述 |
(1) |
負載均衡設備接收來自內網服務器的流量 |
(2) |
負載均衡設備依次根據負載均衡策略、持續性方法、就近性算法、調度算法(通常使用帶寬算法或最大帶寬算法)來選擇最佳鏈路 |
(3) |
負載均衡設備通過選定的最佳鏈路將流量轉發給外網服務器 |
(4) |
負載均衡設備接收來自外網服務器的流量 |
(5) |
負載均衡設備將流量轉發給內網服務器 |
本特性的支持情況與設備型號有關,請以設備的實際情況為準。
產品係列 |
產品型號 |
產品代碼 |
說明 |
WX1800H係列 |
WX1804H-PWR |
EWP-WX1804H-PWR-CN |
支持 |
WX2500H係列 |
WX2508H-PWR-LTE WX2510H-PWR WX2510H-F-PWR WX2540H WX2540H-F WX2560H |
EWP-WX2508H-PWR-LTE EWP-WX2510H-PWR EWP-WX2510H-F-PWR EWP-WX2540H EWP-WX2540H-F EWP-WX2560H |
支持 |
MAK係列 |
MAK204 MAK206 |
EWP-MAK204 EWP-MAK206 |
支持 |
WX3000H係列 |
WX3010H WX3010H-X-PWR WX3010H-L-PWR WX3024H WX3024H-L-PWR WX3024H-F |
EWP-WX3010H EWP-WX3010H-X-PWR EWP-WX3010H-L-PWR EWP-WX3024H EWP-WX3024H-L-PWR EWP-WX3024H-F |
不支持 |
WX3500H係列 |
WX3508H WX3508H WX3510H WX3510H WX3520H WX3520H-F WX3540H WX3540H |
EWP-WX3508H EWP-WX3508H-F EWP-WX3510H EWP-WX3510H-F EWP-WX3520H EWP-WX3520H-F EWP-WX3540H EWP-WX3540H-F |
不支持 |
WX5500E係列 |
WX5510E WX5540E |
EWP-WX5510E EWP-WX5540E |
不支持 |
WX5500H係列 |
WX5540H WX5560H WX5580H |
EWP-WX5540H EWP-WX5560H EWP-WX5580H |
不支持 |
AC插卡係列 |
LSUM1WCME0 EWPXM1WCME0 LSQM1WCMX20 LSUM1WCMX20RT LSQM1WCMX40 LSUM1WCMX40RT EWPXM2WCMD0F EWPXM1MAC0F |
LSUM1WCME0 EWPXM1WCME0 LSQM1WCMX20 LSUM1WCMX20RT LSQM1WCMX40 LSUM1WCMX40RT EWPXM2WCMD0F EWPXM1MAC0F |
不支持 |
產品係列 |
產品型號 |
產品代碼 |
說明 |
WX1800H係列 |
WX1804H-PWR WX1810H-PWR WX1820H WX1840H |
EWP-WX1804H-PWR EWP-WX1810H-PWR EWP-WX1820H EWP-WX1840H-GL |
支持 |
WX3800H係列 |
WX3820H WX3840H |
EWP-WX3820H-GL EWP-WX3840H-GL |
不支持 |
WX5800H係列 |
WX5860H |
EWP-WX5860H-GL |
不支持 |
出方向鏈路負載均衡各配置項之間的配置關係如圖2-3所示。
· 鏈路組:將具有相同或相似功能的鏈路抽象成一個鏈路組。鏈路組可被虛服務器或負載均衡動作引用。
· 鏈路:運營商提供的實體鏈路。
· 虛服務器:負載均衡設備上麵向用戶業務的虛擬載體,隻有匹配上虛服務器的報文才需要進行負載均衡處理。
· 負載均衡類:將報文分類,以便對不同類型的報文執行不同的負載均衡動作。
· 負載均衡動作:製訂丟棄、轉發或修改報文的具體行為。
· 負載均衡策略:將負載均衡類和負載均衡動作關聯起來就構成了負載均衡策略。負載均衡策略可被虛服務器引用。
· 持續性組:根據某持續性方法將具有一定相關性的會話都分配給同一條鏈路處理。持續性組可被虛服務器或負載均衡動作引用。
· 參數模板:製訂對報文進行更深入處理的模板。參數模板可被虛服務器引用。
出方向鏈路負載均衡配置任務如下:
(1) 配置鏈路組
(2) 配置鏈路
(3) 配置虛服務器
(4) (可選)配置負載均衡策略
a. 配置負載均衡類
b. 配置負載均衡動作
c. 配置負載均衡策略
(5) (可選)配置持續性組
(6) (可選)配置參數模板
(7) (可選)配置ISP信息
(8) (可選)配置負載均衡ALG功能
(9) (可選)測試負載均衡效果
(10) (可選)配置負載均衡告警及日誌功能
為了便於對鏈路進行統一管理,可將具有相同或相似功能的鏈路抽象成一個組,稱為鏈路組。比如,可按不同的運營商劃分為ISP1鏈路組、ISP2鏈路組和ISP3鏈路組等。
鏈路組配置任務如下:
(1) 創建鏈路組
(2) 配置鏈路組的調度算法
(3) 配置可用條件
(4) 關閉NAT功能
(5) (可選)配置SNAT功能
(6) (可選)配置溫暖上線功能
(7) (可選)配置健康檢測功能
(8) (可選)配置故障處理方式
(9) (可選)配置就近性功能
(1) 進入係統視圖。
system-view
(2) 創建鏈路組,並進入鏈路組視圖。
loadbalance link-group link-group-name
(3) (可選)配置鏈路組的描述信息。
description text
缺省情況下,未配置鏈路組的描述信息。
設備根據鏈路組中配置的調度算法,計算出處理用戶請求的鏈路。設備支持以下鏈路組的調度算法:
· 加權最小連接算法(基於鏈路):總是將請求分發給加權活動連接數(當前鏈路在所有鏈路組中的活動連接總數/權值)最小的鏈路。該算法中使用的權值為鏈路視圖下配置的權值。
· 加權輪轉算法:根據鏈路權值的大小將請求依次分發給每條鏈路,權值越大,分配的請求越多。
· 帶寬算法:根據鏈路的權值與剩餘帶寬的比例把請求分發給每條鏈路。
· 最大帶寬算法:總是將請求分發給處於空閑狀態且剩餘帶寬最大的鏈路。
· 源IP哈希算法:根據源IP地址哈希算法將請求分發給鏈路。
· 源IP及端口哈希算法:根據源IP地址和端口號哈希算法將請求分發給鏈路。
· 目的IP哈希算法:根據目的IP地址哈希算法將請求分發給鏈路。
(1) 進入係統視圖。
system-view
(2) 進入鏈路組視圖。
loadbalance link-group link-group-name
(3) 配置鏈路組的調度算法。
predictor hash address { destination | source | source-ip-port } [ mask mask-length ] [ prefix prefix-length ]
predictor { least-connection | { bandwidth | max-bandwidth } [ inbound | outbound ] | 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地址範圍,它被鏈路組引用之後,負載均衡設備將把收到報文的源IP地址修改為SNAT地址池中的IP地址後再轉發出去。
一個SNAT地址池中最多允許有256個IPv4地址和65536個IPv6地址,且不同SNAT地址池中的IPv4或IPv6地址不允許重疊。
出方向鏈路負載均衡的SNAT功能使用場景有限,通常不建議使用。
(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) 退回係統視圖。
quit
(6) 進入鏈路組視圖。
loadbalance link-group link-group-name
(7) 指定鏈路引用的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”。
(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”。
配置就近性功能時,需要先在就近性視圖下配置就近性參數,然後在鏈路組中開啟就近性功能。
(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
(3) 為TCP報文指定就近性探測方法。
match [ match-id ] { tcp } { lb-probe lb-template | probe nqa-template }
缺省情況下,未指定就近性探測方法。
(4) 指定缺省就近性探測方法。
match default { lb-probe lb-template | probe nqa-template }
缺省情況下,未指定缺省就近性探測方法。
(5) 配置IPv4就近性表項的掩碼長度。
ip mask { mask-length | mask }
缺省情況下,IPv4就近性表項的掩碼長度為24。
(6) 配置IPv6就近性表項的前綴長度。
ipv6 prefix prefix-length
缺省情況下,IPv6就近性表項的前綴長度為96。
(7) 配置就近性計算的網絡延遲權值。
rtt weigt rtt-weight
缺省情況下,就近性計算的網絡延遲權值為100。
(8) 配置就近性計算的路由器跳數權值。
ttl weight ttl-weight
缺省情況下,就近性計算的路由器跳數權值為100。
(9) 配置就近性計算的帶寬權值。
bandwidth { inbound | outbound } weight bandwidth-weight
缺省情況下,就近性計算的出、入方向帶寬權值均為100。
(10) 配置就近性計算的成本權值。
cost weight cost-weight
缺省情況下,就近性計算的成本權值為100。
(11) 配置就近性表項的老化時間。
timeout timeout-value
缺省情況下,就近性表項的老化時間為60秒。
(12) 配置就近性表項的最大個數。
max-number number
缺省情況下,不限製就近性表項的最大個數。
(1) 進入係統視圖。
system-view
(2) 進入鏈路組視圖。
loadbalance link-group link-group-name
(3) 開啟就近性功能。
proximity enable
缺省情況下,鏈路組的就近性功能處於關閉狀態。
鏈路是運營商提供的實體鏈路。一條鏈路隻能屬於一個鏈路組,而一個鏈路組可以包含多條鏈路。
鏈路配置任務如下:
(1) 創建鏈路並指定其所屬鏈路組
(2) 配置鏈路的IP地址或出接口
請選擇以下一項進行配置:
(3) 配置權值和調用優先級
(4) (可選)配置帶寬和連接參數
(5) (可選)配置健康檢測功能
(6) (可選)配置慢宕功能
(7) (可選)配置就近性計算的鏈路成本
(8) (可選)配置鏈路的帶寬繁忙比與最大期望帶寬
(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
缺省情況下,鏈路所允許的最大總帶寬、最大入帶寬和最大出帶寬均為0千字節/秒,即不受限製。
(4) 配置鏈路所允許的最大連接數。
connection-limit max max-number
缺省情況下,鏈路所允許的最大連接數為0,即不受限製。
(5) 配置鏈路所允許的最大連接速率。
rate-limit connection connection-number
缺省情況下,鏈路所允許的最大連接速率為0,即不受限製。
通過健康檢測可以對鏈路進行檢測,保證其能夠提供有效的服務。
用戶既可在鏈路組視圖下對組內的所有鏈路進行配置,也可在鏈路視圖下隻對當前鏈路進行配置,後者的配置優先級較高。
(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
缺省情況下,鏈路所允許的期望最大總帶寬、最大上行期望帶寬和最大下行期望帶寬均為0千字節/秒,即不限製。
虛服務器是負載均衡設備上麵向用戶業務的虛擬載體,是為了判斷是否需要對進入負載均衡設備的報文進行負載均衡而引入的概念。隻有匹配上虛服務器的報文才會被進行負載均衡處理。
鏈路負載均衡支持的虛服務器類型為LINK-IP。
虛服務器配置任務如下:
(1) 創建虛服務器
(2) 配置VSIP和端口號
(3) 配置報文處理策略
請至少選擇其中一項進行配置:
¡ 指定鏈路組
¡ 引用負載均衡策略
(4) (可選)引用參數模板
(5) (可選)配置帶寬和連接參數
(6) (可選)配置帶寬繁忙保護功能
(7) (可選)開啟鏈路的接口帶寬統計功能
(8) 開啟虛服務器
(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) 指定鏈路組。
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類型的虛服務器,隻能引用Link-generic類型的策略模板。
參數模板用來對虛服務器上的流量進行比較深入的解析、處理和優化。虛服務器引用了參數模板後,就要根據該參數模板的配置對匹配流量進行相應的處理。
(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
缺省情況下,虛服務器所允許的最大總帶寬、最大入帶寬和最大出帶寬均為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
缺省情況下,未開啟鏈路的接口帶寬統計功能。
配置完虛服務器後,需要將其開啟後才能進入工作狀態。
(1) 進入係統視圖。
system-view
(2) 進入虛服務器視圖。
virtual-server virtual-server-name
(3) 開啟虛服務器。
service enable
缺省情況下,虛服務器處於關閉狀態。
負載均衡類的作用是將報文分類,即通過匹配規則將報文按照一定條件進行匹配,以便將不同類型的報文在不同的負載均衡動作流程中處理。一個負載均衡類中最多允許創建65535條匹配規則。
負載均衡類配置任務如下:
(1) 創建負載均衡類
(2) 創建匹配規則
請至少選擇以下一項進行配置:
(1) 進入係統視圖。
system-view
(2) 創建Link-generic負載均衡類,並進入負載均衡類視圖。
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) 創建Link-generic類型的負載均衡動作,並進入負載均衡動作視圖。
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
缺省情況下,根據當前動作查找可用鏈路失敗時,不再繼續匹配下一條引用規則。
(1) 進入係統視圖。
system-view
(2) 進入負載均衡動作視圖。
loadbalance action action-name
(3) 配置發往服務器的IP報文中的ToS字段。
set ip tos tos-number
缺省情況下,不改變發往服務器的IP報文中的ToS字段。
將負載均衡類和負載均衡動作關聯起來就構成了負載均衡策略。負載均衡策略是指導報文轉發的一種方式,用戶可以為匹配特定負載均衡類的報文指定執行的負載均衡動作,以及為未匹配任何負載均衡類的報文指定缺省負載均衡動作。
用戶可以在一個負載均衡策略中指定多個負載均衡類,轉發報文時會按照配置順序來匹配負載均衡類,匹配成功則執行相應的負載均衡動作,否則繼續匹配下一條負載均衡類。如果所有負載均衡類均未匹配,則執行缺省負載均衡動作。
負載均衡策略配置任務如下:
(1) 創建負載均衡策略
(2) 指定負載均衡動作
(3) 指定缺省負載均衡動作
(1) 進入係統視圖。
system-view
(2) 創建Link-generic類型的負載均衡策略,並進入負載均衡策略視圖。
loadbalance policy policy-name type link-generic
創建負載均衡策略時必須為其指定類型;而在進入已創建的負載均衡策略視圖時可以不指定類型,但若要指定類型,則必須與創建時的類型一致。
(3) (可選)配置負載均衡策略的描述信息。
description text
缺省情況下,未配置負載均衡策略的描述信息。
Link-generic類型的負載均衡策略隻能引用Link-generic類型的負載均衡類和動作。
(1) 進入係統視圖。
system-view
(2) 進入負載均衡策略視圖。
loadbalance policy policy-name
(3) 為負載均衡類指定負載均衡動作。
class class-name [ insert-before before-class-name ] action action-name
缺省情況下,沒有為任何負載均衡類指定負載均衡動作。
不同的負載均衡類可以與同一負載均衡動作組成匹配規則。
Link-generic類型的負載均衡策略隻能用Link-generic類型的負載均衡動作作為其缺省動作。
(1) 進入係統視圖。
system-view
(2) 進入負載均衡策略視圖。
loadbalance policy policy-name
(3) 指定缺省負載均衡動作。
default-class action action-name
缺省情況下,未指定缺省負載均衡動作。
持續性組的作用是根據某持續性方法將具有一定相關性的會話都分配給同一鏈路處理,這個分配規則就稱為持續性表項。在一個會話中,當其首包通過持續性方法選擇了同一鏈路之後,後續包都會沿用這個選擇結果。
持續性組配置任務如下:
(1) 創建持續性組
(2) 配置IP持續性方法
(3) (可選)配置持續性表項超時時間
(4) (可選)開啟匹配持續性表項的會話不受連接數限製影響功能
(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
缺省情況下,對於HTTP Cookie類型的持續性組,持續性表項的超時時間為86400秒;對於其它類型的持續性組,持續性表項的超時時間為60秒。
開啟該功能後,如果該連接匹配了已有的持續性表項,將不受鏈路帶寬及連接參數的影響,也不受虛服務器上引用的負載均衡策略連接數限製的影響。
(1) 進入係統視圖。
system-view
(2) 進入持續性組視圖。
sticky-group group-name
(3) 開啟匹配持續性表項的會話不受連接數限製影響功能。
override-limit 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 Sevice Provider,互聯網服務提供商)的IP地址信息,該地址信息可以在ISP類型的匹配規則中進行引用。當目的地址匹配了指定的ISP地址信息後,可根據配置執行相應的負載均衡動作。設備支持通過以下方式配置ISP信息:
· 手工配置ISP信息:由用戶手工指定ISP地址信息。
· 導入ISP文件:由用戶手工導入ISP文件。設備僅允許導入.tp格式的文件。
配置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文件。
loadbalance isp file isp-file-name
負載均衡ALG(Application Level Gateway,應用層網關)功能用於將父、子會話分發到同一條鏈路上。
(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 { 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
可在任意視圖下執行本命令,測試IPv6負載均衡的效果。
loadbalance schedule-test ipv6 { 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
開啟了負載均衡的告警功能之後,負載均衡會生成告警信息,以向網管軟件報告本模塊的重要事件。該信息將發送至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日誌功能處於關閉狀態。
(1) 進入係統視圖。
system-view
(2) 開啟負載均衡鏈路帶寬繁忙日誌功能。
loadbalance log enable bandwidth-busy
缺省情況下,負載均衡鏈路帶寬繁忙日誌功能處於關閉狀態。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後出方向鏈路負載均衡的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下執行reset命令可以清除出方向鏈路負載均衡的統計信息。
表2-2 鏈路負載均衡顯示和維護
配置 |
命令 |
顯示負載均衡動作的信息 |
display loadbalance action [ name action-name ] |
顯示負載均衡類的信息 |
display loadbalance class [ name class-name ] |
顯示ISP的信息 |
display loadbalance isp [ ip ipv4-address | ipv6 ipv6-address | name isp-name ] |
顯示負載均衡策略的信息 |
display loadbalance policy [ name policy-name ] |
顯示就近性表項的信息 |
display loadbalance proximity [ ip [ ipv4-address ] | ipv6 [ ipv6-address ] ] |
顯示參數模板的信息 |
display parameter-profile [ name parameter-name ] |
顯示鏈路的信息 |
display loadbalance link [ brief | name link-name ] |
顯示鏈路的統計信息 |
display loadbalance link statistics [ name link-name ] |
顯示鏈路出接口的統計信息 |
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 ] |
顯示持續性組的信息 |
display sticky-group [ name group-name ] |
顯示虛服務器的信息 |
display virtual-server [ brief | name virtual-server-name ] |
顯示虛服務器的統計信息 |
display virtual-server statistics [ name virtual-server-name ] |
顯示所有協議的負載均衡ALG狀態 |
|
清除就近性表項的信息 |
reset loadbalance proximity [ ip [ ipv4-address ] | ipv6 [ ipv6-address ] ] |
清除負載均衡下的所有七層連接 |
reset loadbalance connections |
清除鏈路的統計信息 |
reset loadbalance link statistics [ link-name ] |
清除虛服務器的統計信息 |
reset virtual-server statistics [ virtual-server-name ] |
用戶從兩個運營商ISP 1和ISP 2處分別租用了鏈路Link 1和Link 2,這兩條鏈路的路由器跳數、帶寬和成本均相同,但Link 1的網絡延遲小於Link 2。通過配置鏈路負載均衡,使Client訪問Server時優先選擇這兩條鏈路中的最優鏈路。
圖2-4 出方向鏈路負載均衡基本組網配置組網圖
(1) 配置接口IP地址
<AC> system-view
[AC] interface gigabitethernet 1/0/1
[AC-GigabitEthernet1/0/1] ip address 10.1.1.1 24
[AC-GigabitEthernet1/0/1] quit
[AC] interface gigabitethernet 1/0/2
[AC-GigabitEthernet1/0/2] ip address 20.1.1.1 24
[AC-GigabitEthernet1/0/2] quit
(2) 配置鏈路組
# 創建ICMP類型的NQA模板t1,並配置每次探測結果發送機製。
[AC] nqa template icmp t1
[AC-nqatplt-icmp-t1] reaction trigger per-probe
[AC-nqatplt-icmp-t1] quit
# 指定缺省就近性探測方法為t1,並配置就近性計算的網絡延遲權值為200。
[AC] loadbalance proximity
[AC-lb-proximity] match default probe t1
[AC-lb-proximity] rtt weight 200
[AC-lb-proximity] quit
# 創建鏈路組lg,並開啟就近性功能。
[AC] loadbalance link-group lg
[AC-lb-lgroup-lg] proximity enable
# 關閉NAT功能。
[AC-lb-lgroup-lg] transparent enable
[AC-lb-lgroup-lg] quit
(3) 配置鏈路
# 創建鏈路link1,配置其下一跳IPv4地址為10.1.1.2,並加入鏈路組lg。
[AC] loadbalance link link1
[AC-lb-link-link1] router ip 10.1.1.2
[AC-lb-link-link1] link-group lg
[AC-lb-link-link1] quit
# 創建鏈路link2,配置其下一跳IPv4地址為20.1.1.2,並加入鏈路組lg。
[AC] loadbalance link link2
[AC-lb-link-link2] router ip 20.1.1.2
[AC-lb-link-link2] link-group lg
[AC-lb-link-link2] quit
(4) 配置虛服務器
# 創建LINK-IP類型的虛服務器vs,配置其VSIP為通配0.0.0.0/0,指定其缺省主用鏈路組為lg,並開啟此虛服務器。
[AC] virtual-server vs type link-ip
[AC-vs-link-ip-vs] virtual ip address 0.0.0.0 0
[AC-vs-link-ip-vs] default link-group lg
[AC-vs-link-ip-vs] service enable
[AC-vs-link-ip-vs] quit
# 顯示所有鏈路的簡要信息。
[AC] display loadbalance link brief
Link Route IP State VPN instance Link group
link1 10.1.1.2 Active lg
link2 20.1.1.2 Active lg
# 顯示所有鏈路組的詳細信息。
[AC] 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:
t1
Total link: 2
Active link: 2
Link list:
Name State VPN instance Router IP Weight Priority
link1 Active 10.1.1.2 100 4
link2 Active 20.1.1.2 100 4
# 顯示所有虛服務器的詳細信息。
[AC] 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
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就近性表項的簡要信息。
[AC] display loadbalance proximity ip
(*) - Real server object
Slot 1:
IPv4 address/Mask length Timeout Best link
------------------------------------------------------------
10.1.1.0/24 50 link1
如圖3-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服務器,從而使內網用戶訪問外網服務器的流量較為均勻地分配到多條鏈路上,提高流量轉發效率,提升服務質量;可以避免出現一條鏈路擁塞而其他鏈路閑置的情況;也可以在某條鏈路出現故障時,使用其他鏈路來訪問外網服務器,避免因鏈路故障導致訪問失敗。
圖3-1 DNS透明代理原理圖
DNS透明代理功能是通過改變DNS請求報文的目的地址實現的。具體工作流程如圖3-2所示。
圖3-2 DNS透明代理工作流程圖
DNS透明代理工作流程簡述如表3-1所示。
表3-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請求報文的目的地址控製訪問流量在多條鏈路上的轉發,為內網用戶訪問外網服務器選擇最佳鏈路。
如圖3-3所示,負載均衡設備上包括以下要素:
· 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應答報文。內網用戶收到應答報文後,就可以訪問該外網服務器了。
本特性的支持情況與設備型號有關,請以設備的實際情況為準。
產品係列 |
產品型號 |
產品代碼 |
說明 |
WX1800H係列 |
WX1804H-PWR |
EWP-WX1804H-PWR-CN |
支持 |
WX2500H係列 |
WX2508H-PWR-LTE WX2510H-PWR WX2510H-F-PWR WX2540H WX2540H-F WX2560H |
EWP-WX2508H-PWR-LTE EWP-WX2510H-PWR EWP-WX2510H-F-PWR EWP-WX2540H EWP-WX2540H-F EWP-WX2560H |
支持 |
MAK係列 |
MAK204 MAK206 |
EWP-MAK204 EWP-MAK206 |
支持 |
WX3000H係列 |
WX3010H WX3010H-X-PWR WX3010H-L-PWR WX3024H WX3024H-L-PWR WX3024H-F |
EWP-WX3010H EWP-WX3010H-X-PWR EWP-WX3010H-L-PWR EWP-WX3024H EWP-WX3024H-L-PWR EWP-WX3024H-F |
不支持 |
WX3500H係列 |
WX3508H WX3508H WX3510H WX3510H WX3520H WX3520H-F WX3540H WX3540H |
EWP-WX3508H EWP-WX3508H-F EWP-WX3510H EWP-WX3510H-F EWP-WX3520H EWP-WX3520H-F EWP-WX3540H EWP-WX3540H-F |
不支持 |
WX5500E係列 |
WX5510E WX5540E |
EWP-WX5510E EWP-WX5540E |
不支持 |
WX5500H係列 |
WX5540H WX5560H WX5580H |
EWP-WX5540H EWP-WX5560H EWP-WX5580H |
不支持 |
AC插卡係列 |
LSUM1WCME0 EWPXM1WCME0 LSQM1WCMX20 LSUM1WCMX20RT LSQM1WCMX40 LSUM1WCMX40RT EWPXM2WCMD0F EWPXM1MAC0F |
LSUM1WCME0 EWPXM1WCME0 LSQM1WCMX20 LSUM1WCMX20RT LSQM1WCMX40 LSUM1WCMX40RT EWPXM2WCMD0F EWPXM1MAC0F |
不支持 |
產品係列 |
產品型號 |
產品代碼 |
說明 |
WX1800H係列 |
WX1804H-PWR WX1810H-PWR WX1820H WX1840H |
EWP-WX1804H-PWR EWP-WX1810H-PWR EWP-WX1820H EWP-WX1840H-GL |
支持 |
WX3800H係列 |
WX3820H WX3840H |
EWP-WX3820H-GL EWP-WX3840H-GL |
不支持 |
WX5800H係列 |
WX5860H |
EWP-WX5860H-GL |
不支持 |
DNS透明代理功能配置任務如下:
(1) 配置DNS透明代理
(2) 配置DNS服務器池
(3) 配置DNS服務器池的調度算法
(4) 配置鏈路
(5) (可選)配置負載均衡策略
a. 配置負載均衡類
b. 配置負載均衡動作
c. 配置負載均衡策略
(6) (可選)配置持續性組
(7) (可選)配置負載均衡日誌功能
通過配置DNS透明代理,負載均衡可以對匹配上DNS透明代理的DNS請求報文進行負載均衡處理。
如果同時指定DNS服務器池和引用負載均衡策略,報文會被優先交給負載均衡策略處理,當負載均衡策略無法處理時才交給DNS服務器池處理。
DNS透明代理配置任務如下:
(1) 創建DNS透明代理
(3) 配置報文處理策略
請至少選擇其中一項進行配置:
¡ 引用負載均衡策略
(4) (可選)開啟帶寬繁忙保護功能
(5) 開啟DNS透明代理功能
(1) 進入係統視圖。
system-view
(2) 創建DNS透明代理,並進入DNS透明代理視圖。
loadbalance dns-proxy dns-proxy-name type udp
建議將DNS透明代理的IP地址配置為全0地址,即對所有的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透明代理的負載功能,實現對鏈路帶寬資源的合理利用。有關負載均衡策略的詳細配置,請參見“3.10 配置負載均衡策略”。
(1) 進入係統視圖。
system-view
(2) 進入DNS透明代理視圖。
loadbalance dns-proxy dns-proxy-name
(3) 指定DNS透明代理引用的負載均衡策略。
lb-policy policy-name
缺省情況下,DNS透明代理未引用負載均衡策略。
帶寬繁忙保護功能就是對DNS服務器對應鏈路的帶寬繁忙比進行限製。當流量超過某條鏈路的帶寬繁忙比(當前帶寬與最大帶寬的百分比)後,新建流量將不再向該鏈路分發,而原有流量則仍由該鏈路繼續分發。開啟帶寬繁忙保護功能後,DNS透明代理設備選擇DNS服務器時,會檢查DNS服務器使用的鏈路的帶寬繁忙比是否超過配置的帶寬繁忙比,如果超出則不選擇該DNS服務器。
當DNS服務器池中的所有DNS服務器對應的鏈路都達到了帶寬繁忙比例時,帶寬繁忙保護功能自動失效;隻要此DNS服務器池中有任何一個DNS服務器對應鏈路恢複到配置的帶寬繁忙比例以下,則該DNS服務器重新參與調度,帶寬繁忙保護功能自動生效。有關鏈路帶寬繁忙比的詳細配置,請參見“3.7.7 配置鏈路的帶寬繁忙比與最大期望帶寬”。
(1) 進入係統視圖。
system-view
(2) 進入DNS透明代理視圖。
loadbalance dns-proxy dns-proxy-name
(3) 開啟DNS服務器對應鏈路的帶寬繁忙保護功能。
bandwidth busy-protection 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服務器。設備支持以下幾種調度算法:
· 源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服務器關聯的鏈路
(4) (可選)配置權值和調用優先級
(5) (可選)配置健康檢測功能
(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(表示繼續使用原報文攜帶的端口號)。
在出口鏈路使用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) (可選)配置鏈路所允許的最大帶寬
(4) (可選)配置健康檢測功能
(5) (可選)配置鏈路的帶寬繁忙比與最大期望帶寬
(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) 配置鏈路所允許的最大帶寬。
rate-limit bandwidth [ inbound | outbound ] bandwidth-value
缺省情況下,鏈路所允許的最大帶寬不受限製。
通過健康檢測可以對鏈路進行檢測,保證其能夠提供有效的服務。
(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
缺省情況下,鏈路最大期望帶寬不受限製。
負載均衡類的作用是將報文分類,即通過匹配規則將報文按照一定條件進行匹配,以便將不同類型的報文在不同的負載均衡動作流程中處理。一個負載均衡類中最多允許創建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服務器失敗時,可繼續順序匹配策略中的下一條引用規則。
(1) 進入係統視圖。
system-view
(2) 進入DNS類型的負載均衡動作視圖。
loadbalance action action-name
(3) 配置報文的轉發模式為轉發。
forward all
缺省情況下,報文轉發模式為丟棄。
(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) 進入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 ] 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透明代理的統計信息。
表3-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 statistics [ name dns-server-name ] |
|
顯示DNS透明代理的信息 |
display loadbalance dns-proxy [ brief | name dns-proxy-name ] |
|
顯示DNS透明代理的統計信息 |
display loadbalance dns-proxy statistics [ name dns-proxy-name ] |
|
顯示鏈路的信息 |
display loadbalance link [ brief | name link-name ] |
|
顯示鏈路的統計信息 |
display loadbalance link statistics [ name link-name ] |
|
顯示負載均衡類的信息 |
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 ] [ class class-name | default-class | default-dns-server-pool ] |
|
顯示持續性組的信息 |
display sticky-group [ name group-name ] |
|
清除DNS服務器的統計信息 |
reset loadbalance dns-server statistics [ dns-server-name ] |
|
清除DNS透明代理的統計信息 |
reset loadbalance dns-proxy statistics [ dns-proxy-name ] |
|
清除鏈路的統計信息 |
reset loadbalance link statistics [ link-name ] |
用戶從兩個運營商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.abc.com訪問外網的Web服務器Web Server A和Web Server B時,使上網流量均勻地分布在不同的鏈路上。
圖3-4 DNS透明代理基本組網配置組網圖
(1) 配置接口IP地址
[AC] interface vlan-interface 100
[AC-Vlan-interface100] ip address 192.168.1.100 24
[AC-Vlan-interface100] quit
[AC] interface gigabitethernet 1/0/2
[AC-GigabitEthernet1/0/2] ip address 10.1.1.1 24
[AC-GigabitEthernet1/0/2] quit
[AC] interface gigabitethernet 1/0/3
[AC-GigabitEthernet1/0/3] ip address 20.1.1.1 24
[AC-GigabitEthernet1/0/3] quit
(2) 配置鏈路
# 創建名為link1的鏈路,指定鏈路出方向的下一跳IP地址為10.1.1.2
[AC] loadbalance link link1
[AC-lb-link-link1] router ip 10.1.1.2
[AC-lb-link-link1] quit
# 創建名為link2的鏈路,指定鏈路出方向的下一跳IP地址為20.1.1.2。
[AC] loadbalance link link2
[AC-lb-link-link2] router ip 20.1.1.2
[AC-lb-link-link2] quit
(3) 配置DNS服務器池
# 創建名為dsp的DNS服務器池
[AC] loadbalance dns-server-pool dsp
[AC-lb-dspool-dsp] quit
(4) 配置DNS服務器
# 創建名為ds1的DNS服務器,配置其IPv4地址為10.1.2.100,所屬DNS服務器池為dsp,並指定ds1對應的鏈路為link1。
[AC] loadbalance dns-server ds1
[AC-lb-ds-ds1] ip address 10.1.2.100
[AC-lb-ds-ds1] dns-server-pool dsp
[AC-lb-ds-ds1] link link1
[AC-lb-ds-ds1] quit
# 創建名為ds2的DNS服務器,配置其IPv4地址為20.1.2.100,所屬DNS服務器池為dsp,並指定ds2對應的鏈路為link2。
[AC] loadbalance dns-server ds2
[AC-lb-ds-ds2] ip address 20.1.2.100
[AC-lb-ds-ds2] dns-server-pool dsp
[AC-lb-ds-ds2] link link2
[AC-lb-ds-ds2] quit
(5) 配置DNS透明代理
# 創建名為dns-proxy1的UDP類型的DNS透明代理,配置其IPv4地址為0.0.0.0,指定DNS服務器池為dsp,並開啟DNS透明代理功能。
[AC] loadbalance dns-proxy dns-proxy1 type udp
[AC-lb-dp-udp-dp] ip address 0.0.0.0 0
[AC-lb-dp-udp-dp] default dns-server-pool dsp
[AC-lb-dp-udp-dp] service enable
[AC-lb-dp-udp-dp] quit
# 顯示所有DNS服務器的簡要信息。
[AC] 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服務器池的詳細信息。
[AC] 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透明代理的詳細信息。
[AC] 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上。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!