文/單康康 王佶 張華
浙江大學目前有紫金港、玉泉、西溪、華家池、之江、舟山、海寧等7個校區(qū),師生6萬多名,校園網同時在線日均3萬余用戶,在線終端數日均4萬余部,校內DNS解析請求平均達到1萬QPS。隨著移動互聯網迅速發(fā)展以及智能終端的廣泛使用,在線域名請求并發(fā)量急劇上升,對校園網絡基礎設施DNS設備壓力逐年增加,構建一套安全穩(wěn)定且支撐大規(guī)模流量的DNS系統(tǒng)成為校園網安全穩(wěn)定運行的迫切需求。
浙江大學早期使用單臺實體服務器作為主DNS,后來采用主輔兩臺DNS服務器, 浙江大學DNS歷史架構如圖1所示。由于主服務器存在單點故障,后續(xù)對主服務器利用LVS+KeepAlived負載均衡架構進行提升,達到雙機負載均衡,較大提高整體可用性,但上述幾種DNS架構仍存在以下不足:
1.缺少對各服務器的集中式Web管控;
2.軟件負載均衡架構容易受服務器自身性能局限;
3.無法對遞歸線路進行智能檢測與切換。
圖1 浙江大學DNS歷史架構
浙江大學新一代智能DNS集群架構的設計思路和原則,有以下幾個方面:
1.開源軟件架構:要求除了前端負載均衡采用硬件產品,DNS集群其他所有功能與軟件平臺都采用開源軟件構建,以滿足可管、可控、可自定義擴展以及成本控制等。
2.流量負載均衡:前端采用硬件負載均衡設備,同時實現雙機在線冗余,將接收的域名請求根據策略分攤至下聯權威DNS服務器集群,硬件負載均衡設備可根據策略將校內用戶流量導向各權威實體DNS服務器,同時對服務器進行服務實時監(jiān)測和故障服務器剔除和流量切換功能。
3.準電信級高可用性:單集群中的一臺或多臺服務器出現故障,無法提供業(yè)務,自動將用戶流量轉移至其他正常服務器,業(yè)務達到99.999%可用率,全年業(yè)務中斷時間不超過5分鐘,一年故障率不超過1次(見表1)。
表1 可用性量化
4.Web界面統(tǒng)一管控:提供用戶友好的UI界面,對所有DNS實體服務器進行集中管控,主要實現域名更新、修改等操作同步下發(fā)、域名變更實時生效、實時監(jiān)控服務器壓力負載、域名解析狀態(tài)、服務器日志統(tǒng)一存儲與大數據分析用戶行為等。
5.遞歸鏈路故障智能轉移:遞歸DNS集群策略對遞歸鏈路進行實時健康監(jiān)測,當某個校區(qū)遞歸鏈路出現故障,自動將導向故障區(qū)域的DNS流量轉移到其他校區(qū)正常出口鏈路,當故障校區(qū)鏈路恢復正常,自動將用戶請求流量遷回,要求故障智能處理時長不超過6秒。
浙江大學新一代智能DNS集群采用4層架構,如圖2所示。
圖2 總體技術架構
1.負載均衡層:采用2臺國際主流硬件負載均衡硬件設備,實現雙機實時冗余,可擴展架構,學校DNS地址綁定到負載均衡設備做為VIP,負責接收學校所有域名請求包,轉發(fā)分攤請求包至權威服務器層。
2.權威服務層:采用3臺以上實體服務器,利用BIND開源軟件建設權威服務器群,權威服務器之間域名數據實現同步更新,負責均衡層接收域名解析包,解析學校權威域名,將緩存中的權威與遞歸域名解析結果返回用戶,將緩存中沒有的遞歸域名轉發(fā)到遞歸服務層。
3.遞歸服務層:在學校各校區(qū)各自獨立建設至少1臺遞歸服務器,利用UNBOUND開源軟件,負責接收處理權威服務層轉發(fā)的遞歸解析請求,在多校區(qū)建設在線冗余鏈路出口,以實現異地災備。
4.統(tǒng)一管控層:利用Apache/PHP等組件搭建統(tǒng)一管控平臺,對所有權威服務器進行統(tǒng)一管控與配置同步,主要實現域名編輯、統(tǒng)一下發(fā)、大數據統(tǒng)計、實時性能監(jiān)控等功能。
圖3 管控平臺核心功能模塊
浙江大學新一代基于統(tǒng)一管控的智能DNS集群自建成運行以來,實現了每年零業(yè)務中斷次數、零業(yè)務中斷時間。集群目前可支撐10萬QPS,且能根據需求在線擴容,可實現在線域名管理與實時生效、域名訪問統(tǒng)計、用戶流量分析、QPS實時監(jiān)測、DNS解析成功率實時監(jiān)控、惡意域名監(jiān)測等基本功能和大數據分析模塊,如圖3所示。
浙江大學基于統(tǒng)一管控的高可用智能DNS集群根據可管、可控、可查整體設計思路,深入用戶需求與安全挑戰(zhàn),建設了一套基于集中式統(tǒng)一管控的分布式、可擴展、智能鏈路切換、流量負載均衡、Web界面統(tǒng)一管控、大數據用戶行為分析、網絡安全監(jiān)測等的準電信級智能DNS服務云平臺,能較好應對移動互聯網與物聯網快速發(fā)展中面臨的安全問題與核心設施壓力,較大提升網絡核心運維應用設施穩(wěn)定安全,加快推進浙江大學智慧校園信息化建設,助力學?!半p一流”跨越發(fā)展。