在實際應用過程中可能會遇到DNS解析錯誤的問題,就是說當我們訪問一個域名時無法完成將其解析到IP地址的工作,而直接輸入網站IP卻可以正常訪問,這就是因為DNS解析出現故障造成的。這個現象發生的機率比較大,所以本文將從零起步教給各位讀者一些基本的排除DNS解析故障的方法。
一、什麼是DNS解析故障?
一般來說像我們訪問的www.sina.com,www.45it.com這些地址都叫做域名,而眾所周知網絡中的任何一個主機都是IP地址來標識的,也就是說只有知道了這個站點的IP地址才能夠成功實現訪問操作。
不過由於IP地址信息不太好記憶,所以網絡中出現了域名這個名字,在訪問時我們這需要輸入這個好記憶的域名即可,網絡中會存在著自動將相應的域名解析成IP地址的服務器,這就是DNS服務器。能夠實現DNS解析功能的機器可以是自己的計算機也可以是網絡中的一台計算機,不過當DNS解析出現錯誤,例如把一個域名解析成一個錯誤的IP地址,或者根本不知道某個域名對應的IP地址是什麼時,我們就無法通過域名訪問相應的站點了,這就是DNS解析故障。
出現DNS解析故障最大的症狀就是訪問站點對應的IP地址沒有問題,然而訪問他的域名就會出現錯誤。
二、如何解決DNS解析故障:
當我們的計算機出現了DNS解析故障後不要著急,解決的方法也很簡單。
(1)用nslookup來判斷是否真的是DNS解析故障:
要想百分之百判斷是否為DNS解析故障就需要通過系統自帶的NSLOOKUP來解決了。
第一步:確認自己的系統是windows 2000和windows xp以上操作系統,然後通過“開始->運行->輸入CMD”後回車進入命令行模式。
第二步:輸入nslookup命令後回車,將進入DNS解析查詢界面。
第三步:命令行窗口中會顯示出當前系統所使用的DNS服務器地址,例如筆者的DNS服務器IP為202.106.0.20。
第四步:接下來輸入你無法訪問的站點對應的域名。例如筆者輸入www.softer.com,假如不能訪問的話,那麼DNS解析應該是不能夠正常進行的。我們會收到DNS request timed out,timeout was 2 seconds的提示信息。這說明我們的計算機確實出現了DNS解析故障。www.45it.com(電腦軟硬件應用網)
小提示:如果DNS解析正常的話,會反饋回正確的IP地址,例如筆者用www.sohu.com這個地址進行查詢解析,會得到name:sohu.com,addresses:61.135.133.103,61.135.133.104的信息。
(2)查詢DNS服務器工作是否正常:
這時候我們就要看看自己計算機使用的DNS地址是多少了,並且查詢他的運行情況。
第一步:確認自己的系統是windows 2000和windows xp以上操作系統,然後通過“開始->運行->輸入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緩存信息法:
當計算機對域名訪問時並不是每次訪問都需要向DNS服務器尋求幫助的,一般來說當解析工作完成一次後,該解析條目會保存在計算機的DNS緩存列表中,如果這時DNS解析出現更改變動的話,由於DNS緩存列表信息沒有改變,在計算機對該域名訪問時仍然不會連接DNS服務器獲取最新解析信息,會根據自己計算機上保存的緩存對應關系來解析,這樣就會出現DNS解析故障。這時我們應該通過清除DNS緩存的命令來解決故障。
第一步:通過“開始->運行->輸入CMD”進入命令行模式。
第二步:在命令行模式中我們可以看到在ipconfig /?中有一個名為/flushdns的參數,這個就是清除DNS緩存信息的命令。
第三步:執行ipconfig /flushdns命令,當出現“successfully flushed the dns resolver cache”的提示時就說明當前計算機的緩存信息已經被成功清除。
第四步:接下來我們再訪問域名時,就會到DNS服務器上獲取最新解析地址,再也不會出現因為以前的緩存造成解析錯誤故障了。
(4)修改HOSTS文件法:
修改HOSTS法就是把HOSTS文件中的DNS解析對應關系進行修改,從而實現正確解析的目的。因為在本地計算機訪問某域名時會首先查看本地系統中的HOSTS文件,HOSTS文件中的解析關系優先級大於DNS服務器上的解析關系。
這樣當我們希望把某個域名與某IP地址綁定的話,就可以通過在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地址,然後空格接域名信息。例如筆者添加了“211.153.80.1 www.ftedu.gov.cn”與“10.82.0.1 www.ftedu.gov.cn”兩個條目。
第六步:設置完畢後我們訪問www.ftedu.gov.cn時就會自動根據是在內網還是外網來解析了。
三、總結:
通過上面介紹的四個步驟,我們就可以解決大部分DNS解析問題了,這幾個方法中前三個是循序漸進的一步步解決DNS解析故障,而最後一個修改HOSTS文件則是在實在沒有辦法的時候,一種權宜之計。當然不管是通過哪種方法,我們都可以解決因為DNS解析錯誤帶來的網絡故障。相信這些方法可以幫助各位IT168的讀者解決更多的實際問題