阿裏雲DNS專家,手把手教你定位域名解析不生效
域名狀態異常會導致網站不能訪問嗎?
剛修改過域名解析,為什麼不生效呢?
如何查看解析是否生效呢?
剛在注冊商修改過DNS服務器,多長時間解析可以生效?
為什麼ping域名得到IP和配置的IP地址不一樣?
網站頁麵為什麼打不開?…
中小企業在網站的實際運營中,以上這些問題,屏幕前你是否也曾遇到過,是否也因此困擾很久,長時間無法解決,內心萬馬奔騰。
如果你也感同身受,那麼就請往下閱讀,老司機手把手教你定位故障環節,針對性解決。
一、 網站訪問過程
要想解決這類問題,首先要了解打開網站或APP的背後,究竟發生了什麼?
這裏就必須提到互聯網的基礎之一“域名”。正是域名將人類大腦意識和互聯網服務聯係了起來,例如大家熟知的www.taobao.com、www.baidu.com等等。在我們的記憶中,taobao等於去購物、baidu等於找問題的答案。
但是你眼前的電腦或手機這類電子機器卻沒有人類的意識,它是如何知道打開taobao是要去訪問淘寶的服務,而不去訪問騰訊或者百度的服務呢?這是因為www.taobao.com的域名背後對應了一個類似門牌號地址的東西叫做“IP地址”,IP地址和域名一樣也是互聯網的基礎之一。有了這個IP地址,電腦或手機就知道要把你對taobao的訪問請求發送到taobao所在的IP地址了,而不會出現張冠李戴的現象。
好奇的你肯定繼續問了,www.taobao.com和IP地址對應關係是存儲在哪裏呢?電腦或手機是去哪裏獲得的這個地址呢?
域名與IP地址的對應關係存儲在一個叫做DNS(Domain Name System)的係統裏。DNS是一個全球化的分布式數據庫,它所提供的服務就是將類似www.taobao.com的域名轉換為互聯網IP地址。
那麼DNS就近是怎樣工作的呢?按照功能劃分,DNS分為兩大類:。
1、遞歸DNS:
對用戶使用電腦或手機等電子設備進行上網時發出的域名解析請求,遞歸DNS必須給出一個最終的IP地址結果,以便電子設備通過網絡去訪問IP地址。完整的遞歸DNS查詢流程需要DNS服務器從根域名“.”服務器、頂級域名服務器“.com”、一級域名服務器“taobao.com”一級一級遞歸查下來最終找到權威服務器取得結果,並返回給客戶,同時將取得的結果根據域名設置的TTL時間,緩存在自己的係統當中,以便下次使用。如下圖所示:
遞歸DNS服務器大多數在運營商端,負責網絡接入終端的DNS查詢。通俗講,就是你的電腦或手機上配置的那種DNS服務器IP。對於網民訪問的所有域名,遞歸DNS都要負責查詢到結果。沒有它,我們廣大網民就無法上網愉快的玩耍。
2、權威DNS:
特定域名記錄比如“taobao.com”,在域名注冊商處所設置的那台DNS服務器。這種權威DNS服務器的用途是用於特定域名本身的管理(增加、刪除、修改等),而不同於遞歸DNS服務器是幫助網民去查詢域名。
每個特定的域名,權威DNS服務器可能不一定相同。這種權威DNS服務器隻對自己所擁有的域名進行域名解析,對於不是自己的域名,拒絕訪問。比如遞歸DNS去taobao.com的權威DNS服務器查詢baidu.com的域名肯定會查詢失敗。
權威DNS服務器在BAT這種大公司,一般采取自建的方式。對於中小型公司,一般會選擇一家知名的權威DNS服務商托管服務,經濟實惠。**阿裏雲雲解析DNS就是這類服務產品**。
因此,,幫組運營商的網絡用戶去相應的權威DNS服務查詢域名解析結果,其查詢結果直接影響所有上網的用戶,包括屏幕前的你。
而,給購買自己域名服務的客戶使用,方便管理域名記錄,其結果直接影響自己的所有客戶,間接影響所有的上網的網民,因為權威DNS服務器需要接受遞歸DNS服務器的查詢。
二、故障定位:
上麵做了這麼多鋪墊,那麼針對文章開頭的問題該怎麼解呢?
1、域名狀態異常會導致網站不能訪問嗎?
域名狀態異常,是指域名在注冊商處因為某些原因出現了異常狀態,例如:未實名製、未備案等。域名狀態異常,會直接導致域名不能解析、網站不能訪問。當前您可以通過阿雲檢測 (https://zijian.aliyun.com/)查看到您的域名狀態(Domain Status),如果域名狀態是如下幾個,將代表域名不能訪問。
Pendingdelete(域名過期,贖回期)
Redemption period(域名過期,贖回期)
Clienthold(域名被凍結)
Serverhold(域名被凍結)
Inactive(未設置 DNS)
2、剛修改過域名解析,為什麼不生效呢,怎樣查看解析是否生效?
剛修改過域名解析,實際上是在域名解析服務商處修改域名解析記錄。由網站訪問過程我們知道,直接影響用戶側域名生效的是運營商遞歸DNS服務器、間接影響用戶側域名生效的是域名解析服務商提供的權威DNS服務器。
那麼我們分兩個步驟測試:
A、首先我們測試本地運營商遞歸DNS服務器是否生效。測試方法如下:
-
Windows用戶測試:
在開始菜單中的運行窗口,輸入cmd後,回車啟動CMD控製端。
輸入:“nslookup 要檢測的域名”,查看結果。非權威應答表示,是運營商的遞歸DNS服務器解析結果,但不是域名的權威服務器解析結果。
B、其次我們測試域名解析服務商的權威DNS服務器是否生效。測試方法如下:
Windows 用戶測試:
按住ctrl+R打開運行窗口,輸入cmd後,回車啟動CMD控製端。
輸入:“nslookup 要檢測的域名 dns服務器地址”,查看結果。
其中阿裏雲雲解析企業版dns服務器是vip1.alidns.com與vip2.alidns.com。Mac或Linux用戶測試:
打開終端控製器,輸入:“dig 要檢測的域名 @dns服務器地址”,查看結果。
其中阿裏雲雲解析企業版dns服務器是vip1.alidns.com與vip2.alidns.com。
情況分析:
如果遞歸DNS服務器未生效、權威DNS服務器已生效,表明域名剛添加不就,全球的遞歸DNS服務器未完全同步,需要等待域名配置的TTL時間後再次檢測是否生效。如果某些個別的運營商遞歸DNS服務器依然未生效,很可能是你遇到了域名劫持或者DNS緩存投毒事件。
如果遞歸服務器和權威DNS服務器都未生效,表明域名確實沒有添加成功。
3、剛在注冊商修改過DNS服務器,多長時間解析可以生效?
域名解析更換服務商,需要變更DNS服務器。DNS服務器的記錄登記在域名的上一級DNS,不同後綴的域名,上一級DNS也不同。例如:abc.com的DNS服務器登記在.com、abc.cn的DNS服務器登記在.cn、abc.net的DNS服務器登記在.net。
不同後綴對DNS服務器緩存的時間也不相同。
例如:
.com對DNS服務器緩存時間是172800秒,也就是48小時;
.cn對DNS服務器緩存時間是86400秒,也就是24小時;
.net對DNS服務器緩存時間也是172800秒,48小時;
因此,變更域名解析服務商後,DNS服務器生效時間基本需要等待48小時的時間,才能全球DNS同步。
在此期間,會出現一部分DNS查詢請求新的DNS服務器,另一部分DNS查詢請求舊的DNS服務器。
。
在遇到解析不生效時,也要第一時間檢查48小時內,是否變更過DNS服務器。
4、為什麼ping域名得到IP和配置的IP地址不一樣?
兩種情況:
1、域名記錄修改後,遞歸DNS服務器還未生效,ping 域名時得到的IP地址還是域名修改前的IP地址,這時等待TTL時間後,再進行ping測試一般沒有問題,如果有問題,可能是遇到運營商DNS劫持了,參考2;
2、域名為修改成功,可能是權威DNS服務器為配置成功。也可能是域名剛剛修改了DNS服務器,參考3。
5、網站頁麵使用域名打不開,使用IP或其他域名就能打開?
在網站的運行過程中,經常會遇到這類問題,我使用IP地址就能打開網站,添加了域名解析,反而打不開網站了呢?
網站的訪問過程是一項複雜的過程,涉及等多方麵的問題。DNS解析僅僅是網站訪問的第一步。
參考2,如果DNS解析出來的IP地址與您設置的IP地址完全一致,那麼網站無法打開的問題就出在後麵的網絡鏈接和Web服務器處理兩個步奏上。
這時,可以用ping測試網絡鏈接是否正常,檢查Web服務器的host配置是否正確。
如果使用了Web防火牆產品,還要檢查Web防火牆是否對訪問的域名添加了白名單。
三、 總結
DNS解析不生效的表現場景多種多樣,但是深入探究下來,不外乎是三個場景。萬變不離其宗,根據測試方法首先查看域名狀態、其次驗證遞歸DNS解析和權威DNS解析是否生效,即可迅速定位到故障原因。
最後更新:2017-08-16 17:32:17