DNS解析為什麼不生效?
網站頁面為什麼打不開?剛修改過域名解析,為什麼不生效?如何檢視解析是否生效?很多企業在網站的實際運營中,經常會遇到以上DNS解析問題,給網站的運營管理人員造成諸多困擾,接下來中科三方針對這些問題做下簡單介紹,手把手教你定位故障環節。
1. 域名狀態異常
域名狀態異常是指域名因為未實名認證、未備案、到期未續費等原因而出現異常狀態,從而造成域名停止解析、網站不可達等問題。
你可以通過中科三方Whois查詢工具檢視你的域名當前所處的狀態,如果域名處於以下幾種狀態時,域名無法被訪問:
Pendingdelete(域名過期,贖回期)
Redemption period(域名過期,贖回期)
Clienthold(註冊商設定暫停解析)
Serverhold(註冊局設定暫停解析)
Inactive(未設定 DNS)
2. 修改域名解析尚未生效
根據域名的解析流程可知,影響使用者端域名解析是否生效主要取決於運營商提供的遞迴DNS伺服器和解析服務商提供的權威DNS伺服器。由於域名解析TTL值的存在,導致域名解析修改之後,並不能及時同步到遞迴伺服器上,從而導致解析不生效,針對這種情況可以分為兩個步驟進行測試:
(1) 首先測試本地遞迴DNS伺服器是否生效
Windows系統測試:在開始選單中的執行視窗,輸入cmd後,回車啟動cmd控制端,輸入 “nslookup 要檢測的域名”,檢視結果。如下圖所示:
非權威應答表示,是運營商的遞迴DNS伺服器解析結果,但不是域名的權威伺服器解析結果。
Mac或Linux使用者測試:開啟終端控制器,輸入:“dig 要檢測的域名”,檢視結果。
此外,Windows使用者也可以通過安裝dig,實現dig測試。
(2)測試權威DNS伺服器是否生效。
Windows 使用者測試:啟動CMD控制端,輸入:“nslookup 要檢測的域名 dns伺服器地址”,檢視結果。
Mac或Linux使用者測試:開啟終端控制器,輸入:“dig 要檢測的域名 @dns伺服器地址”,檢視結果。
如果遞迴DNS伺服器未生效、權威DNS伺服器已生效,則表明域名解析修改不久,未超過TTL值,遞迴伺服器未同步更新,需要等域名配置的TTL失效後,再次檢測遞迴伺服器是否生效。
如果TTL值過後,再次檢測遞迴伺服器仍然未生效,則可能遭遇了域名劫持或快取投毒。
如果遞迴伺服器和權威伺服器都沒有生效,則很大可能是因為域名解析沒有新增成功,需要檢查情況並重新新增。
3.修改DNS伺服器未生效
如果域名解析更換服務商,就需要變更DNS伺服器,變更DNS伺服器,同樣需要等待一定的快取時間,才能完成全球DNS伺服器的同步生效。不同字尾的域名對DNS伺服器快取的時間並不相同,
.com對DNS伺服器快取時間是48小時;
.cn對DNS伺服器快取時間是24小時;
.net對DNS伺服器快取時間是48小時;
在快取時間內,由於遞迴伺服器的快取失效時間不同,可能會出現有的DNS請求新伺服器,有的會請求舊的伺服器。所以這種情況下,要耐心等待,儘量不要在此期間對DNS解析記錄進行修改,防止DNS解析記錄不一致,影響服務。
4.其他原因
網站的訪問過程是一項複雜的過程,涉及DNS解析、網路連結、Web伺服器處理等多方面的問題。DNS解析僅僅是網站訪問的第一步。
如果DNS解析出來的IP地址沒有問題,那麼網站無法開啟可能就與網路連線和web伺服器有關。這時,可以用ping測試網路連結是否正常,檢查Web伺服器的host配置是否正確。如果使用了Web防火牆產品,還要檢查Web防火牆是否對訪問的域名新增了白名單。
總 結
DNS解析不生效的原因很多,但歸根結底不外乎域名狀態異常、遞迴伺服器不生效和權威伺服器不生效三種情況,所以我們在遇到解析不生效情況時,仔細檢查上面三種情況,就能快速定位故障原因,並針對性進行應對。