DNS無響應的故障處理

DNS解析出現錯誤,就是把一個域名解析成一個錯誤的IP地址,或者根本不知道某個域名對應的IP地址是什麼時,我們就無法通過域名訪問相應的站點了,這就是DNS解析故障。出現DNS解析故障最大的症狀就是訪問站點對應的IP地址沒有問題,然而訪問他的域名就會出現錯誤。

DNS無響應的故障處理

  故障現象

某交換局的組網情況爲一個Gn/Gp SGSN網元連接了兩個DNS服務器(以下簡稱爲DNS1和DNS2),此交換局產生的故障現象如下:

Gn/Gp SGSN經常收到DNS無響應告警,該告警消息由DNS2服務器上報。

Gn/Gp SGSN發往DNS2服務器的解析請求消息比發往DNS1服務器的解析請求消息少很多(正常情況下,兩臺DNS服務器承載的業務量應該保持一致,即Gn/Gp SGSN發往兩個DNS服務器的請求消息應基本相同)。

  故障分析

1.使用ping命令,檢查Gn/Gp SGSN與DNS2服務器之間的IP鏈路是否正常。如果IP鏈路不正常(如產生丟包現象),會導致Gn/Gp SGSN和DNS2服務器之間的通信故障;如果IP鏈路正常,進行下一步分析。

2.採集Gn/Gp SGSN與兩個DNS服務器之間的信令跟蹤消息,對結果進行分析。

3.在信令跟蹤結果中,分析Gn/Gp SGSN發往DNS2(IP地址爲),但沒有得到響應的解析請求消息的信令流程,如下圖所示。

  得出的結論如下:

這些發往DNS2服務器但沒有得到響應的解析請求消息,其共同點都是由Gn/Gp SGSN向DNS2發起的.路由區解析請求消息,而且其中的MNC(Mobile Network Code,移動網絡號)均爲000,即表示另一運營商網絡的路由區。

這樣的路由區解析請求在本運營商的網絡中是獲取不到解析結果的。通常情況下,此類請求會從本DNS服務器向上一級的DNS服務器轉發。如果從上一級的DNS服務器中也獲取不到解析結果,則向更上一級的DNS服務器進行逐級轉發,以便可以尋找到最終能夠處理此路由區解析請求的DNS服務器,此過程所需的時間很長。

無論最終是否獲取到了解析結果,DNS服務器都需要向Gn/Gp SGSN回送響應消息。如果在規定的時間之內,Gn/Gp SGSN沒有收到響應消息,則認爲此DNS服務器不可達,會上報DNS服務器無響應的告警。

4.從信令流程上,可以看到DNS2服務器最終並沒有從上級DNS獲取到解析結果,也沒有給Gn/Gp SGSN回送響應消息,因此會產生DNS2不可達的告警消息。

5.對於兩臺DNS服務器上的業務量不均問題,從信令流程中也可以得到答案。

對於此類移動域名的解析請求(MNC均爲000),雖然最終無法獲得解析結果,但DNS1(IP地址爲)都會給Gn/Gp SGSN回送響應消息,這種情況下,不會產生告警消息,如下圖所示。

由於Gn/Gp SGSN向DNS2發送的此類請求總是得不到響應消息,這種情況下導致告警消息“DNS不可達的告警”總是來自DNS2。

由於Gn/Gp SGSN認爲DNS2頻繁發生不可達告警,所以後續會優先選擇向DNS1發送消息,導致向DNS2發送的解析消息也就比DNS1少很多。

  故障處理

可以通過在本地的DNS服務器上增加一個的域名,將這個域名的解析結果指向一個空地址或一個不存在的地址。即對於Gn/Gp SGSN向DNS發起的路由區解析請求消息(其中的MNC均爲000),DNS服務器可以從本地獲取到解析結果,不需要向上級DNS服務器轉發解析請求,就可以獲得對應的地址,這樣可以避免此類告警消息的產生。