解决DNS传播问题

上周将mysite.com的域名注册传给namecheap,没有问题,但当时没有更改DNS。 大约12小时前,我尝试将DNS切换到namecheap nameservers(通过namecheap面板进行“简单”操作),然后创buildAlogging以指向与之前指定的域不同的IP地址。

通过whatsmydns.com检查传播,所有logging显示mysite.com指向新的IP地址,向我表明namecheaps DNS服务器正常工作。

奇怪的是,我无法通过mysite.com上的浏览器访问域名,它在芝加哥的桌面(作为RCN宽带用户)在这里超时。 “ping mysite.com”返回旧的IP地址,并挂起,这不是一个“正确”的结果与我的期望。

但是,如果我在NJ数据中心login到服务器时“curl mysite.com”,我会得到预期的响应(输出是预期的html),“ping mysite.com”看起来正确,显示最近更新的IP地址我期望。 最后,如果我进入uChicagonetworking并运行ping或curl,我会得到“正确”/预期的响应。

所以,我认为这是一个经典的DNS传播问题。 我知道这只是12个小时,但是我很缺乏经验:DNS,现在想知道是否有一些我错过了。

我满意地等待一下,但这有点小心。 所以希望我已经提供了足够的线索,比我更聪明的人可以确认它看起来像一个DNS传播问题,或者可以指向更多的方式来testing可能的错误。 谢谢。

编辑:调查这一点,这里是来自挖掘mysite.com @ a.root-servers.net“的输出:

编辑2:多项式指出,我没有留下@之前的空间,这给了不正确的结果。 我已经更新了查询,这里是新的结果。

; <<>> DiG 9.6-ESV-R4 <<>> mysite.com @a.root-servers.net ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 19132 ;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 13, ADDITIONAL: 13 ;; WARNING: recursion requested but not available ;; QUESTION SECTION: ;mysite.com. IN A ;; AUTHORITY SECTION: com. 172800 IN NS j.gtld-servers.net. com. 172800 IN NS b.gtld-servers.net. com. 172800 IN NS i.gtld-servers.net. com. 172800 IN NS a.gtld-servers.net. com. 172800 IN NS c.gtld-servers.net. com. 172800 IN NS e.gtld-servers.net. com. 172800 IN NS l.gtld-servers.net. com. 172800 IN NS d.gtld-servers.net. com. 172800 IN NS m.gtld-servers.net. com. 172800 IN NS g.gtld-servers.net. com. 172800 IN NS f.gtld-servers.net. com. 172800 IN NS h.gtld-servers.net. com. 172800 IN NS k.gtld-servers.net. ;; ADDITIONAL SECTION: a.gtld-servers.net. 172800 IN A 192.5.6.30 a.gtld-servers.net. 172800 IN AAAA 2001:503:a83e::2:30 b.gtld-servers.net. 172800 IN A 192.33.14.30 b.gtld-servers.net. 172800 IN AAAA 2001:503:231d::2:30 c.gtld-servers.net. 172800 IN A 192.26.92.30 d.gtld-servers.net. 172800 IN A 192.31.80.30 e.gtld-servers.net. 172800 IN A 192.12.94.30 f.gtld-servers.net. 172800 IN A 192.35.51.30 g.gtld-servers.net. 172800 IN A 192.42.93.30 h.gtld-servers.net. 172800 IN A 192.54.112.30 i.gtld-servers.net. 172800 IN A 192.43.172.30 j.gtld-servers.net. 172800 IN A 192.48.79.30 k.gtld-servers.net. 172800 IN A 192.52.178.30 ;; Query time: 3 msec ;; SERVER: 198.41.0.4#53(198.41.0.4) ;; WHEN: Fri Oct 14 01:04:16 2011 ;; MSG SIZE rcvd: 497 

然后从“挖掘mysite.com @ dns1.registrar-servers.com”(这是一个namecheap DNS服务器):

 ; <<>> DiG 9.6-ESV-R4 <<>> mysite.com @dns1.registrar-servers.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55527 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; WARNING: recursion requested but not available ;; QUESTION SECTION: ;mysite.com. IN A ;; ANSWER SECTION: mysite.com. 1800 IN A [IP ADDRESS THAT IS CORRECT] ;; Query time: 31 msec ;; SERVER: 69.16.244.25#53(69.16.244.25) ;; WHEN: Fri Oct 14 01:07:09 2011 ;; MSG SIZE rcvd: 57 

这听起来完全像TTL问题。 有几点,在你做实际的开关之前,你应该降低TTL。 通常,网站的DNS TTL可能很高,因此您可以减lessDNS请求的数量。 但是,在您需要进行更改之前几天,降低价值是个好习惯。

要诊断这一点,你只需要find你目前正在等待你的名字服务器的TTL。 你也可以查询一些其他stream行的parsing器,看看其他人可能会看到。 这里是挖掘命令:

 for i in 4.2.2.1 google-public-dns-a.google.com 10.4.1.11 do echo $i dig bo.lt @$i | grep ^bo.lt done 4.2.2.1 bo.lt. 43200 IN A 199.204.81.1 google-public-dns-a.google.com bo.lt. 49643 IN A 199.204.80.1 10.4.1.11 bo.lt. 81226 IN A 199.204.81.1 

这表明,对于域名bo.lt GTEI有43,000秒的logging,谷歌有49k,我的本地域名服务器有81,226秒。