本發(fā)明涉及dns服務(wù),具體涉及一種dns服務(wù)器連通性診斷自適應(yīng)切換方法及系統(tǒng)。
背景技術(shù):
1、近年來,光通信等無線、有線寬帶業(yè)務(wù)迅速發(fā)展,利用dns服務(wù)器進(jìn)行網(wǎng)絡(luò)域名解析的業(yè)務(wù)也跟著增長?;赿ns服務(wù)器專網(wǎng)部署切換到不同的環(huán)境,會修改各種安全策略。針對dns安全策略關(guān)聯(lián)的環(huán)境變化通常指的是以下幾個(gè)方面:1、服務(wù)器端威脅情報(bào)更新:全球的網(wǎng)絡(luò)攻擊面變化,包括新的惡意域名注冊、dns劫持事件等,從而調(diào)整dns安全策略,dns拒絕解析阻止已知威脅;2、鏈路上的路由器設(shè)置了防火墻自動(dòng)化響應(yīng):面對動(dòng)態(tài)的網(wǎng)絡(luò)環(huán)境,防火墻可以自動(dòng)調(diào)整dns解析規(guī)則,隔離或阻止可疑流量;3、策略優(yōu)化:運(yùn)營商或者企業(yè)、終端應(yīng)用app根據(jù)網(wǎng)絡(luò)活動(dòng)和歷史數(shù)據(jù),設(shè)置了過濾規(guī)則,確保企業(yè)網(wǎng)絡(luò)訪問既安全又高效;4、i?t管理員控制:在企業(yè)環(huán)境中,i?t管理員可以更改或禁用終端的某些策略,以適應(yīng)特定的業(yè)務(wù)需求和安全政策。這些都使得網(wǎng)通設(shè)備對接過程中會遇到dns問題無法清晰定位。接入網(wǎng)側(cè)的用戶端在這種環(huán)境下,適配相應(yīng)的dns服務(wù)器才能順利切換到最上層的dns服務(wù)器環(huán)境,還是要多個(gè)步驟才能完成配置電話設(shè)備連接上網(wǎng),步驟繁瑣、專業(yè)性強(qiáng),需要維護(hù)時(shí)需要麻煩專業(yè)技術(shù)人員,影響用戶體驗(yàn)。
2、由于這些攜帶dns轉(zhuǎn)發(fā)功能的家庭網(wǎng)關(guān)產(chǎn)品的普及使用,帶dns服務(wù)器功能的家庭網(wǎng)關(guān)設(shè)備,最多配置主備服務(wù)器,一個(gè)服務(wù)器配置一個(gè)域名,只有極少數(shù)個(gè)ip可以使用,當(dāng)網(wǎng)絡(luò)架構(gòu)升級時(shí),精細(xì)化地控制,都需要更改較多的固件才能適配到新情況,不會一開始切換這兩個(gè)都有可能出問題的前序服務(wù)器,但是如果服務(wù)器發(fā)生故障,無法響應(yīng)家庭網(wǎng)關(guān)的dns請求時(shí),會造成功能異常。
技術(shù)實(shí)現(xiàn)思路
1、為此,本發(fā)明提供一種dns服務(wù)器連通性診斷自適應(yīng)切換方法及系統(tǒng),以解決因?yàn)閐ns安全策略的環(huán)境變化導(dǎo)致的環(huán)境診斷、適配固件、固件升級的適配工作量增多和大量的診斷重復(fù)工作的問題。
2、為了實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
3、根據(jù)本發(fā)明實(shí)施例的第一方面,提出一種dns服務(wù)器連通性診斷自適應(yīng)切換方法,所述方法包括:
4、對預(yù)先配置的多個(gè)dns服務(wù)器進(jìn)行打分以評估各鏈路的連通性和轉(zhuǎn)發(fā)質(zhì)量;
5、根據(jù)得分對各dns服務(wù)器進(jìn)行優(yōu)先級排序,獲取最優(yōu)的可用dns服務(wù)器并進(jìn)行域名請求轉(zhuǎn)發(fā),并將dns服務(wù)器返回的響應(yīng)結(jié)果轉(zhuǎn)發(fā)至用戶端設(shè)備;
6、若配置的全部dns服務(wù)器均故障,則根據(jù)預(yù)先配置的備災(zāi)策略通過本地備災(zāi)緩存或備災(zāi)云端服務(wù)器獲取域名解析結(jié)果并轉(zhuǎn)發(fā)至用戶端設(shè)備;
7、對預(yù)先配置的多個(gè)dns服務(wù)器進(jìn)行快速診斷,并將診斷結(jié)果上傳至云端進(jìn)行智能分析和告警。
8、進(jìn)一步地,對預(yù)先配置的多個(gè)dns服務(wù)器進(jìn)行打分以評估各鏈路的連通性和轉(zhuǎn)發(fā)質(zhì)量,具體包括:
9、基于收集到的dns和i?cmp、arp報(bào)文,根據(jù)參考屬性策略結(jié)合實(shí)際請求的域名情況以及通斷故障情況計(jì)算dns服務(wù)器得分,其中打分因子包括dns服務(wù)器響應(yīng)速度、請求成功率、域名對應(yīng)ip的連接速度,若dns服務(wù)器發(fā)生故障,則dns服務(wù)器得分為0;
10、根據(jù)域名以及打分因子形成基于連接速度或者域名的查詢矩陣,所述查詢矩陣用于根據(jù)域名查詢獲取域名對應(yīng)的連接速度最快的ip。
11、進(jìn)一步地,根據(jù)預(yù)先配置的備災(zāi)策略通過本地備災(zāi)緩存或備災(zāi)云端服務(wù)器獲取域名解析結(jié)果并轉(zhuǎn)發(fā)至用戶端設(shè)備,具體包括:
12、用于備災(zāi)使用的云端服務(wù)器使用固定ip地址,當(dāng)本地dns故障時(shí),解析請求通過所述固定ip地址加密連接轉(zhuǎn)發(fā)到云端,查詢云端dns數(shù)據(jù)庫解析完成后由云端還原到內(nèi)部host;
13、本地設(shè)置的解析域名的hosts文件僅備份少量特殊域名,并且云端dns數(shù)據(jù)庫中作為第二災(zāi)備緩存,在dns解析完成后返回域名時(shí)檢查特定類型的各個(gè)域名ip值是否更新,若更新則寫入本地的第一災(zāi)備緩存,再更新到hosts,供dns服務(wù)器都不能用時(shí)啟用;
14、如果網(wǎng)絡(luò)連接完全失效,則只用本地的第一災(zāi)備緩存,如果網(wǎng)絡(luò)連接存在,則通過點(diǎn)對點(diǎn)的網(wǎng)絡(luò)協(xié)議發(fā)送到云端用于解析dns的災(zāi)備dns查詢服務(wù)器進(jìn)行解析,并且優(yōu)先查詢本地災(zāi)備緩存,查不到的再到云端獲取。
15、進(jìn)一步地,對預(yù)先配置的多個(gè)dns服務(wù)器進(jìn)行快速診斷,具體包括:
16、診斷模式包括:主動(dòng)診斷:按照預(yù)設(shè)時(shí)間間隔進(jìn)行定時(shí)診斷;被動(dòng)診斷:根據(jù)預(yù)設(shè)被動(dòng)觸發(fā)條件觸發(fā)診斷,被動(dòng)觸發(fā)條件包括無響應(yīng)報(bào)文數(shù)超過預(yù)設(shè)值;手動(dòng)診斷:根據(jù)手動(dòng)操作啟動(dòng)診斷;
17、診斷方式包括:通過本地接入的lan側(cè)檢測設(shè)備進(jìn)行診斷或者利用云端診斷服務(wù)器對dns服務(wù)器進(jìn)行直接診斷。
18、進(jìn)一步地,將診斷結(jié)果上傳至云端進(jìn)行智能分析和告警,具體包括:
19、云端智能分析或者lan側(cè)的觀測終端進(jìn)行智能分析:
20、根據(jù)dns所具備的字段屬性進(jìn)行對比差異,包括分析出相關(guān)差異點(diǎn)是源mac地址、還是目的mac地址,經(jīng)過報(bào)文解析轉(zhuǎn)換成文字描述內(nèi)容,查看是否有明顯的錯(cuò)誤提示;
21、重點(diǎn)關(guān)注中斷次數(shù)較多的域名無響應(yīng)的dns報(bào)文內(nèi)容,并對比同一個(gè)環(huán)境下的正常報(bào)文的特點(diǎn)差異,逐個(gè)字節(jié)進(jìn)行比對;
22、基于預(yù)置的對常見dns問題的自動(dòng)診斷策略,篩選是否存在匹配的報(bào)文特征;如果根據(jù)預(yù)置的自動(dòng)診斷策略沒有找到完全匹配的報(bào)文特征,則需要精細(xì)化分析或者人工介入分析;
23、并且統(tǒng)計(jì)出多次無回應(yīng)的dns域名,發(fā)送報(bào)文和初步分析結(jié)果到云端,用于發(fā)現(xiàn)dns的相關(guān)的解析情況。
24、進(jìn)一步地,所述方法還包括:
25、當(dāng)不同wan接口側(cè)配置有主、備兩個(gè)dns服務(wù)器時(shí),通過dns解析以及探測的方式實(shí)現(xiàn)故障主備切換:
26、當(dāng)注冊在主dns服務(wù)器之后,每隔一定時(shí)間通過帶有選項(xiàng)的dns請求進(jìn)行探測,來確定與主dns服務(wù)器之間通路是否正常,如果正常,保持注冊刷新不變,如果異常,繼續(xù)通過帶有選項(xiàng)的dns請求探測備用dns服務(wù)器是否可用,如果可用,切換到備用dns服務(wù)器,如果不可用,等待設(shè)定時(shí)間之后再進(jìn)行探測;
27、當(dāng)注冊在備用dns服務(wù)器之后,每隔一定時(shí)間通過帶有選項(xiàng)的dns請求進(jìn)行探測,來確定主dns服務(wù)器當(dāng)前是否可用,如果可用,切換到主dns服務(wù)器進(jìn)行注冊,如果不可用,繼續(xù)探測備用dns服務(wù)器是否正常,如果正常,保持當(dāng)前注冊刷新不變,如果異常,等待設(shè)定時(shí)間之后再進(jìn)行探測。
28、進(jìn)一步地,所述方法還包括:
29、當(dāng)主、備用dns服務(wù)器探測都不可用時(shí),停止發(fā)送dns請求包,嘗試發(fā)送請求到公網(wǎng)dns服務(wù)器或者ping云端服務(wù)器以確定是否斷網(wǎng),如果出現(xiàn)探測失敗,間隔設(shè)定時(shí)間之后再進(jìn)行探測,以防止過多的dns請求包造成網(wǎng)絡(luò)擁塞;當(dāng)主、備用服務(wù)器均故障,而網(wǎng)絡(luò)正常時(shí),則調(diào)用云端服務(wù)器的dns緩存并進(jìn)行下發(fā)。
30、根據(jù)本發(fā)明實(shí)施例的第二方面,提出一種dns服務(wù)器連通性診斷自適應(yīng)切換系統(tǒng),所述系統(tǒng)包括:
31、打分模塊,用于對預(yù)先配置的多個(gè)dns服務(wù)器進(jìn)行打分以評估各鏈路的連通性和轉(zhuǎn)發(fā)質(zhì)量;
32、自適應(yīng)模塊,用于根據(jù)得分對各dns服務(wù)器進(jìn)行優(yōu)先級排序,獲取最優(yōu)的可用dns服務(wù)器并進(jìn)行域名請求轉(zhuǎn)發(fā),并將dns服務(wù)器返回的響應(yīng)結(jié)果轉(zhuǎn)發(fā)至用戶端設(shè)備;
33、備災(zāi)模塊,用于若配置的全部dns服務(wù)器均故障,則根據(jù)預(yù)先配置的備災(zāi)策略通過本地備災(zāi)緩存或備災(zāi)云端服務(wù)器獲取域名解析結(jié)果并轉(zhuǎn)發(fā)至用戶端設(shè)備;
34、診斷模塊,用于對預(yù)先配置的多個(gè)dns服務(wù)器進(jìn)行快速診斷,并將診斷結(jié)果上傳至云端進(jìn)行智能分析和告警。
35、根據(jù)本發(fā)明實(shí)施例的第三方面,提出一種dns服務(wù)器連通性診斷自適應(yīng)切換設(shè)備,所述設(shè)備包括:處理器和存儲器;
36、所述存儲器用于存儲一個(gè)或多個(gè)程序指令;
37、所述處理器,用于運(yùn)行一個(gè)或多個(gè)程序指令,用以執(zhí)行如上任一項(xiàng)所述的一種dns服務(wù)器連通性診斷自適應(yīng)切換方法的步驟。
38、根據(jù)本發(fā)明實(shí)施例的第四方面,提出一種計(jì)算機(jī)可讀存儲介質(zhì),所述計(jì)算機(jī)可讀存儲介質(zhì)上存儲有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上任一項(xiàng)所述一種dns服務(wù)器連通性診斷自適應(yīng)切換方法的步驟。
39、本發(fā)明提出一種dns服務(wù)器連通性診斷自適應(yīng)切換方法及系統(tǒng),對預(yù)先配置的多個(gè)dns服務(wù)器進(jìn)行打分以評估各鏈路的連通性和轉(zhuǎn)發(fā)質(zhì)量;根據(jù)得分對各dns服務(wù)器進(jìn)行優(yōu)先級排序,獲取最優(yōu)的可用dns服務(wù)器并進(jìn)行域名請求轉(zhuǎn)發(fā),并將dns服務(wù)器返回的響應(yīng)結(jié)果轉(zhuǎn)發(fā)至用戶端設(shè)備;若配置的全部dns服務(wù)器均故障,則根據(jù)預(yù)先配置的備災(zāi)策略通過本地備災(zāi)緩存或備災(zāi)云端服務(wù)器獲取域名解析結(jié)果并轉(zhuǎn)發(fā)至用戶端設(shè)備;對預(yù)先配置的多個(gè)dns服務(wù)器進(jìn)行快速診斷,并將診斷結(jié)果上傳至云端進(jìn)行智能分析和告警。本發(fā)明可解決給運(yùn)維人員減少因?yàn)閐ns安全策略的環(huán)境變化導(dǎo)致的環(huán)境診斷、適配固件、固件升級的適配工作量和大量的診斷重復(fù)工作,讓ont等網(wǎng)關(guān)設(shè)備內(nèi)置的dns轉(zhuǎn)發(fā)服務(wù)提升性能和增加診斷手段。