潘家宏 楊陽 鄧偉偉
【摘要】? ? 當(dāng)前 Citrix負(fù)載作為國外主流負(fù)載均衡產(chǎn)品之一,在數(shù)字通信領(lǐng)域得到了廣泛使用。中國移動作為移動通信的領(lǐng)航者,無論在國內(nèi)基站建設(shè)、網(wǎng)絡(luò)規(guī)模、業(yè)務(wù)營收都排名前列,其內(nèi)部業(yè)務(wù)支撐網(wǎng)有著眾多成熟的Citrix負(fù)載解決方案;本文就Citrix負(fù)載均衡進(jìn)行了詳細(xì)概述,涉及Citrix配置的高可用性、應(yīng)用加速以及安全技術(shù),并在此基礎(chǔ)上對某省移動公司采用的解決方案進(jìn)行了實例分析。
【關(guān)鍵詞】? ? Citrix? ? 負(fù)載均衡? ? 高可用? ? 應(yīng)用安全? ? 冗余
一、介紹運營商行業(yè)背景及負(fù)載均衡技術(shù)的應(yīng)用背景介紹
電子渠道出口作為某省移動公司對外提供線上業(yè)務(wù)辦理、對接大眾市場的公網(wǎng)出口,需提供穩(wěn)定的網(wǎng)絡(luò)服務(wù)、豐富的APP增值業(yè)務(wù)、優(yōu)質(zhì)的售后服務(wù),以保證運營商在業(yè)務(wù)重疊的殘酷競爭環(huán)境下仍葆有強大市場競爭力。近年來隨著電子渠道業(yè)務(wù)受理量持續(xù)增長,對于用戶感知強、響應(yīng)頻率高的業(yè)務(wù)辦理請求,運營商需要依托現(xiàn)有網(wǎng)絡(luò)架構(gòu),采用軟/硬件負(fù)載解決方案來提高網(wǎng)絡(luò)設(shè)備和服務(wù)器帶寬,在提升現(xiàn)網(wǎng)數(shù)據(jù)轉(zhuǎn)發(fā)處理能力的同時保證組網(wǎng)的高可用性。
Citrix負(fù)載均衡產(chǎn)品設(shè)計思路與其他市面上主流負(fù)載相似,將多臺服務(wù)器以對稱的方式構(gòu)建服務(wù)組,下掛的每臺真實服務(wù)器地位對等,均具備獨立對外提供服務(wù)的能力。根據(jù)不同業(yè)務(wù)的應(yīng)用場景,通過Citrix負(fù)載均衡能提供最小連接數(shù)、輪詢、源ip地址散列等多元化調(diào)度算法,將外部請求盡可能均衡分配到服務(wù)組下的真實服務(wù)器,接收請求的真實服務(wù)器再將處理結(jié)果單獨返回請求端,最終實現(xiàn)負(fù)載分擔(dān)功能[1]。運營商業(yè)務(wù)部署環(huán)節(jié)采用硬負(fù)載均衡方式可解決高并發(fā)訪問的問題,保證現(xiàn)業(yè)務(wù)訪問請求得以快速轉(zhuǎn)發(fā)。
二、Citrix負(fù)載高可用性:
2.1負(fù)載冗余性
網(wǎng)絡(luò)架構(gòu)搭建過程可將Citrix-NetScaler負(fù)載均衡部署成Active/Standby模式,通過配置NSIP (NetScaler管理IP),實現(xiàn)兩臺設(shè)備的的網(wǎng)絡(luò)聯(lián)通。Active負(fù)載均衡器每隔1S發(fā)送5個UDP數(shù)據(jù)包到Standby負(fù)載均衡器的3003端口,通告是否有配置或命令更新。因此在 Active的Citrix負(fù)載在對外部訪問請求處理的過程,會將執(zhí)行命令同步到狀態(tài)為Standby的備機。當(dāng)管理員在Web頁面控制臺或者設(shè)備端修改當(dāng)前配置,系統(tǒng)在檢測到配置更新后將配置同步到備機。當(dāng)主用負(fù)載均衡設(shè)備需要在線升級或者設(shè)備出現(xiàn)異常,備用負(fù)載均衡可快速實現(xiàn)業(yè)務(wù)接管。
2.2高可用部署策略
應(yīng)用部署和數(shù)據(jù)中心建設(shè)過程中,Citrix-NetScaler負(fù)載均衡可提供高級服務(wù)器負(fù)載均衡(SLB)和全局服務(wù)器負(fù)載均衡(GSLB),通過檢測本地和遠(yuǎn)程故障停機來確保系統(tǒng)應(yīng)用和數(shù)據(jù)中心的高可用。SLB和GSLB根據(jù)健康檢查來監(jiān)測端口并屏蔽異常的服務(wù)器應(yīng)用,使訪問請求能夠?qū)⒄_發(fā)送到UP狀態(tài)的服務(wù)器和數(shù)據(jù)中心。對于本地數(shù)據(jù)中心,負(fù)載采用SLB可避免服務(wù)器單點故障或部分服務(wù)器負(fù)載不均衡導(dǎo)致的數(shù)據(jù)丟失等問題;對于本地的大型互聯(lián)網(wǎng)公司和各運營商在全國多地建設(shè)數(shù)據(jù)中心節(jié)點,在負(fù)載啟用GSLB功能可將用戶對某個WEB網(wǎng)站的訪問請求引導(dǎo)到眾多站點間性能最佳的一個站點,實現(xiàn)用戶就近訪問、站點之間的負(fù)載均衡以及遠(yuǎn)程災(zāi)備[2]。
三、Citrix負(fù)載應(yīng)用加速
Citrix負(fù)載提供多項技術(shù)來實現(xiàn)應(yīng)用加速,常用的有TCP復(fù)用、TCP緩沖、客戶端連接過程的Keep Alive以及SSL加速技術(shù)。 考慮到運營商業(yè)務(wù)辦理的高頻訪問特性,采用TCP復(fù)用技術(shù)將客戶端高頻短連接調(diào)整為長連接,配合使用TCP緩沖和Keep Alive的心跳包檢測,可以降低服務(wù)器負(fù)載高頻短連接請求數(shù),起到改善服務(wù)器性能和應(yīng)用加速的效果。
四、應(yīng)用安全
Citrix-NetScaler負(fù)載均衡的Web防火墻可有效抵御OWASP發(fā)布的Web應(yīng)用服務(wù)器安全威脅,起到Web服務(wù)器安全防護(hù)作用。設(shè)備在開啟DDoS防護(hù)功能后,可由手工配置ACL或數(shù)據(jù)包規(guī)則過濾、數(shù)據(jù)包內(nèi)容定制等辦法進(jìn)行異常流量清洗,確保合法用戶及時得到服務(wù)響應(yīng)。DNS應(yīng)用防火墻(DAF)可針對域名系統(tǒng)礎(chǔ)架構(gòu)的攻擊提供高級保護(hù),充分利用查詢行為的粒度級應(yīng)用規(guī)則和速率限制等緩解方法。 負(fù)載均衡設(shè)備在創(chuàng)建HTTPS監(jiān)聽前,必須登錄負(fù)載均衡管理控制臺,導(dǎo)入業(yè)務(wù)側(cè)所提供的服務(wù)器證書和CA證書,而無需在后端服務(wù)器再配置證書。通過CA認(rèn)證,網(wǎng)上的用戶通過驗證CA的簽字從而信任CA,提高應(yīng)用訪問的安全性[3]。
五、負(fù)載均衡在運營商的應(yīng)用
某省移動公司在電子渠道網(wǎng)絡(luò)部署環(huán)節(jié),根據(jù)業(yè)務(wù)流量走向,用戶首先通過公網(wǎng)接入網(wǎng)運CNMET,隨后由省網(wǎng)路由器對流量進(jìn)行快速轉(zhuǎn)發(fā)到電子渠道防火墻,在流量經(jīng)過防火墻ACL過濾后到達(dá)DMZ區(qū)交換機。基于不改變前期網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)前提,組網(wǎng)時網(wǎng)絡(luò)管理員將Citrix負(fù)載均衡設(shè)備旁掛在交換機之間,為用戶訪問內(nèi)網(wǎng)業(yè)務(wù)提供負(fù)載均衡功能,實現(xiàn)電子渠道部署業(yè)務(wù)主機的均衡訪問。通過Citrix負(fù)載設(shè)備健康檢查機制確保服務(wù)請求鏈接到正常狀態(tài)的服務(wù)器,為用戶快速訪問鏈接和高質(zhì)量服務(wù)。
在部署模式選擇上,考慮到應(yīng)用安全性和設(shè)備容錯性,不僅需要負(fù)載均衡設(shè)備能盡可能屏蔽外部對trust區(qū)真實服務(wù)器的探測攻擊,還需要實現(xiàn)分布式部署和容錯功能。考慮到透明模式安全性較低,不能完全屏蔽外部對與負(fù)載均衡設(shè)備同屬網(wǎng)段服務(wù)器的攻擊;遠(yuǎn)程服務(wù)器方式部署模式和當(dāng)前業(yè)務(wù)主機部署方式不適配[5]。從系統(tǒng)可靠性角度分析,使用相同設(shè)備進(jìn)行串接組網(wǎng),系統(tǒng)故障率要高于并聯(lián)方式。因此某省移動公司最終選定使用路由部署模式,在負(fù)載均衡設(shè)備上啟用L3/4層(IP+端口)和L7層(應(yīng)用)負(fù)載均衡方式,采用單臂旁路的方式接在交換機兩端。 此外,由拓?fù)浣Y(jié)構(gòu)明顯可以看出,業(yè)務(wù)采用服務(wù)器負(fù)載均衡(SLB)來避免服務(wù)器單點故障或部分服務(wù)器負(fù)載不均衡問題。
單臂模式下Citrix負(fù)載均衡采用源地址翻譯技術(shù),對外提供負(fù)載VIP給用戶訪問,再根據(jù)輪詢算法指向應(yīng)用實例服務(wù)器IP+端口[6]。擴容前由于部分主機硬件配置限制,需要將網(wǎng)關(guān)指向Citrix負(fù)載。而在當(dāng)前負(fù)載可使用SNAT和DNAT,通過路由保證往返流量都流經(jīng)負(fù)載均衡設(shè)備。Citrix負(fù)載健康檢查采用HTTP Request方式,當(dāng)探測到某個Web應(yīng)用正常,則返回ok等關(guān)鍵字段信息。通過上述技術(shù)手段,實現(xiàn)服務(wù)器負(fù)載均衡的功能。
某省移動公司對公網(wǎng)接口改造,使之具備雙棧接入功能,對外可承載ipv4/ipv6業(yè)務(wù)。在電子渠道公網(wǎng)出口完成防火墻、交換機ipv6配置后,需要修改Citrix相關(guān)配置,確保設(shè)備能承載ipv6業(yè)務(wù)訪問,并在內(nèi)部實現(xiàn)v6到v4地址轉(zhuǎn)換[4]。通過關(guān)鍵配置命令行enable ns feature WL LB CS CR CMP SSL GSLB HDOSP CF SSLVPN AAA REWRITE IPv6PT RESPONDER AppFlow CH開啟ipv6和ipv4協(xié)議轉(zhuǎn)換功能。調(diào)通ipv6接口基礎(chǔ)上,只需新增Service- Group、創(chuàng)建Vserver以及將Service-Group與Vserver綁定,即可像ipv4實例一樣實現(xiàn)負(fù)載轉(zhuǎn)發(fā)。Citrix負(fù)載健康檢查,同樣可以檢測到ipv6應(yīng)用的存活狀態(tài)。
此外,運營商業(yè)務(wù)根據(jù)市場需求實時變更,部署在負(fù)載均衡上的證書需要實時更新,從而確保業(yè)務(wù)正常上線。網(wǎng)絡(luò)管理員在收到新的業(yè)務(wù)側(cè)證書后需對證書進(jìn)行檢查,其中新的證書文件應(yīng)包含.cer和.key兩種類型文件。如果發(fā)現(xiàn)新的證書更換了證書頒發(fā)機構(gòu),還要業(yè)務(wù)側(cè)額外提供新的頒發(fā)機構(gòu)的CA和中間證書。在確認(rèn)新的證書中的Common Name和舊證書一致,有效期為最近頒發(fā)之后,通過SSH方式創(chuàng)建ns.conf文件的副本,對2臺Citrix負(fù)載均衡執(zhí)行save config命令來保存最新配置,以便證書更新失敗后可以正常回退。在系統(tǒng)GUI界面,可觀察Citrix設(shè)備上備份證書的狀態(tài)、證書信息、證書綁定關(guān)系等。通過GUI界面,Traffic Management>>SSL>>SSL Files,上傳最新的證書文件到設(shè)備后,選中對應(yīng)證書執(zhí)行Update命令,最終完成服務(wù)器證書和密鑰替換。
參? 考? 文? 獻(xiàn)
[1]王龍. 面向大規(guī)模訪問的Web服務(wù)器負(fù)載均衡系統(tǒng)設(shè)計與實現(xiàn)[D]. 北京郵電大學(xué), 2013.
[2]汪岳. 移動云辦公的應(yīng)用和研究[J]. 信息系統(tǒng)工程, 2017, 000(004):82-83.
[3]崔誠. 數(shù)字證書在網(wǎng)絡(luò)安全中的應(yīng)用探析[J]. 電腦知識與技術(shù), 2014, 000(027):6278-6279.
[4]黃萍, 羅偉峰, 劉昕林,等. IPv4與IPv6協(xié)議雙棧技術(shù)融合企業(yè)網(wǎng)絡(luò)的方案及應(yīng)用[J]. 粘接, 2019, 040(011):110-113.
[5]夏斌, 杜守國. 云服務(wù)平臺負(fù)載均衡器的網(wǎng)絡(luò)設(shè)計與實踐[J]. 計算機應(yīng)用與軟件, 2014, 31(008):121-125.
[6]夏壘. 基于NAT負(fù)載均衡技術(shù)的研究和改進(jìn)[D]. 上海交通大學(xué), 2013.