现在差不多48小时,我们一直在经历A和CNAMElogging的零星DNS中断。 主要是通过在Windows上ping和nslookup来跟踪问题。
查找'www'(A),'img1'(CNAME),'store'(A)已经找不到(windows ping或nslookup说它只是找不到主机),而且我甚至看到一个在线DNStesting器一个NXDOMAIN响应。
我非常肯定,在DNS'链'的某个地方有一个caching的NXDOMAIN响应,现在仍然可以在46个小时后caching。
我甚至看到一个例子 – 使用nslookup – 我已经在5秒内对CNAMEloggingimg1.example.com 10次查询,并且在一秒之内从同一个verizon DNS服务器收到了负面和正面的回应。
就像我说的,现在已经发生了48个小时。 “停电”只发生几分钟,但从至less4个不同的地理位置/networking可见。
我认为这个不好的logging现在已经清除了,但是我希望find有问题的DNS服务器,我至less可以试着联系他们,或者找出是谁的错。
明显的问题的答案
我们是否应该在更改DNS提供商之前等待4天? 是否有某种工具可以跟踪DNS来自哪里,并find正在cachingNXDOMAIN响应的实际服务器 – 或者可能只是testing成百上千个DNS服务器的响应的服务?
我认为你可能有一个DNS的工作原理的概念性问题。
只有DNS服务器执行recursionparsingcaching查找。 受影响的用户在“verizon DSL,comcast电缆,verizon EVDO,site24x7网站”正在使用的DNS服务器是那些caching查找。
根DNS服务器,.com服务器和您的域的权威服务器不caching查找,因为它们不提供recursionparsing服务。
这可能(实际上,从我在Googlesearch中看到的情况来看),GoDaddy正在为您的域零星地返回NXDOMAIN,而这些NXDOMAIN正在被recursionparsing器caching。 (根据RFC2308 ,最多可以cachingSOA中指定的区域的TTL,或SOA最小值 – 以较小者为准)。
显然,GoDaddy的“免费”DNS服务不算太高。 我个人不使用它,所以我不能评论它。
没有提供recursion解决scheme的DNS服务器的中央“列表”“testing”。 (我家里有一个,如果需要的话,我可以在虚拟机上多做几个)。你需要一个可靠的提供商来为你的域名提供权威,而且你只需要希望其他人世界荣誉TTLs和“好DNS的公民”。
编辑:
“recursionparsing”是DNS服务器parsing不具有权威性的logging的过程。 该过程从根DNS服务器开始,并且通过查询中指定的域的所有权威DNS服务器recursion地(即,自身循环的过程)继续进行,直到到达最后的DNS服务器,并且期望的资源logging(或否定答复)返回。
对于三级查询,如“www.example.com”,会出现以下情况(我忽略了这一事实:ISP DNS服务器正在检查其caching而不是向远程DNS服务器发出查询并将收到的结果放入caching中,以使其更清晰,更简单):
您的PC向您指定的DNS服务器发出查询(例如,在您的ISP上)。
ISP DNS服务器validation它在caching中没有响应,然后查询其中一个根DNS服务器。
只有根权威的根DNS服务器才会响应查询中指定的通用顶级域名(.com,.net,.tv,.fu等)授权的DNS服务器列表。 协议继续如此,在整个过程中,全部查询总是被发送到每个连续的DNS服务器。 由于不可能知道哪个DNS服务器对于任何给定的查询是权威的,并且我们希望最小化往返次数,所以我们总是在每个查询中发送完整的域。
ISP DNS服务器查询为指定的gTLD授权返回的DNS服务器之一。
仅针对二级域名(例如,microsoft.com,example.com等)授权的gTLD DNS服务器以二级域名授权的DNS服务器列表作为响应。
ISP DNS服务器查询作为二级域的权威返回的DNS服务器之一。
第二级权威DNS服务器,为第三级域名(www.microsoft.com,ftp.example.com等),域返回所请求的logging。
ISP DNS服务器将您的PC查询到的logging返回给您的PC。
通常,ISP向客户提供recursionparsing服务。 托pipe提供商对于托pipe域名权威的DNS服务器通常不提供recursion服务(如果查询不符合权威的域,将返回根服务器)。
你真的需要解决问题的根源。 这是我会做的:
对有问题的域执行whois查询。
记下域名列出的名称服务器。
对whois中列出的每个名称服务器执行NS nslookup,并确保它们返回与whois列出的名称服务器相同的列表。
从步骤2查询每个名称服务器的问题的域名,并确保他们都返回正确的信息。 如果任何名称服务器返回一个NXDOMAIN响应,那么你已经find了罪魁祸首。
当您查询名称服务器时,没有列出whois中列出的任何名称服务器都需要从whois中删除。
相反,从ns nslookup返回的名称服务器中没有列出的whois需要作为名称服务器删除。