1. 程式人生 > >DNS異常解決方案

DNS異常解決方案

1,為了方便使用者記憶,我們將IP變成一個個的域名來輸入到瀏覽器進行訪問。而這使得訪問網站時要先將其域名解析成 IP 。
2,DNS (Domain Name Server) 的作用就是進行 IP 解析,把域名對應到 IP。
3,在進行 DNS 請求以前,系統會先檢查自己的 Hosts 檔案中是否有這個地址對映關係,如果有則呼叫這個 IP 地址對映,如果沒有再向已知的 DNS 伺服器提出域名解析。Hosts 的請求級別比 DNS 高。當你的 Hosts 檔案裡面有對應的 IP 時,它就會直接訪問那個 IP,而不用通過 DNS。
4,當DNS解析出現錯誤,例如把一個域名解析成一個錯誤的IP地址,或者根本不知道某個域名對應的IP地址是什麼時,就無法通過域名訪問相應的站點了,這就是DNS解析故障。
5,出現DNS解析故障最大的症狀就是訪問站點對應的IP地址沒有問題,然而訪問他的域名就會出現錯誤。
(1)用nslookup(網路查詢)來判斷是否真的是DNS解析故障:
要想百分之百判斷是否為DNS解析故障就需要通過系統自帶的NSLOOKUP來解決了。
第一步:確認自己的系統是windows 2000和windows xp以上作業系統,然後通過“開始->執行->輸入CMD”後回車進入命令列模式。
第二步:輸入nslookup命令後回車,將進入DNS解析查詢介面。
第三步:命令列視窗中會顯示出當前系統所使用的DNS伺服器地址,例如筆者的DNS伺服器IP為202.106.0.20。
第四步:接下來輸入無法訪問的站點對應的域名。假如不能訪問的話,那麼DNS解析應該是不能夠正常進行的,會收到DNS request timed out,timeout was 2 seconds的提示資訊。這說明本地計算機確實出現了DNS解析故障。
小提示:如果DNS解析正常的話,會反饋回正確的IP地址。
(2)查詢DNS伺服器工作是否正常:
這時候要看本地計算機使用的DNS地址是多少了,並且查詢他的執行情況。
第一步:通過“開始->執行->輸入CMD”後回車進入命令列模式。
第二步:輸入ipconfig/all命令來查詢網路引數。
第三步:在ipconfig /all顯示資訊中能夠看到一個地方寫著DNS SERVERS,這個就是本地的DNS伺服器地址。例如筆者的是202.106.0.20和202.106.46.151。從這個地址可以看出是個外網地址,如果使用外網DNS出現解析錯誤時,可以更換一個其他的DNS伺服器地址即可解決問題。
第四步:如果在DNS伺服器處顯示的是個人公司的內部網路地址,那麼說明該公司的DNS解析工作是交給公司內部的DNS伺服器來完成的,這時需要檢查這個DNS伺服器,在DNS伺服器上進行nslookup操作看是否可以正常解析。解決DNS伺服器上的DNS服務故障,一般來說問題也能夠解決。
(3)清除DNS快取資訊法:
第一步:通過“開始->執行->輸入CMD”進入命令列模式。
第二步:在命令列模式中我們可以看到在ipconfig /?中有一個名為/flushdns的引數,這個就是清除DNS快取資訊的命令。
第三步:執行ipconfig /flushdns命令,當出現“successfully flushed the dns resolver cache”的提示時就說明當前計算機的快取資訊已經被成功清除。
第四步:接下來我們再訪問域名時,就會到DNS伺服器上獲取最新解析地址,再也不會出現因為以前的快取造成解析錯誤故障了。
(4)修改HOSTS(主機)檔案法:
第一步:通過“開始->搜尋”,然後查詢名叫hosts的檔案。
第二步:當然對於已經知道他的路徑的讀者可以直接進入c:\windows\system32\drivers\etc目錄中找到HOSTS檔案。如果你的系統是windows 2000,那麼應該到c:\winnt\system32\drivers\etc目錄中尋找。
第三步:雙擊HOSTS檔案,然後選擇用“記事本”程式將其開啟。
第四步:之後我們就會看到HOSTS檔案的所有內容了,預設情況下只有一行內容“127.0.0.1 localhost”。(其他前面帶有#的行都不是真正的內容,只是幫助資訊而已)
第五步:將你希望進行DNS解析的條目新增到HOSTS檔案中。具體格式是先寫該域名對應的IP地址,然後空格接域名資訊。
第六步:設定完畢後我們訪問網址時就會自動根據是在內網還是外網來解析了。