近日多次发现国外的域名无法解析,甚至有些国内的不常访问的网站,也无法进行DNS解析。查了一下,发现国内访问根DNS,以及访问com/net域的权威NS,都大规模故障。如下在一台广东电信服务器上,运行一个shell命令,测试根DNS的解析情况:
$ dig . ns +short |sort |while read LINE;do if dig . soa @$LINE >/dev/null 2>&1;then echo $LINE OK;else echo $LINE fail;fi;done
a.root-servers.net. OK
b.root-servers.net. fail
c.root-servers.net. OK
d.root-servers.net. fail
e.root-servers.net. OK
f.root-servers.net. OK
g.root-servers.net. OK
h.root-servers.net. fail
i.root-servers.net. OK
j.root-servers.net. fail
k.root-servers.net. OK
l.root-servers.net. fail
m.root-servers.net. OK
我们看到,13台根DNS里,有5台无法解析。
再运行如下shell命令,测试com/net域的权威NS服务器解析情况。
$ dig com ns +short |sort |while read LINE;do if dig com soa @$LINE >/dev/null 2>&1;then echo $LINE OK;else echo $LINE fail;fi;done
a.gtld-servers.net. fail
b.gtld-servers.net. fail
c.gtld-servers.net. OK
d.gtld-servers.net. fail
e.gtld-servers.net. OK
f.gtld-servers.net. fail
g.gtld-servers.net. OK
h.gtld-servers.net. OK
i.gtld-servers.net. fail
j.gtld-servers.net. fail
k.gtld-servers.net. fail
l.gtld-servers.net. fail
m.gtld-servers.net. OK
这个情况就更严重了,13台com/net域的权威NS,有8台无法解析,故障率高达61.5%.
对于不常访问的域名,各地的递归服务器里没有缓存,会产生向上查询。而上一级的权威NS(如com/net域)、以及根DNS都大规模访问失败,从而导致域名解析超时,或无法解析。
继续阅读 →