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解析不生效的原因很多,但归根结底不外乎域名状态异常、递归服务器不生效和权威服务器不生效三种情况,所以我们在遇到解析不生效情况时,仔细检查上面三种情况,就能快速定位故障原因,并针对性进行应对。