正常情況下,客戶一般會有如下3類需求(當然也可以隻有一個):
1、client在通路外網的時候,如果是通路的電信位址的網站,需要從電信接
口出去(可能會使用接口位址或指定的公網位址段進行SNAT);如果是通路聯通位址的網站,需要從聯通接口出去(可能會使用接口位址或指定的公網位址段進行SNAT);如果是其他位址的網站,就從電信(聯通)鍊路出去
2、通路客戶指定公網IP和端口的請求轉發到指定内網1台Server上(或者多台)
以上三種情況包含了鍊路均衡實施中95%以上客戶的要求,是以本文主要以如何實作上述3種功能為目标進行配置。
第一部分:确認客戶需求
假設客戶拓撲圖及IP位址規劃如下圖所示(其中server和client分别連接配接在客
戶核心交換機的server vlan和client vlan):AX分别連接配接電信出口和聯通出口,
同時内網接口連接配接核心交換機。
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_1307352239HMhf.png"></a>
根據客戶網絡實際環境整理如下表格(可根據實際情況進行添加):
網絡部分
接口IP
掩碼
網關
實體接口(vlan)
電信鍊路
聯通鍊路
内網鍊路
dns_ct_proxy
dns_cnc_proxy
路由部分
路由(目的)
路由(源)
NAT部分(特殊)
源位址(内)
電信IP(段)
聯通IP(段)
映射部分
電信映射IP
聯通映射IP
Server内網IP
協定:端口
域名部分
域名
注:完全了解客戶網絡環境和需求是能成功實施鍊路均衡的關鍵所在,是以在項目實施準備期間需要完全了解客戶現有環境上裝置的相關配置。
根據前面虛拟環境IP位址規劃填寫上表,内容如下:
200.200.200.1
255.255.255.0
200.200.200.254
e1(ctc_vlan)
100.100.100.1
100.100.100.254
e2(cnc_vlan)
172.172.172.1
172.172.172.254
e3(inside_vlan)
200.200.200.2
100.100.100.2
備注
192.168.0.0/24
Server網段
10.10.10.0/24
Client網段
0.0.0.0/0
預設路由
NAT部分(内-外)
内網位址
Web網站映射
映射部分(從外到内)
200.200.200.200
100.100.100.100
192.168.0.1
192.168.0.2
http:80
www.test.com
<b>注:</b><b>A10</b><b>的鍊路均衡配置非常簡單,總體上分</b><b>3</b><b>步:</b><b>1</b><b>、基礎網絡配置</b><b> 2</b><b>、雙向位址轉換</b><b> 3</b><b>、</b><b>GSLB</b><b>域名解析部分,下文将對每一步進行較長的描述。</b>
第二部分、基礎網絡部分
<b>A、 </b><b>配置</b><b>VLAN</b><b>和接口</b>
根據網絡環境規劃,需要在AX上建立3個vlan:
n 電信vlan(ctc_vlan) vlan ID 10,配置設定e1接口,ve ID 10
n 聯通vlan(cnc_vlan) vlan ID 20,配置設定e2接口 ve ID 20
n 内網vlan(inside_vlan) vlan ID 30,配置設定e3接口 ve ID 30
進入Config mode--&gt;network--&gt;VLAN,點選Add,出現如下界面:
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_1307352240K3pR.png"></a>
按照規劃vlan數量和名稱建立相應的vlan後點選ok既建立成功。(其中Virtual Interface既為關聯與這個vlan的3層虛拟接口,隻有在這裡填寫了相應的ID以後,在config mode--&gt;network--&gt;interface--&gt;virtual下才會出現ve接口)
注意,Viraual Interface的ID号最好與VLAN ID一緻,便于維護管理。
最後完成後界面如下圖所示:
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_1307352241Mjbl.png"></a>
<b>B、</b><b>配置</b><b>ve</b><b>接口</b><b>IP</b><b>位址</b>
根據網絡環境規劃,3個ve接口IP位址需要配置如下:
n ve 10: 200.200.200.1/24
n ve 20: 100.100.100.1/24
n ve 30: 172.172.172.1/24
進入config mode--&gt;network--&gt;interface--&gt;virtual,上一步建立的ve在這裡:
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_1307352242LYqQ.png"></a>
目前還為配置位址,是以都為0.0.0.0,分别點選進入各個ve接口配置界面,配置相應的ip位址:
電信接口:
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_1307352243utFW.png"></a>
聯通接口:
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_1307352244KzbO.png"></a>
内網接口:
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_1307352246WyTo.png"></a>
注意:在ve 30(内網接口)上需要啟用:Allow Promiscuous VIP,後面配置中會介紹這個選項的作用。
<b>C、</b><b>配置路由</b>
根據網絡環境規劃,需要添加3條路由:client網段和server網段的傳回路由以及AX的預設路由
n Client的10.0.0.0/24的傳回路由
n Server的192.168.0.0/24的傳回路由
n 默然路由
進入config mode--&gt;network--&gt;route--&gt;IPv4 Static,點選Add:
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_1307352247fezE.png"></a>
這樣就在AX上添加了client網段的傳回路由,同理添加server網段的傳回路由以及預設路由(預設路由的網關這裡是指向電信鍊路的網關位址),如下:
預設路由到底指向電信的網關還是聯通的網關需要根據實際情況确定,通常情況下推薦配置一條靜态路由(AX可以配置多條靜态路由)。
第三部分、雙向位址轉換
該部分就涉及到前面提到的客戶3類需求(藍色字型)的前2個。
1、完成内網client通路外網的智能選路,既通路電信位址的網站從電信鍊路出去;通路聯通位址的網站從聯通鍊路出去。這樣就完成了智能選路功能。
如果電信鍊路(或者聯通鍊路斷掉),則所有的流量都從聯通鍊路(或者電信鍊路)出去,這樣實作了鍊路備份功能。
這部分是完成鍊路均衡的基本功能,主要是通過virtual server配合aFlex
腳本功能來完成的。
需要按照如下步驟操作:
<b>A</b><b>、建立相應的</b><b>server</b><b>:</b>
根據網絡環境規劃,需要建立如下幾個server:
n ctc_gw port:TCP 0 ;port:UDP 0 IP:200.200.200.254 電信網關
n cnc_gw port:TCP 0 ;port:UDP 0 IP:100.100.100.254 聯通網關
n server1 port:TCP 80 伺服器1
n server2 port:TCP 80 伺服器2
進入config mode--&gt;service--&gt;SLB--&gt;server,點Add:
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_1307352248UFzT.png"></a>
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_13073522495XZe.png"></a>
點選ok既成功建立了ctc_gw對應的server,同理可以建立其餘需要的server(推薦在server級别不啟用health monitor)
<b>B</b><b>、建立相應的</b><b>service-group</b>
根據網絡環境規劃,需要建立如下幾個service-group:
n ctc_gw_tcp member:200.200.200.254 port:TCP 0 priority 15
member:100.100.100.254 port:TCP 0 priority 1
n ctc_gw_udp member:200.200.200.254 port:UDP 0 priority 15
member:100.100.100.254 port:UDP 0 priority 1
n cnc_gw_tcp member:100.100.100.254 port:TCP 0 priority 15
member:200.200.200.254 port:TCP 0 priority 1
n cnc_gw_udp member:100.100.100.254 port:UDP 0 priority 15
member:200.200.200.254 port:UDP 0 priority 1
n web_server member:192.168.0.1 port:TCP 80
member:192.168.0.2 port:TCP 80
進入config mode--&gt;service--&gt;SLB--&gt;service-group,點Add:
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_1307352250nhRB.png"></a>
點選ok以後就成功建立了ctc_gw_tcp。同理建立剩下的service-group。
注:當建立ctc_gw_tcp和ctc_gw_udp,并添加server的時候,ctc_gw的優先級
要選擇高的(這裡選擇的15);cnc_gw的優先級要選低(這裡選擇的1),同理
處理cnc_gw_tcp以及cnc_gw_udp。同時,在建立上述4個service-group的
時候,Health Monitor要選擇ping。以上設定實作了鍊路備份功能。而對于
Web_server,則2個member的優先級需要一樣,因為需要進行負載均衡,
而health monitor則選擇http方式。
<b>D、 </b><b>建立</b><b>PBSLB</b><b>政策(導入智能鍊路選擇需要的位址庫資訊)</b>
進入config mode--&gt;service--&gt;PBSLB,點選Add:
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_1307352251hAYS.png"></a>
Name輸入chinaall,Host輸入tftp伺服器位址,Location輸入tftp server上位址庫儲存的路徑和檔案名,我的tftp server位址是管理機的位址172.31.31.30,檔案路徑是根目錄,檔案名是chinall.txt,最終結果如下:
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_1307352252lpHV.png"></a>
點選ok,AX就會下載下傳tftp server上的位址資料庫檔案。
可以在指令行下進行驗證是否下載下傳成功:
SoftAX#show bw-list chinall
Name: chinall
URL: tftp://172.31.31.30/chinall.txt
Size: 38227 bytes
Date: Jun/03 00:40:01
Update period: 300 seconds
Update times: 1
如果能看到Size大小和tftp server存放的檔案一樣,則上傳成功。預設情況下每300秒AX會向tftp server更新一次。
可以在指令行下用指令檢視chinall檔案的内容:
SoftAX#show bw-list chinall detail
Date: Jun/03 00:45:01
Content
--------------------------------------------------------------------------------
101.224.0.0 /13 1
101.248.0.0 /15 1
101.80.0.0 /12 1
106.112.0.0 /13 1
106.16.0.0 /12 1
106.224.0.0 /12 1
106.32.0.0 /12 1
106.4.0.0 /14 1
106.56.0.0 /13 1
106.80.0.0 /12 1
106.8.0.0 /15 1
110.152.0.0 /14 1
110.156.0.0 /15 1
110.166.0.0 /15 1
………………
以上是部分chinall腳本的内容,其中每個IP段之後都有一個數字(比如以上部分的1,後面還有2-7),這是我們事先對位址庫檔案進行編譯以後的分類,數字的含義如下:
1 CTC 2 CNC 3 CMCC 4 CUC 5 CRTC 6 CERNET 7 OTHER
以上分類會在後面建立aFlex腳本的時候用到。
<b>E、 </b><b>建立相應的</b><b>snatpool</b>
根據網絡環境規劃,需要建立如下的snatpool
n ctc_nat 從電信出口出去的流量進行NAT的位址,這裡是200.200.200.1,既AX連接配接電信接口的IP位址
n cnc_nat從聯通出口出去的流量進行NAT的位址,這裡是100.100.100.1,既AX連接配接聯通接口的IP位址
進入config mode--&gt;service--&gt;IP Source NAT,點選Add:
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_1307352252GINU.png"></a>
點選ok,這樣就建立了ctc_nat,同理建立cnc_nat。
<b>F</b><b>、建立相應的</b><b>aFlex</b><b>腳本。</b>
需要建立如下的aFlex腳本:
n links_select_tcp client向外發外的tcp資料處理的方式
n links_select_udp client向外發出的udp資料處理的方式
進入config mode--&gt;service--&gt;aFlex,點選Add:
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_13073522536mV8.png"></a>
點選ok,既成功建立了links_select_tcp這個aFlex腳本。同理建立links_select_udp腳本(将cnc_gw_tcp以及ctc_gw_tcp更換成cnc_gw_udp以及ctc_gw_udp即可)。
links_select_tcp aFlex腳本解析:
when CLIENT_ACCEPTED {
set remote_addr [IP::local_addr]
set bwfile_group_id [ POLICY::bwlist id $remote_addr chinall ]
scan $remote_addr "%d.%d.%d.%d" a b c d
if { ($bwfile_group_id equals 2)} {
if { [LB::status node 100.100.100.254 ] == "up"} {
snatpool cnc_nat
pool cnc_gw_tcp
} else {
snatpool ctc_nat
pool ctc_gw_tcp
}
在aFlex腳本中,[IP::local_addr]的意義是随着上下文語境不同而不同的,在本文中的clientside上下文語境,是目标IP位址,這和我們通常了解的local是本地、源的意思不同,按照一般了解,目标IP應該是remote這個關鍵字。是以在上面的腳本中,為了和我們通常的了解達成一緻,我們将[IP::local_addr]的值指派給了remote_addr這個變量。該改變是通過set remote_addr [IP::local_addr] 這條指令來完成的。
同樣的,還有一條set指令:
set bwfile_group_id [ POLICY::bwlist id $remote_addr chinall ],這條指令是将我們在前面建立的PBSLB政策chinall中目标網段後面的數字作為值指派給bwfile_group_id這個變量(組ID),這樣就可以直接使用分類數字作為條件進行判斷。
上面這一段很簡單,邏輯如下:
1、假如組ID等于2,既通路的目标IP是聯通的位址,那麼:
假如100.100.100.254(聯通網關)狀态是UP,則将該資料請求的源ip位址NAT成cnc_nat(100.100.100.1),同時從cnc_gw_tcp這個service-group發出去(cnc_gw_tcp中聯通網關100.100.100.254優先級高,是以就是從聯通網關發送出去);假如100.100.100.254狀态不是UP(就是down),則使用ctc_nat(200.200.200.1)這個位址對資料請求的源IP位址進行NAT,同時從ctc_gw_tcp這個service-group發出去(ctc_gw_tcp中電信網關200.200.200.254優先級高,是以既是從電信網關發出)
2、假如組ID不等于2,既通路的目标IP非聯通位址,則将請求源位址NAT成
ctc_nat,同時從電信網關發送出去。
綜上所述,以上腳本完成了智能選路以及鍊路備份的功能。
<b>F、 </b><b>建立</b><b>virtual server</b>
根據網絡環境規劃,我們需要建立3個virtual server:
n to_internet 該virtual server是用來完成對内網client發起的上網請求進行智能選路和NAT的
n to_webserver_ctc 該virtual server是用來完成外網來的從電信出口來通路webserver的請求向内網server的轉發同時完成伺服器負載均衡的
n to_webserver_cnc 該virtual server是用來完成外網來的從聯通出口來通路webserver的請求向内網server的轉發同時完成伺服器負載均衡的
進入config mode--&gt;service--&gt;SLB--&gt;Virtual Server,點選Add:
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_1307352254Gun3.png"></a>
注意,在第一行Name的最後,有個Wildcard的選項需要勾上,因為這個時候virtual server比對的條件不是某一個具體的目标IP位址,而是所有從内網client發送來的通路公網的請求,這種情況下需要勾選Wildcard(相當于目标IP位址為0.0.0.0/0)。還記得前面在内網ve接口30上我們啟用了一個選項:
Allow Promiscuous VIP,這個選項的功能就是在内網接口上允許接收目标位址是Wildcard的請求,如果在内網接口上不啟用,則就算建立Wildcard,這些請求也不會命中virtual server。
建立完Name和勾選Wildcard選項以後,在界面下邊的Port部分,點選Add:
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_13073522550OAC.png"></a>
按照如上圖所示方法建立所有TCP協定的處理方式
注意幾個要點:
1、Direct Server Return: 一定要選擇Enable
2、aFlex要在下拉菜單裡選擇 links_select_tcp
3、Use received hop for response需要打鈎。
4、Type選擇tcp
5、Port選0
以上5個步驟就建立了to_internet VS的port 0 TCP部分。同理建立port 0 UDP及port 0 others
完成port 0 tcp和port 0 udp以及port 0 others的配置以後,正常情況下使用者從内到外的通路請求的智能選路和鍊路備份就已經完成了。
然後在建立to_webserver_ctc以及to_webserver_cnc的VS(參考标準virtul server的配置),則全部配置就完成了(正常情況下完成了通路客戶指定公網IP和端口的請求轉發到指定内網1台Server上(或者多台))。完成雙向位址轉換配置以後virtual server情況如下:
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_13073522560Nfy.png"></a>
<b>第四部分、</b><b>GSLB</b><b>域名解析部分</b>
該部分就涉及到前面提到的客戶3類需求(藍色字型)的第3個,既:
配置AX系列GSLB功能,需要對幾個概念有基本的了解:
1、DNS Proxy: 說明A10分别在每條出口鍊路上的哪個IP位址上監聽DNS請求,一般來說有幾條鍊路就需要有幾個DNS Proxy的位址,每條出口鍊路一個。例如,在本文環境中,dns_ct_proxy為200.200.200.2,dns_cnc_proxy為100.100.100.2(注:在AX裝置上,某條鍊路接口IP位址不能和這條鍊路上DNS Proxy位址一樣,是以每條鍊路上的DNS Proxy位址都需要單獨指定一個)。
2、Geo-location: 在智能域名解析的時候,AX需要判斷接收到的dns請求的源位址(Local DNS)是屬于哪個營運商的,而各個營運商的IP位址段就是在這裡導入,AX通過比對接收到的dns的源位址屬于哪個營運商的IP網段,進而判斷該請求來自于哪個營運商的使用者,進而判斷出應該将屬于哪個營運商的映射IP傳回給用戶端。
3、Policy: AX在接收到DNS請求的時候的應答政策,例如各個響應政策的優先級,響應方式、響應模式等等
4、Service IP: 應用在不同鍊路上的映射IP,例如在本案例中,web應用在電信鍊路上的映射IP為200.200.200.200,在聯通鍊路上的映射為100.100.100.100
5、Site: 綁定鍊路接口IP、service IP、Geo-location在一起,這樣AX知道哪些營運商使用者的請求,用哪條鍊路的哪個service IP來響應。
6、Zone: 設定需要進行智能域名解析的具體域名,同時設定該域名對應的不同鍊路上的service IP,這樣AX可以根據Site的設定,判斷出來源dns請求所屬的的營運商,同時根據Site的綁定設定,選擇合适Service IP來響應。了解了以上6個關鍵元素,我們就可以開始配置GSLB了。
為了成功配置GSLB功能,如上6個元素需要依次配置:
<b>A、 </b><b>建立相應的</b><b>DNS Proxy</b>
按照本文網絡環境規劃,需要建立2個DNS Proxy:
進入config--&gt;service--&gt;GSLB--&gt;DNS Proxy,點選Add:
建立dns_ct_proxy,IP為200.200.200.200為AX在電信鍊路上的監聽地
址:
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_13073522572I7E.png"></a>
點選GSLB Port部分的Add:
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_1307352258KUlJ.png"></a>
預設Port既為53端口,是以直接點選ok确認:
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_1307352259AZpO.png"></a>
再點選ok完成dns_ct_proxy的設定.同理添加dns_cnc_proxy,最終如下:
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_1307352260RnjQ.png"></a>
<b>B、 </b><b>建立相應的</b><b>Geo-location</b><b>:</b>
進入config--&gt;service--&gt;GSLB--&gt;Geo-location--&gt;import:
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_1307352261RphA.png"></a>
跟前面的導入PBSLB位址庫的方式類似,這裡我們也采用tftp的方式,在Host:輸入tptp server的位址,在Location:輸入tftp server上預設目錄下的位址庫檔案:geo_in_iplist.csv,然後點選Add,成功以後會在下面出現相應的位址表:
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_1307352262VW2Z.png"></a>
在上圖下部分的Template部分,在name: 輸入”geo.csv”,在Delimiter: 輸入”,”,在IP-from:輸入”2”,在IP-To:輸入”3”,在Site:輸入”1”,點選Add:
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_1307352263quX4.png"></a>
然後就會出現geo.csv這個template,最後我們需要做的就是将我們建立的geo.csv的template與前面用tftp上傳的IP位址庫檔案geo_in_iplist.csv關聯在一起:
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_13073522649ehf.png"></a>
在上圖中下方的Load/Unload的File:填入我們剛上傳的geo_in_iplist.csv,同時在Template:填入我們剛建立的geo.csv,點選Add,成功以後顯示如下:
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_1307352265Q8XN.png"></a>
這個時候我們點選Geo-locatiom下的Find:
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_13073522667q67.png"></a>
然後顯示如下:
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_1307352267QAbm.png"></a>
這個時候我們發現從上到下多了OTHER,CUC,CTC,CRTC,CNC,CMCC,CERNET這些常見營運商的IP位址庫,這說明我們的位址庫已經成功導入。
C、 <b>建立我們需要的</b><b>Policy</b>:
進入config mode--&gt;service--&gt;GSLB--&gt;Policy,點選Add:
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_1307352268NUL8.png"></a>
在Name:輸入test,然後在Metric中将右邊的Active RTT拖動到左邊Geographic的下面:
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_1307352268uli5.png"></a>
這裡的Metric是設定AX的響應政策,其中Geographic是以地理位置,及所屬ISP方式來進行響應,Active Rtt是以AX主動探測響應延時的方式進行響應,Round Robin是以輪訓的方式進行響應,由上到下優先級依次降低。
然後點開DNS Option,勾選Active Only,Best Only,Server Mode:
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_1307352269SlMZ.png"></a>
注:Active Only,Best Only是隻傳回active以及最比對的一個,Server Mode則是表示用AX本身來進行DNS響應,而不是轉發DNS請求到客戶内部的DNS server。
然後點選下方的OK确認,建立完成後如下圖所示:
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_1307352270MpeV.png"></a>
<b>D、 </b><b>建立相應的</b><b>Service IP</b><b>:</b>
進入config mode--&gt;service--&gt;GSLB--&gt;Service IP,點選Add:
按照下圖建立web網站在電信鍊路的Service IP,如下圖:
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_1307352271AUOQ.png"></a>
注:上圖中的Health Monitor及Port部分不是必須的,可根據實際情況填寫。
同理建立web_cnc,最終如下圖:
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_13073522722hcJ.png"></a>
<b>E、 </b><b>建立相應的</b><b>Site</b><b>:</b>
進入config mode--&gt;service--&gt;GSLB--&gt;Site,點選Add:
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_1307352273yuiM.png"></a>
在Name:輸入ct_site,建立電信站點,Weight保留預設的1,然後在SLB-Device,點Add:
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_13073522742ZUa.png"></a>
其中,IP ADDRESS填寫AX電信鍊路的接口IP,VIP server,選擇下拉菜單的web_ct(這個就是我們前面建立的Service IP),然後點選Add,,然後點選ok,這樣SLB-Device就設定完了。然後點開Geo-location,可以在下拉菜單看到我們前面建立的IP位址庫,将需要将域名解析請求解析成電信映射位址200.200.200.200的營運商位址段通過Add關聯到ct_site,比如我們需要如果是除了CNC以外的使用者的dns請求都解析成200.200.200.2,則将所有需要的位址資訊都加入:
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_1307352275mUs4.png"></a>
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_1307352276RAvN.png"></a>
這樣做的目的,是告訴AX,除了CNC以後的其他營運商的使用者,都關聯到ct_site,也就是關聯到200.200.200.1所在鍊路以及200.200.200.200上。
同理建立cnc_site,最終如下:
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_1307352276dceV.png"></a>
注:在cnc_site裡,Geo-location下拉菜單隻選擇CNC即可。
F、 建立相應的Zone:
進入config mode--&gt;service--&gt;GSLB--&gt;Zone,點選Add:
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_1307352277ah7t.png"></a>
<a href="http://virtualadc.blog.51cto.com//attachment/201106/6/3027116_1307352278RVJz.png"></a>
在上圖中,service:我們選擇上級域名下的主機,比如這裡我們需要解析www的主機,就填寫在service:(注:這裡雖然沒打*,可是卻非常重要,不能亂填),Port:根據實際情況選擇,這裡我們選擇HTTP,Policy:選擇我們建立的test。
然後在DNS Address Record界面的VIP Order分别選擇剛才建立的Service IP位址,勾選Static,然後點選Add,把需要解析的web應用的2個公網IP與這個域名關聯在一起,最後點選ok傳回。
如下我們歸納一下AX進行GSLB時候的流程:
1、客戶DNS請求(假設源位址61.139.2.69,請求解析的域名www.test.com)到達DNS Proxy指定的IP位址,例如本案例中的200.200.200.2
2、AX将源位址61.139.2.69與Geo-location下的各營運商網段進行比對,确定該位址屬于CTC的網段
3、AX将DNS請求的域名與Zone中建立的域名test.com進行比對,确認客戶是對test.com域中的Service :www進行解析請求,而同時www這個服務關聯了2個service IP :200.200.200.200和100.100.100.100
4、由于在Site設定中,Geo-location中的 CTC與200.200.200.1這條鍊路以及Service IP 200.200.200.200都綁定在ct_site站點中,而在Policy中,是以Geo-location這個判斷方式為優先算法,同時勾選的Active Only和Best Only會讓AX隻選取Active和最比對的一個IP位址,是以AX會以ct_site這個綁定為首要判斷條件,将200.200.200.200這個和CTC綁定在一起的Service IP作為對客戶的DNS查詢的應答結果傳回給客戶,至此一個GSLB請求查詢結束。
t.d.
本文轉自 virtualadc 51CTO部落格,原文連結:http://blog.51cto.com/virtualadc/581978