当遇到网站无法访问、解析记录不生效等异常情况时,可通过以下方法先对域名状态,再对解析记录生效情况进行排查。
使用域名检测分析
-
点击目标域后的域名检测。
-
在弹出框选择需要检测的解析记录。
弹出域名解析自助诊断对话框,顶部可输入主机记录和域名进行查询,下方列表显示当前域名下的所有子域名及最近修改时间,单击对应记录右侧的开始诊断即可开始检测。
诊断完成后,页面显示检测结果。若域名解析检测正常且已生效,会显示绿色提示信息。若服务仍不正常,可单击未解决反馈问题,或单击已解决, 关闭关闭对话框。
使用网络诊断分析
域名检测工具是阿里云DNS为用户提供的一款可视化且易用的域名解析生效查询工具,可以帮助您对域名、DNS、网站三大模块进行异常检测。
使用网络拨测工具
入口一:您可以直接访问网络拨测工具-DNS拨测,输入目标域名进行检测。
入口二:
-
点击目标域名后的解析设置,进入解析记录详情页。
-
找到目标解析记录,点击记录栏的生效检测。
效果展示
DNS拨测结果页面支持HTTP、PING、DNS、MTR、Traceroute等拨测类型,输入域名后单击立即拨测即可开始检测。拨测完成后,页面展示拨测结果摘要和拨测概况,其中概况区域包含全国各监测点的地图分布及各监测点的解析结果、解析用时等详细数据。
使用dig/nslookup命令查询
一般常用的命令查询方法是dig(信息详细,适合调试)或nslookup(Windows 默认支持)。
判断方法:DNS查询返回的结果如果和您在云解析DNS中设置的一致,则代表解析已生效。
如果不一致,则查看缓存时间,如果缓存未到期,请等待缓存到期后再进行测试。
如果缓存到期且结果不一致,参考解析不生效问题快速排查。
dig命令
1 . 最常用的查询命令
命令:dig 您的域名(示例:dig example.com)
$ dig example.com
; <<>> DiG 9.11.36-RedHat-9.11.36-16.0.1.al8 <<>> example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7585
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;example.com. IN A
;; ANSWER SECTION:
example.com. 10 IN A 96.7.128.175
example.com. 10 IN A 96.7.128.198
example.com. 10 IN A 23.192.228.84
example.com. 10 IN A 23.215.0.136
example.com. 10 IN A 23.192.228.80
example.com. 10 IN A 23.215.0.138
;; Query time: 0 msec
;; WHEN: Tue Feb 18 13:31:55 CST 2025
;; MSG SIZE rcvd: 125
2 . 根据记录类型进行查询,比如MX,CNAME,NS,PTR等,只需将类型加在命令后面即可。
命令:dig 您的域名 记录类型(示例:dig example.com NS)
$ dig example.com NS
; <<>> DiG 9.11.36-RedHat-9.11.36-16.0.1.al8 <<>> example.com NS
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29146
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;example.com. IN NS
;; ANSWER SECTION:
example.com. 10 IN NS b.iana-servers.net.
example.com. 10 IN NS a.iana-servers.net.
;; Query time: 0 msec
;; WHEN: Tue Feb 18 15:03:03 CST 2025
;; MSG SIZE rcvd: 93
解析未生效、或者未设置解析记录场景的示例(示例:dig example.com CNAME)。
$ dig example.com cname
; <<>> DiG 9.11.36-RedHat-9.11.36-16.0.1.al8 <<>> example.com cname
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39890
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;example.com. IN CNAME
;; AUTHORITY SECTION:
example.com. 5 IN SOA ns.icann.org. noc.dns.icann.org. 2025011545 7200 3600 1209600 3600
;; Query time: 143 msec
;; WHEN: Tue Feb 18 13:50:18 CST 2025
;; MSG SIZE rcvd: 94
3 . 指定域名DNS服务器测试解析是否生效的命令,以下以指定云解析DNS服务器和公共DNS服务器作为查询解析是否生效的示例演示。
云解析DNS服务器命令:dig 您的域名 @ns1.alidns.com (示例:dig example.com @ns1.alidns.com )
公共DNS服务器命令:dig 您的域名 @223.5.5.5(示例:dig example.com @223.5.5.5 )
$ dig example.com @ns1.alidns.com
; <<>> DiG 9.11.36-RedHat-9.11.36-16.0.1.al8 <<>> example.com @ns1.alidns.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32895
;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;example.com. IN A
;; AUTHORITY SECTION:
example.com. 600 IN SOA ns1.alidns.com. hostmaster.hichina.com. 2025021713 3600 1200 86400 600
;; Query time: 5 msec
;; WHEN: Tue Feb 18 15:22:09 CST 2025
;; MSG SIZE rcvd: 112
$ dig example.com @223.5.5.5
; <<>> DiG 9.11.36-RedHat-9.11.36-16.0.1.al8 <<>> example.com @223.5.5.5
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42292
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1408
;; QUESTION SECTION:
;example.com. IN A
;; ANSWER SECTION:
example.com. 67 IN A 96.7.128.175
example.com. 67 IN A 96.7.128.198
example.com. 67 IN A 23.215.0.136
example.com. 67 IN A 23.215.0.138
example.com. 67 IN A 23.192.228.84
example.com. 67 IN A 23.192.228.80
;; Query time: 1 msec
;; SERVER: 223.5.5.5#53(223.5.5.5)
;; WHEN: Tue Feb 18 15:16:32 CST 2025
;; MSG SIZE rcvd: 136
4 . 使用dig +trace参数,使用这个参数之后将显示从根域逐级查询的过程,trace查询可以看到根域、 顶级域、以及一级域名的权威服务器的地址,及其各自的返回结果,这样对于追踪DNS解析中的问题有很大的帮助。
命令:dig <您的域名> +trace(示例:dig example.com +trace)
$ dig example.com +trace
; <<>> DiG 9.11.36-RedHat-9.11.36-16.0.1.al8 <<>> example.com +trace
;; global options: +cmd
. 515049 IN NS j.root-servers.net.
. 515049 IN NS k.root-servers.net.
. 515049 IN NS a.root-servers.net.
. 515049 IN NS b.root-servers.net.
. 515049 IN NS c.root-servers.net.
. 515049 IN NS d.root-servers.net.
. 515049 IN NS e.root-servers.net.
. 515049 IN NS f.root-servers.net.
. 515049 IN NS g.root-servers.net.
. 515049 IN NS h.root-servers.net.
. 515049 IN NS i.root-servers.net.
. 515049 IN NS l.root-servers.net.
. 515049 IN NS m.root-servers.net.
;; Received 819 bytes from 100.100.2.136#53(100.100.2.136) in 1 ms
com. 172800 IN NS e.gtld-servers.net.
com. 172800 IN NS b.gtld-servers.net.
com. 172800 IN NS j.gtld-servers.net.
com. 172800 IN NS m.gtld-servers.net.
com. 172800 IN NS i.gtld-servers.net.
com. 172800 IN NS f.gtld-servers.net.
com. 172800 IN NS a.gtld-servers.net.
com. 172800 IN NS g.gtld-servers.net.
com. 172800 IN NS h.gtld-servers.net.
com. 172800 IN NS c.gtld-servers.net.
com. 172800 IN NS d.gtld-servers.net.
com. 172800 IN NS l.gtld-servers.net.
com. 172800 IN NS k.gtld-servers.net.
;; Received 839 bytes from 198.41.0.4#53(a.root-servers.net) in 2 ms
example.com. 172800 IN NS a.iana-servers.net.
example.com. 172800 IN NS b.iana-servers.net.
;; Received 326 bytes from 192.26.92.30#53(c.gtld-servers.net) in 2 ms
example.com. 86400 IN A 96.7.128.175
example.com. 86400 IN A 96.7.128.198
example.com. 86400 IN A 23.192.228.84
example.com. 86400 IN A 23.215.0.136
example.com. 86400 IN A 23.192.228.80
example.com. 86400 IN A 23.215.0.138
;; Received 134 bytes from 199.43.135.53#53(a.iana-servers.net) in 143 ms
5 . 获取 DNS 出口 IP,通过查询特殊域名返回客户端出口 IP(即本地 DNS 服务器对外的公网 IP),确认 NAT 或代理后的真实请求源地址(影响 CDN 调度)。
命令:dig +short TXT whoami.ds.akahelp.net
$ dig +short TXT whoami.ds.akahelp.net
"ns"
"47.xxx.xxx.14"
6 . 查询域名使用的域名DNS服务器。
命令:dig ns 您的域名(这里输入主域名即可)
$ dig ns example.com
; <<>> DiG 9.11.36-RedHat-9.11.36-16.0.1.al8 <<>> ns example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58283
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;example.com. IN NS
;; ANSWER SECTION:
example.com. 10 IN NS a.iana-servers.net.
example.com. 10 IN NS b.iana-servers.net.
;; Query time: 5 msec
;; SERVER:
;; WHEN: Tue Feb 18 16:09:33 CST 2025
;; MSG SIZE rcvd: 93
7 . 可通过指定客户机IP,查询权威DNS返回的解析地址,来判断智能解析调度的精准度。
命令:dig @权威DNS服务器 域名 +subnet=指定客户机IP(示例:dig @ns1.alidns.com example.com +subnet=10.10.10.10)
$ dig @ns1.alidns.com example.com +subnet=10.10.10.10
; <<>> DiG 9.11.36-RedHat-9.11.36-16.0.1.al8 <<>> @ns1.alidns.com example.com +subnet=10.10.10.10
; (9 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60880
;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; CLIENT-SUBNET: 10.10.10.10/32/24
;; QUESTION SECTION:
;example.com. IN A
;; AUTHORITY SECTION:
example.com. 600 IN SOA ns1.alidns.com. hostmaster.hichina.com. 2024120417 3600 1200 86400 600
;; Query time: 0 msec
;; SERVER:
;; WHEN: Tue Feb 18 16:19:41 CST 2025
;; MSG SIZE rcvd: 124
nslookup命令
1 . 查看本地DNS解析结果。
命令:nslookup <您的域名>(示例:nslookup example.com)
$ nslookup example.com
Server: xxx
Address: xxx#53
Non-authoritative answer:
Name: example.com
Address: 23.192.228.84
Name: example.com
Address: 23.215.0.136
Name: example.com
Address: 23.192.228.80
Name: example.com
Address: 23.215.0.138
Name: example.com
Address: 96.7.128.175
Name: example.com
Address: 96.7.128.198
Name: example.com
Address: 2600:1408:ec00:36::1736:7f31
Name: example.com
Address: 2600:1408:ec00:36::1736:7f24
Name: example.com
Address: 2600:1406:bc00:53::b81e:94ce
Name: example.com
Address: 2600:1406:bc00:53::b81e:94c8
Name: example.com
Address: 2600:1406:3a00:21::173e:2e66
Name: example.com
Address: 2600:1406:3a00:21::173e:2e65
2 . 指定公共DNS,查询解析生效情况。
命令:nslookup 您的域名 公共DNS(以云解析公共DNS服务器为示例:nslookup example.com 223.5.5.5)
$ nslookup example.com 223.5.5.5
Server: 223.5.5.5
Address: 223.5.5.5#53
Non-authoritative answer:
Name: example.com
Address: 23.192.228.84
Name: example.com
Address: 23.215.0.138
Name: example.com
Address: 23.215.0.136
Name: example.com
Address: 23.192.228.80
Name: example.com
Address: 96.7.128.175
Name: example.com
Address: 96.7.128.198
Name: example.com
Address: 2600:1406:3a00:21::173e:2e65
Name: example.com
Address: 2600:1406:bc00:53::b81e:94ce
Name: example.com
Address: 2600:1408:ec00:36::1736:7f24
Name: example.com
Address: 2600:1406:3a00:21::173e:2e66
Name: example.com
Address: 2600:1406:bc00:53::b81e:94c8
Name: example.com
Address: 2600:1408:ec00:36::1736:7f31
3 . 根据记录类型进行查询,比如MX,CNAME,NS,PTR等
命令:nslookup -type=记录类型 你的域名(示例:nslookup -type=NS example.com)
$ nslookup -type=NS example.com
Server: 100.100.2.136
Address: 100.100.2.136#53
Non-authoritative answer:
example.com nameserver = b.iana-servers.net.
example.com nameserver = a.iana-servers.net.
Authoritative answers can be found from:
4 . 查看域名在指定权威服务器上的解析结果。
命令:nslookup 您的域名 权威服务器(示例:nslookup example.com ns1.alidns.com)
$ nslookup example.com ns1.alidns.com
Server: ns1.alidns.com
Address: 120.76.107.55#53
*** Can't find example.com: No answer