DNS解析故障

來源:互聯網
上載者:User
文章目錄
  •  
 

昨天晚上11點客戶打電話過來說網站不能訪問,馬上跑起來,輸入欄位名沒事,然後要我朋友進一下,不行。
改由IP訪問OK,DNS問題,今天一大早來公司特地查查這到底是啥玩意---  

 

下面資料來源於百度.

解析故障 

在實際應用過程中可能會遇到DNS解析錯誤的問題,就是說當我們訪問一個網域名稱時無法完成將其解析到IP地址的工作,而直接輸入網站IP卻可以正常訪問,這就是因為DNS解析出現故障造成的。這個現象發生的機率比較大,所以本文將從零起步教給各位讀者一些基本的排除DNS解析故障的方法。

  

  一般來說像我們訪問的地址都叫做網域名稱,而眾所周知網路中的任何一個主機都是IP地址來標識的,也就是說只有知道了這個網站的IP地址才能夠成功實現訪問操作。

 

  不過由於IP地址資訊不太好記憶,所以網路中出現了網域名稱這個名字,在訪問時我們這需要輸入這個好記憶的網域名稱即可,網路中會存在著自動將相應的網域名稱解析成IP地址的伺服器,這就是DNS伺服器。能夠實現DNS解析功能的機器可以是自己的電腦也可以是網路中的一台電腦,不過當DNS解析出現錯誤,例如把一個網域名稱解析成一個錯誤的IP地址,或者根本不知道某個網域名稱對應的IP地址是什麼時,我們就無法通過網域名稱訪問相應的網站了,這就是DNS解析故障。

  出現DNS解析故障最大的癥狀就是訪問網站對應的IP地址沒有問題,然而訪問他的網域名稱就會出現錯誤。

  當我們的電腦出現了DNS解析故障後不要著急,解決的方法也很簡單。

  (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地址是多少了,並且查詢他的運行情況。

  第一步:確認自己的系統是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目錄中尋找。 (在本地修改的時候碰到了拒絕訪問的問題s)

  第三步:雙擊HOSTS檔案,然後選擇用“記事本”程式將其開啟。

  第四步:之後我們就會看到HOSTS檔案的所有內容了,預設情況下只有一行內容“127.0.0.1 localhost”。(其他前面帶有#的行都不是真正的內容,只是協助資訊而已)

  第五步:將你希望進行DNS解析的條目添加到HOSTS檔案中,具體格式是先寫該網域名稱對應的IP地址,然後空格接網域名稱資訊。

  第六步:設定完畢後我們訪問網址時就會自動根據是在內網還是外網來解析了。

DNS查詢

  DNS查詢可以有兩種解釋,一種是指用戶端查詢指定DNS伺服器上的資源記錄(如A記錄),另一種是指查詢FQDN名的解析過程。

  一、查詢DNS伺服器上的資源記錄

  您可以在Windows平台下,使用命令列工具,輸入nslookup,返回的結果包括網域名稱對應的IP地址(A記錄)、別名(CNAME記錄)等。除了以上方法外,還可以通過一些DNS查詢網站如國外的國內的 查詢網域名稱的DNS資訊。

  二、FQDN名的解析過程查詢

  若想跟蹤一個FQDN名的解析過程,在Linux Shell下輸入dig www +trace,返回的結果包括從跟域開始的遞迴或迭代過程,一直到權威網域名稱伺服器。

 

再一查,發現修改host檔案還能屏蔽不想訪問的網站的例子

如果,我們在Hosts中,寫入以下內容:

  127.0.0.1 # 要屏蔽的網站 A

  0.0.0.0 # 要屏蔽的網站 B

  這樣,電腦解析網域名稱 A和 B時,就解析到本機IP或錯誤的IP,達到了屏蔽網站A 和B的目的。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.