在訪問網站的過程中,我們或許經常會遭遇無法訪問網頁的現象,遇到這種現象時,相信多數人會下意識地認為是網絡掉線,或者是目標網站的服務器出現了問題,可是在一番仔細排查之後,網頁無法打開的現象並不是由這些因素引起的,那麼究竟是什麼原因讓網頁內容無法打開呢。
事實上,在網絡連接以及目標服務器都正常的情況下,造成網頁無法打開現象最可能的原因就是DNS服務發生了意外,導致網站地址被無法正常解析,而且DNS服務運行不正常的現象十分常見。那麼我們如何能夠在最短的時間內確認網頁打開故障就是DNS服務引起的呢,遇到DNS服務運行不正常時,我們又該如何讓DNS服務快速恢復常態呢?下面,本文就從DNS服務運行不正常的現象、判斷以及應對出發,來讓DNS服務盡快恢復常態!
通常情況下,我們訪問某個目標網站時都是通過輸入形如“.”格式的網址來完成訪問任務的,這個網址其實也是目標網站的域名;但是,我們知道主機與主機之間相互訪問、通信時,都是通過IP地址來相互識別、確認的,這麼說來我們只有知道了目標網站的IP地址才能夠成功地打開該網站。不過,考慮到IP地址不便於記憶,因此我們幾乎都以域名的形式來訪問網站內容,輸入的網站地址往往會被指定的DNS服務器自動解析翻譯成IP地址;能夠提供DNS服務功能的服務器可以是本地計算機,也可以是網絡中特定的一台計算機,但是一旦DNS服務器運行不正常,無法為用戶提供地址解析服務或者將域名解析成錯誤的IP地址時,我們就無法通過網站域名的形式打開目標站點的頁面內容了。DNS服務運行不正常的最明顯現象就是訪問目標網站的IP地址時正常,訪問它的網站域名時就會發生錯誤。
在遇到網頁內容無法打開,並且懷疑DNS服務運行不正常時,我們首先要做的事情就是利用Windows系統自帶的nslookup命令來確認一下本地的DNS服務是否真的運行不正常,下面就是確認DNS服務運行是否正常的具體操作步驟:
首先在本地工作站系統桌面中打開“開始”菜單,並執行其中的“運行”命令,從彈出的系統對話框中輸入字符串命令“cmd”,單擊“確定”按鈕後,將系統屏幕切換到MS-DOS命令行工作模式;
其次在DOS命令行中輸入字符串命令“nslookup -q=ns www.45it.com”,單擊回車鍵後要是在地址解析過程中DNS服務運行不正常的話,那我們會在結果界面中只看到“DNS request timed out,timeout was 2 seconds”這樣的提示信息。
在確認網站內容無法打開是由於地址不能被解析後,我們下一步要做的工作就是檢查一下本地工作站所使用的DNS服務器自身是否運行正常,如果DNS服務器運行不正常的話,DNS服務當然無法為網站地址提供解析服務了。在檢查DNS服務器自身是否運行正常時,我們可以按照如下步驟來進行:
首先按照前面的操作步驟,將系統運行狀態切換到MS-DOS命令行窗口,在該窗口的命令提示符下輸入字符串命令“ipconfig /all”,單擊回車鍵後,打開如圖2所示的結果界面, 對應DNS SERVERS位置處的信息就是本地工作站所使用的DNS服務器地址,比方說這裡的DNS服務器地址就是“61.177.7.1”;
其次根據IP地址來判斷DNS服務器是位於內網還是外網,例如筆者在這裡指定的DNS服務器位於外網,因此當我們發現使用該DNS服務器無法正常解析網站地址時,不妨進入到本地工作站的TCP/IP屬性設置窗口,將DNS地址更換成其他能夠運行正常的DNS服務器地址,就能解決無法打開網頁的問題了;要是指定的DNS服務器位於內網,那麼在使用該DNS服務器無法正常解析網站地址時,就可以請單位網絡管理人員檢查一下局域網內部的DNS服務器是否運行正常,只要解決了DNS服務器的運行故障,一般就能夠順利解決網頁無法打開故障了。
當以網站域名形式訪問目標站點頁面內容時,本地工作站並不一定都要尋求DNS服務器的幫助,因為有的工作站事先已經把頻繁訪問站點的域名和IP地址對應關系保存到本地的HOSTS文件中了,所以當本地工作站訪問某個目標站點的域名時往往會自動先查看本地的HOSTS文件,如果該文件中包含目標站點的域名和IP地址對應關系,那麼目標站點的網站地址就能夠被順利解析了。根據上面的分析思路,我們可以用手工方法將那些無法打開網頁內容的站點域名和IP地址對應關系添加到本地的HOSTS文件中,以便實現成功解析目標站點的目的,下面就是往HOSTS文件中手工添加目標站點域名和IP地址對應關系的具體操作步驟:
首先打開本地工作站系統的資源管理器窗口,並在該窗口中依次展開“x:windowssystem32driversetc”文件夾,在對應“etc”子文件夾窗口中找到HOSTS文件,當然我們也可以依次執行“開始”/“搜索”命令,來通過文件搜索的方法找到目標HOSTS文件;
其次用記事本之類的文本編輯程序打開HOSTS文件,在隨後彈出的文件編輯窗口中我們可以一目了然地看到HOSTS文件中所有的站點域名和IP地址對應關系了,在缺省狀態下該文件只包含“127.0.0.1 localhost”這一行內容,其中開頭帶“#”的行都不是有效的內容,只是具體的幫助信息而已;
接下來我們就可以將那些無法訪問的站點解析條目手工輸入添加到本地HOSTS文件中了,具體添加格式應該是先輸入目標站點域名所對應的IP地址,之後輸入空格並連接具體的域名信息,比方說筆者在這裡手工添加了“61.129.51.27 www.45it.net”;在確認信息輸入正確後,再依次執行文件編輯窗口中的“文件”/“保存”命令,將上面輸入的內容按原名保存後,如此一來我們日後就能順利將目標網站的域名解析成IP地址了。
當我們以域名形式訪問過目標網站後,該網站的域名和IP地址對應關系就會自動保存到本地工作站的DNS緩存列表中,日後IE浏覽器會優先訪問DNS緩存列表中的信息,不過一旦此時目標站點的域名和IP地址對應關系發生變動的話,DNS緩存列表中的對應解析記錄不會跟著同步變化,那麼日後我們再次以域名形式訪問目標站點時就容易發生DNS解析不成功的故障。這個時候,我們可以通過刷新本地DNS緩存列表的方法來解決網頁無法打開的故障,下面就是具體的刷新本地DNS緩存列表的操作步驟:
首先在本地工作站系統桌面中打開“開始”菜單,並執行其中的“運行”命令,從彈出的系統對話框中輸入字符串命令“cmd”,單擊“確定”按鈕後,將系統屏幕切換到MS-DOS命令行工作模式;
其次在DOS命令行中,輸入字符串命令“ipconfig /flushdns”,單擊回車鍵後,我們將從如圖4所示的結果界面中看到“successfully flushed the dns resolver cache”這樣的提示, 這就意味著本地工作站DNS緩存列表中的信息已經被成功刷新了。之後,我們重新以域名形式訪問目標站點時,相信目標網站的頁面內容就能被正確打開了。
遇到DNS服務運行不正常的現象是常有的事情,面對這種故障現象我們只要依照本文所提供的應對要決進行逐一嘗試,相信DNS解析錯誤故障一定會快速被排除掉。