對于所有基于Windows系統(tǒng)的網(wǎng)絡(luò)來說,DNS都屬于最重要的服務(wù)之一。在沒有DNS支持的情況下,活動目錄就不能正常工作,并且它使用到的功能也比任何其它類型的網(wǎng)絡(luò)都多。因此,在DNS出現(xiàn)問題時盡快解決就成為一項非常關(guān)鍵的工作。幸運的是,在通常情況下這一過程是比較容易的。在本文中,作者就列出了自己最喜歡的十項DNS故障排除" title="故障排除">故障排除技術(shù)。
1:對網(wǎng)絡(luò)連接" title="網(wǎng)絡(luò)連接">網(wǎng)絡(luò)連接情況進行驗證
當(dāng)發(fā)現(xiàn)DNS服務(wù)出現(xiàn)問題時,應(yīng)該做的第一件事情就是對DNS服務(wù)器的網(wǎng)絡(luò)連接情況進行驗證。畢竟,如果實際問題僅僅是一塊網(wǎng)卡出現(xiàn)了故障,耗費在從頭開始對設(shè)備進行全面檢查的大量時間就可以都省下來了。
對連接情況進行驗證的最簡單方法就是登錄到DNS服務(wù)器上,并利用ping命令檢查與其它機器的連接狀態(tài)。還應(yīng)該做的就是,嘗試利用隨機機器來ping連接DNS服務(wù)器。請務(wù)必牢記,只有在防火墻的配置里容許網(wǎng)際消息控制協(xié)議(ICMP)數(shù)據(jù)包通過的情況下,ping命令才能發(fā)揮作用。
2:確定問題波及的范圍
在確定基本連接正常的情況下,下一步要做的工作就是確定問題波及的范圍。實際情況是互聯(lián)網(wǎng)名稱解析服務(wù)失敗,還是本地名稱解析服務(wù)失敗呢?對于不同的問題來說,采取的解決方法也是有很大區(qū)別的。舉例來說,如果本地名稱解析服務(wù)正常,而互聯(lián)網(wǎng)名稱解析服務(wù)失敗的話,問題可能就是出在互聯(lián)網(wǎng)服務(wù)供應(yīng)商的DNS服務(wù)器上。
3:確認是否所有用戶都受到影響
接下來要考慮的另一件事情就是是否網(wǎng)絡(luò)上的所有用戶都受到了影響,或者是僅僅限于部分用戶。如果確認只有部分用戶受到影響的話,請對這些用戶所在的網(wǎng)絡(luò)段位置進行檢查,確認他們是否屬于同一范圍。如果答案是確定的話,問題可能與路由器故障或動態(tài)主機配置協(xié)議(DHCP)配置錯誤有關(guān)。
4:確認DNS服務(wù)器上是否運行了負載均衡" title="負載均衡">負載均衡處理技術(shù)
某些情況中,公司對網(wǎng)絡(luò)服務(wù)器" title="網(wǎng)絡(luò)服務(wù)器">網(wǎng)絡(luò)服務(wù)器資源的極大需求會導(dǎo)致DNS服務(wù)器被分散到多臺相同的網(wǎng)絡(luò)服務(wù)器上利用DNS輪循技術(shù)實現(xiàn)工作量的負載平衡技術(shù)被投入使用。該技術(shù)中存在的一個典型問題就是,在其中一臺服務(wù)器已經(jīng)宕機的情況下,DNS服務(wù)器不會了解到實際情況發(fā)生了變化。因此,盡管其中的一臺服務(wù)器已經(jīng)處于脫機狀態(tài),但輸入流量依然被平均分配給循環(huán)中的所有服務(wù)器。由此導(dǎo)致的結(jié)果就是負載平衡資源在連接間歇性方面出現(xiàn)問題。
5:對DNS服務(wù)器轉(zhuǎn)發(fā)器進行檢查
如果已經(jīng)確認本地名稱解析服務(wù)運行正常,但互聯(lián)網(wǎng)名稱解析服務(wù)無法工作的話,下面要檢查的就是DNS服務(wù)器是否在使用轉(zhuǎn)發(fā)器。盡管很多DNS服務(wù)器都利用根提示來提供互聯(lián)網(wǎng)名稱解析服務(wù),但也有一些使用轉(zhuǎn)發(fā)器連接到互聯(lián)網(wǎng)服務(wù)供應(yīng)商的DNS服務(wù)器上。如果互聯(lián)網(wǎng)服務(wù)供應(yīng)商的DNS服務(wù)器出現(xiàn)了問題,在解析器緩存中條目過期的情況下,互聯(lián)網(wǎng)名稱解析服務(wù)將失敗。如果確認DNS服務(wù)器沒有使用轉(zhuǎn)發(fā)器,還可以嘗試一下對服務(wù)器進行ping檢測,以了解它是否在線??赡苄枰龅倪€包括致電互聯(lián)網(wǎng)服務(wù)供應(yīng)商,來了解那里是否存在任何DNS方面的問題,并確保在轉(zhuǎn)發(fā)器中使用的網(wǎng)絡(luò)IP地址仍然屬于有效的。
6:嘗試利用一臺主機進行ping測試
如果本地網(wǎng)絡(luò)中的名稱解析服務(wù)出現(xiàn)問題,就應(yīng)該選擇嘗試對網(wǎng)絡(luò)中的其它服務(wù)器進行ping測試。首先,可以利用服務(wù)器的網(wǎng)絡(luò)IP地址進行ping測試。這樣的話,就可以確認該服務(wù)器是否依然可以連接。接下來,要做的就是利用計算機名稱和服務(wù)器的完全合格域名進行ping測試。
如果網(wǎng)絡(luò)IP地址可以通過ping測試,但域名無法通過的話,就應(yīng)該對DNS服務(wù)器進行檢查,以確保主機(A)記錄的存在。如果沒有主機(A)記錄的話,DNS服務(wù)器將無法解析主機的名稱。
7:使用NSLookup查詢域名命令
對于排除DNS故障來說,最方便的工具之一就是NSLookup查詢域名命令。它可以在Windows命令提示符窗口中使用。只要輸入NSLookup加上需要測試名稱解析服務(wù)的主機名稱,Windows就可以返回DNS服務(wù)器的網(wǎng)絡(luò)IP地址和解析名稱(盡管在通常情況下,DNS服務(wù)器名稱顯示的是為未知)。它也可以提供指定主機的完全合格域名和網(wǎng)絡(luò)IP地址。
對于兩件事情來說,NSLOOKUP命令非常有用。首先,它可以容許對名稱解析服務(wù)是否正常進行驗證。其次,如果名稱解析服務(wù)無法正常工作,它可以幫助確認使用的服務(wù)器是哪一臺。請務(wù)必牢記,Nslookup的查詢結(jié)果中只列出它最初連接到的DNS服務(wù)器。如果名稱解析請求被轉(zhuǎn)發(fā)到其它DNS服務(wù)器的話,這些服務(wù)器是不會被列出的。
8:嘗試使用一臺備用DNS服務(wù)器
大多數(shù)公司都擁有至少兩臺DNS服務(wù)器。如果主DNS服務(wù)器出現(xiàn)了問題,請嘗試使用備用DNS服務(wù)器。如果在切換DNS服務(wù)器后,名稱解析服務(wù)可以正常工作,就可以確認該問題確實是涉及到DNS服務(wù)器,而不是一些外部因素。
9:掃描病毒
大約一星期前,有人向我求助。他們的網(wǎng)絡(luò)中出現(xiàn)了問題,現(xiàn)象是每當(dāng)試圖訪問特定網(wǎng)站的時間,就會被重定向到一家惡意站點上。我最早的懷疑是DNS中毒攻擊,但在發(fā)現(xiàn)實際情況是只有一臺計算機受到影響后,這種可能性被排除了。
最后,我發(fā)現(xiàn)問題是一種病毒占據(jù)了TCP/IP" title="TCP/IP">TCP/IP協(xié)議棧,對所有名稱解析請求進行攔截。盡管這一問題在最初看起來似乎是DNS的問題,但實際上病毒需要承擔(dān)最終的責(zé)任。
10:重新啟動DNS服務(wù)器
我知道這種措施看上去很象陳詞濫調(diào),但當(dāng)所有解決方案都沒有成功的時間,選擇重新啟動DNS服務(wù)器也是一條出路。在這么多年的工作經(jīng)歷中,我見到多起由于未知原因?qū)е旅Q解析服務(wù)失敗,但在重新啟動DNS服務(wù)器后一切就正常的情況。
同樣,我遇到過至少兩起消費級路由器出現(xiàn)停止轉(zhuǎn)發(fā)DNS請求而其它類型流量依然正常的情況。在其中一起案例中,重新啟動路由器就可以解決該問題。而在另一起案例中,就必須更換路由器。據(jù)分析,該路由器可能是在前一天發(fā)生的停電事故中損壞。