DNS 更新新记录需要多长时间?奇怪的 DNS 行为!

DNS 更新新记录需要多长时间?奇怪的 DNS 行为!

我的个人网站在 freehostia 上,现在我已转移到其他服务器。已经过去将近一周了,当然,随着新主机的名称服务器发生变化,我通过 domain-register-company 对我的域名进行了必要的更改。

现在,当我尝试打开我的网站时,有时它会打开新的托管网站,有时它会打开旧网站上的 404 页面。

我认为 1 周,甚至 4 天对于 DNS 传播来说都是很长的时间。这是一种奇怪的行为吗?

当我从 IP 地址打开网站时,它会打开,但当我使用域名打开网站时,有时会打开,有时则不会。有什么线索吗?

我和两个朋友一起尝试过,他们从未访问过我的网站,所以他的机器上没有 DNS 缓存,其中一个可以打开,而另一个却打不开。谢谢

- 从http://Squish.net
25.0%查询将由 66.40.52.47 (dns1.freehostia.com) vks.uni.cc 返回。3600 IN A 66.40.52.64
25.0%查询将由 66.40.66.152 (dns2.freehostia.com) vks.uni.cc 返回。3600 IN A 66.40.52.64
25.0%查询将由 72.55.164.113 (ns1.softuff.com) vks.uni.cc 返回。14400 IN A 72.55.164.113
25.0%查询将由 70.38.29.161 (ns2.softuff.com) vks.uni.cc 返回。14400 IN A 72.55.164.113

我不明白这个 25% 是什么,为什么不是 100% 或 50%
dns1.freehostia.com 和 dns2.freehostia.com 是旧服务器。ns1.softuff.com 和 ns2.softuff.com 是新服务器。

答案1

我的回答这个问题有一个传播时间的概要,我将链接到它而不是在这里复制粘贴。

更具体地说,从您的问题来看,我觉得您的权威名称服务器尚未更新(或列出错误,因此查询了错误的名称服务器)。要查看您的本地 DNS 服务器正在为域使用哪些名称服务器记录,您可以使用类似dig <domain.tld> NS以下命令:

$ dig spillett.net NS
;; ANSWER SECTION:
spillett.net.           316     IN      NS      ns1.nogoodnamesareleft.com.
spillett.net.           316     IN      NS      ns2.nogoodnamesareleft.com.

然后,您可以检查它们是否都有该名称的正确地址:

$ dig @ns1.nogoodnamesareleft.com www.spillett.net
;; ANSWER SECTION:
www.spillett.net.       349     IN      CNAME   spillett.net.
spillett.net.           349     IN      A       69.94.124.51
;; AUTHORITY SECTION:
spillett.net.           349     IN      NS      ns2.nogoodnamesareleft.com.
spillett.net.           349     IN      NS      ns1.nogoodnamesareleft.com.
;; ADDITIONAL SECTION:
ns1.nogoodnamesareleft.com. 3499 IN     A       69.94.124.137
ns2.nogoodnamesareleft.com. 3499 IN     A       78.105.118.25

(对第一个查询返回的每个 NS 记录重复上述操作)

直接针对您的域名服务器的查询返回的 TTL 值应始终是区域记录中设置的实际值(在上面的例子中它们很低,因为该域名最近被移动了,我忘记在完成后将它们重新设置得更高),而对于非权威服务器(即您的默认本地名称服务器之一,如果 dig 没有给出指令,则会对其进行查询@<server>)的查询将是该服务器下次检查(针对作为域的 NS 记录列出的名称服务器)之前多长时间检查其缓存版本是否需要更新。

检查您域的上述测试可能会为您提供更多线索,让您了解问题的根源。如果您使用的是 Linux 并且没有dig,它通常位于名为的包中dnsutils(在 Debian 和 Ubuntu 上是这样称呼的,我假设其他发行版上也有类似的安排)- 毫无疑问,有许多移植到 Windows(这是 Google 返回的第一个相关页面) 虽然我自己从来没有使用过它们。

答案2

听起来您正在使用的 DNS 服务器正在缓存旧结果。

DNS 记录的缓存时间通常取决于 TTL(生存时间),但并非每个 DNS 服务器都遵守这一点。

还有一件事(也许很明显)...如果您使用旧 DNS 服务器进行查找...请确保已删除旧区域。:-)

如果它对您的两个朋友有用但对您不起作用,我建议更改您的计算机用于查找的 DNS 服务器......即使是暂时的。

我建议将您计算机的 DNS 查找服务器更改为类似 OpenDNS 的服务器……只是为了测试和查看。

http://www.opendns.com

208.67.222.222

208.67.220.220

如果这些都不起作用...请让我们知道您在哪个域名上遇到了问题,我相信这里会有人帮您调查并告诉您它是否已传播。

希望这可以帮助。

答案3

取决于 dns ttl 记录。一周听起来很长。尝试检查所有负责服务器的 dns 查询的答案是什么 - 例如访问http://www.squish.net/dnscheck/,输入您的域名,选择类型:ANY并运行检查。

也许其中一个涉及的服务器仍然返回旧记录。

答案4

只有在您更改注册商的记录时,更新时间才会超过 TTL。通常,注册商每 24 小时会更新记录一到两次。不过,通常这些记录会将您的域名指向您的 DNS 服务器。

如果您正在更新 DNS 服务器上的正常(A、PTR、CNAME 等)记录,并且它们正在运行绑定,则您应该能够执行“rndc reload domain.name”(或“rndc reload domain.name IN view”)来安排立即更新。

最后需要注意的是,浏览器会维护自己的缓存,以及操作系统的 DNS 客户端。我曾多次因为明显缺乏更新而感到沮丧,而我真正需要做的只是在 Windows 客户端上执行“ipconfig /flushdns”。

相关内容