DNS解析生效查询
一、什么是DNS解析?

DNS(Domain Name System)即域名系统,是互联网的一项服务,它作为将域名和IP地址相互映射的分布式数据库,能够使人更方便地访问互联网,DNS使用TCP和UDP的53号端口。
二、DNS解析生效时间
1、新添加解析记录:通常添加成功后立即生效。
2、修改已有解析记录:解析生效时间与修改之前的TTL值有关,如果修改前TTL值为300秒,则在300秒内新的解析就会生效,如果本地DNS不存在缓存时延,解析记录会立即生效。
三、如何检查域名解析是否生效?
1、ping命令
适用操作系统:Windows、Linux
步骤:在本地主机单击“搜索”,输入cmd,打开命令窗口,然后输入以下命令检查解析是否生效。
ping 域名
示例:检查域名example.com的解析是否生效,执行命令ping example.com
,回显信息如图1所示,显示的IP地址与设置域名解析的IP地址保持一致,则说明解析已经生效。

注意:ping命令时,解析是否生效与域名能否Ping通没有直接联系,执行“ping 域名”命令后,显示的IP地址与设置域名解析的IP地址一致,则说明解析已经生效,可能域名解析正确,但是网络不通,两码事。
2、nslookup命令
适用操作系统:Windows、Linux
验证A类型解析:用于指定域名的IP地址解析。
nslookup qt=a 域名 或 nslookup 域名
示例:nslookup example.com,回显信息如图2所示,显示的IP地址与设置域名解析的IP地址保持一致,则说明解析已经生效。
验证CNAME类型解析:用于指定域名的CNAME值,适用于CDN、WAF、云速建站场景等场景。
nslookup qt=cname 域名
示例:nslookup qt=cname examplesite.com,回显信息如图3所示,显示的CNAME值与设置域名解析的CNAME值一致,则说明解析已经生效。

验证MX类型解析:用于指定邮箱服务器的地址。
nslookup qt=mx 域名
示例:nslookup qt=mx baidu.com,回显信息如图4所示,显示的MX记录与设置域名解析的MX记录一致,则说明解析已经生效。
验证NS类型解析:用于指定域名的DNS服务器。
nslookup qt=ns 域名
示例:nslookup qt=ns baidu.com,回显信息如图5所示,给出了域名的两个DNS服务器,并且在下面给出了两个DNS服务器分别在互联网中的IP地址。
3、dig命令
安装方法:可以通过包管理器进行安装,如Ubuntu下可以使用sudo apt install dnsutils
命令进行安装。
常用查询命令:
dig 域名 dig 域名 +short dig 域名 A dig 域名 A +short dig 域名 any dig 域名 NS dig 域名 MX dig 域名 TXT dig 域名 SOA dig 域名 SPF dig 域名 SRV dig 域名 CAA dig 域名 URI dig 域名 NAPTR
示例:dig www.baidu.com,返回结果如图6所示。
其他功能:
指定查询类型:根据记录类型进行查询,比如MX,CNAME,NS,PTR等,只需将类型加在命令后面即可。
dig test.dnsexample.com cname
指定域名DNS服务器测试解析是否生效的命令:以指定云解析DNS服务器和公共DNS服务器作为查询解析是否生效的示例演示。
dig test.dnsexample.com @vip1.alidns.com dig test.dnsexample.com @114.114.114.114
trace参数:使用这个参数之后将显示从根域逐级查询的过程,trace查询可以看到根域、顶级域、以及一级域名的权威服务器的地址,及其各自的返回结果,这样对于追踪DNS解析中的问题有很大的帮助。
dig dnsexample.top +trace
递归过程查询:需逐级查询解析的递归过程,且指定localDNS。
dig 域名 @指定的localdns地址 +trace
查询域名使用的域名DNS服务器:可通过指定客户机IP,查询权威DNS返回的解析地址,来判断智能解析调度的精准度。
dig @权威DNS服务器域名 +subnet=指定客户机IP
4、在线工具检测:可以使用一些在线工具来检测全国各地运营商DNS的解析生效情况,如果查询结果与设置的解析地址相同则代表已生效,如果查询结果与设置不符,则需要运营商DNS缓存时间到期再进行测试。
四、常见问题解答
Q1: 为什么我的域名解析已经生效了,但是网站还是无法访问?
A1: 可能的原因有:网站服务器不可用;网站服务器域名及IP地址未备案(如果使用的是中国大陆节点的服务器),需要排查搭建网站的云服务器是否正确绑定域名,以及网站是否完成备案。
Q2: 我的域名解析不生效怎么办?
A2: 如果遇到域名解析不生效的问题,可以尝试以下方法进行排查:确认域名是否正确;确认本机的域名解析有关的设置是否正确(/etc/resolv.conf中nameserver的设置是否正确,如果没有,可以使用nameserver 8.8.8.8);/etc/hosts下面是否写死了域名解析;等待DNS刷新后重试;如果问题依旧存在,请联系您的DNS服务商进行排查与处理。