干貨分享 | DNS解析故障實戰(zhàn)案例及排查方法
近日,中科三方技術(shù)團隊成功幫助某大型央企排除域名解析故障。此次故障發(fā)生在該公司的網(wǎng)絡(luò)系統(tǒng)中,對其日常運營造成了影響。故障發(fā)生后,該公司相關(guān)人員立即與中科三方取得聯(lián)系,尋求技術(shù)支持。中科三方快速響應(yīng),并組織技術(shù)團隊進行會診,最終成功找到問題所在,排除故障難題,保障了該公司域名解析的正常運行。
通過與該公司的溝通了解到,該公司為了實現(xiàn)IPv4/IPv6雙棧及其他域名解析場景,需對其官網(wǎng)的DNS服務(wù)器進行遷移。作為該公司的域名服務(wù)商,中科三方及時提供技術(shù)支撐,進行了SOA記錄的設(shè)置,成功完成授權(quán)DNS服務(wù)器的切換轉(zhuǎn)移。但在切換完成后,該公司的技術(shù)人員通過測試發(fā)現(xiàn),新的DNS服務(wù)器未生效,網(wǎng)站域名仍使用原DNS服務(wù)器。
在接到該公司的問題反饋后,中科三方技術(shù)團隊立即對SOA記錄進行了檢查,在發(fā)現(xiàn)設(shè)置無誤后,隨即通過whois查詢工具發(fā)現(xiàn),該公司域名已切換至新的DNS服務(wù)器。
在排除了SOA授權(quán)出錯的可能外,中科三方技術(shù)團隊使用自研遞歸解析監(jiān)測系統(tǒng)對該域名進行了全方位檢查,發(fā)現(xiàn)多個遞歸解析節(jié)點不生效,隨后使用nslookup命令的查詢結(jié)果也與此一致,由此技術(shù)人員判斷是由于DNS緩存未刷新,導致新切換的DNS服務(wù)器未生效。在等待一段時間,DNS緩存失效后,再次通過測試發(fā)現(xiàn)新的DNS服務(wù)器生效。

在排查DNS服務(wù)器不生效的過程中,中科三方技術(shù)人員還發(fā)現(xiàn)了兩個嚴重的潛在問題。
一,該公司新切換的DNS服務(wù)器未做A記錄設(shè)置
訪客對網(wǎng)站發(fā)起解析請求時,會委托遞歸DNS服務(wù)器進行全球解析查詢,依次從根域名服務(wù)器、頂級域名服務(wù)器,最終在權(quán)威域名服務(wù)器獲取最新的權(quán)威數(shù)據(jù)。如果DNS服務(wù)器未做A記錄,就會導致頂級域名服務(wù)器在收到遞歸服務(wù)器的請求時,無法給出該DNS服務(wù)器(權(quán)威服務(wù)器)的地址,從而導致域名解析的失敗,影響訪客對網(wǎng)站的正常訪問。在發(fā)現(xiàn)該問題后,中科三方立即反饋給該公司相關(guān)負責人,在最短時間內(nèi)完成DNS服務(wù)器A記錄的添加,避免造成更嚴重的影響。
二,存在一條NS記錄將主域名指向一臺未知服務(wù)器
NS(Name Server)記錄是域名服務(wù)器記錄,用來指定該域名由哪個DNS服務(wù)器來進行解析,因此在上述場景中,這個未知的服務(wù)器充當了主域名的DNS服務(wù)器的角色,提供域名解析服務(wù)。經(jīng)過排查發(fā)現(xiàn),該未知服務(wù)器不可用,不會對公司域名解析正確性造成影響,但是會因為對DNS服務(wù)器的輪詢,產(chǎn)生一定的解析時延。在確定該條NS記錄對公司業(yè)務(wù)系統(tǒng)沒有影響的情況下,中科三方配合該公司技術(shù)人員完成對此條NS記錄的刪除。
經(jīng)過數(shù)小時的緊張工作,中科三方技術(shù)團隊成功幫助該公司解決域名解析故障,使系統(tǒng)恢復正常功能,同時憑借專業(yè)的經(jīng)驗,排除了兩個潛在的安全隱患,避免了更多解析安全故障的發(fā)生。該公司對中科三方的技術(shù)支持表示衷心感謝,對中科三方團隊專業(yè)的技術(shù)實力和豐富的實戰(zhàn)經(jīng)驗給予了高度評價。
DNS解析是互聯(lián)網(wǎng)中非常重要的基礎(chǔ)服務(wù),如果DNS解析發(fā)生故障就會對網(wǎng)站的正常運行造成嚴重影響,因此掌握DNS解析故障排查的思路非常重要。
當發(fā)生解析故障時,首先要檢查解析記錄是否設(shè)置正確,包括域名注冊商所提供的SOA記錄,尤其需要注意的是使用云解析DNS對默認線路的添加,因解析記錄設(shè)置錯誤而導致解析不生效的情況在實際場景中比較常見也比較容易解決。
其次,可以通過whois查詢工具,檢查域名狀態(tài)是否正常,如果域名未續(xù)費、未實名,就會被域名注冊局/商暫停解析,此時域名會出現(xiàn)serverhold、clientHold等狀態(tài),這種情況下就會出現(xiàn)域名解析不生效。
第三,檢查DNS緩存是否刷新,修改解析記錄或者修改DNS服務(wù)器,都需要等待DNS緩存失效后,各地DNS服務(wù)器才能同步新的記錄,可以使用nslookup命令查詢緩存是否刷新,如果測試發(fā)現(xiàn)權(quán)威解析生效,本地解析(公共解析)未生效即代表DNS緩存尚未刷新。
最后,還有一種情況是解析過程受到上級網(wǎng)絡(luò)設(shè)施的強行阻斷,可以通過dig+trace測試,本地DNS向根DNS服務(wù)器查詢時,直接返回IP地址,一般可判斷為DNS查詢在根DNS服務(wù)器處就被阻斷,DNS遭到緩存投毒被劫持。這種情況可通過清理DNS緩存或更換本機DNS服務(wù)器來解決。
以上就是域名解析故障常用的排查思路,基本上能夠解決大部分域名解析不生效難題。但由于實際業(yè)務(wù)場景比較復雜,具體問題仍需具體分析,在遇到解析故障時,應(yīng)盡快與域名服務(wù)商取得聯(lián)系,尋求專業(yè)的技術(shù)支持,才能更快更準確定位問題所在,排除故障解決問題,最大程度降低因域名解析造成的影響。