DNS更改将花多长时间

如果我要将DNS更改为我的域的Alogging(从一个IP更改为另一个),我可以期待多久,直到人们转移到新的信息? 它仅仅是<= TTL? 我知道过去需要一段时间,但在2009年我应该期待多久?

理论上,每个人都应该在瞬间和相关的TTL值之间看到更新的Alogging。 大多数注册商将TTL设置为24小时IIRC,因此在24小时内,有些人会看到旧地址,有些人会看到新的地址,在改变后的24小时之内,每个人都应该有新的地址, 4个小时。

如果你可以改变TTL值(即像你一样运行你自己的DNS服务器),那么你可以在你做出改变之前将TTL降低到某个小的时间,所以传播时间要短得多。

我上面说的是“理论上”,因为总会有一些错误,小故障和configuration不当的caching,这就意味着有些用户看不到更长的时间。 如果您使用非常小的TTL,尤其如此,因为仍有一些ISP在那里使用忽略低于给定值的TTL的DNScaching。

另外要注意的是注册商的DNS控制面板和他们的DNS服务器之间的延迟。 例如,我注意到,对由123-reg.co.ukpipe理的域进行的更改可能需要一个小时才能显示在他们的DNS服务器上,这是TTL值之上的额外一小时,您必须考虑。

这取决于客户端根据TTL值cachingDNS信息的时间。 但是,由于客户端决定caching信息需要多长时间,因此不能确定(毕竟客户端可以手动parsing,因此完全忽略TTL)。

当我知道我正在提前几天进行IP地址更改时,通常会将我的TTL值降低到比通常情况下更低的水平。 这样,当我做到这一点时,变化传播得更快。 然后,我再次踢TTL。

它通常<= TTL,但是一些客户端和DNS代理caching比TTL更长的旧设置。

同意迈克。 我们通常告诉我们的客户24-48小时在全世界传播给所有ISP。 大多数主要的ISP都很荣幸TTL和更新。 一些更偏远的地点需要更长的时间。 祝你好运!

出于实际的目的,所有的DNS服务器都会在瞬间和Alogging的TTL值之间看到Alogging的变化。 维基百科的文章在这个问题上有一个很好的写作。

由于路由器,防火墙,操作系统和应用程序中的本地DNScaching,单个应用程序可能看不到TTL内的更改。 正如维基百科文章中提到的:“这些caching通常使用非常短的caching时间 – 大约一分钟,Internet Explorer提供了一个明显的例外:最近的版本cachingDNSlogging半个小时”

重新启动(或路由器的电源循环)通常会刷新所有本地DNScaching,但很显然,在更改Alogging后,您不能指望每个用户在那里重新启动每个设备。

如果您不能直接更改您的Alogging,则任何应用程序进行更改(例如控制面板软件)都可能会导致延迟。

我们使用4小时的默认TTL。 如果我们打算更改Alogging,则将Alogging的TTL降低到5分钟(必须在更改前4个小时内完成)。 改变之后,我们把TTL放回到4小时。 大多数应用程序立即看到更改,但是一些用户会遇到问题并需要重新启动。

维基百科的文章也对“传播”有一个很好的讨论:“很多人不正确地提到一个神秘的48小时或72小时的传播时间,当你进行DNS更改……”。 根服务器(而不是注册商)控制您的域的NSlogging上的TTL。 您可以使用nslookup命令查看这些TTL值。 现在,现在,“F”根服务器上的NSlogging的TTL被设置为2天。

我总是告诉我的用户,为了弥补上面提到的所有问题,完全传播需要48小时。 需要记住的一般规则是<= TTL,除非您真的需要它。

除了TTL( 控制的东西,请参阅Brian Clapper的出色build议)以及在某些应用程序中可能需要更长的caching时间之外,授权名称服务器之间也存在同步时间。 如果每个名称服务器都接收到NOTIFY,那么它可能接近于零,如果错过了一个NOTIFY(有时会发生某些事情),它可能是几个小时(取决于SOAlogging的设置)。

所以,强调Brian Clapper的build议:提前计划。

如果你在说Windows,而你在说内部的话,这取决于原来的TTL。 当我们提前知道我们要改变的时候,我们会把TTL的logging设置为低至5分钟。 然后,一旦做出改变,我们将TTL增加回更正常的数量。

如果你在互联网上谈论,所有的赌注都是closures的。 正如已经提到的,有一些caching域控制器完全忽略了TTL。 在这种情况下,我们已经有了48小时的一般规则。 但是,如果您的域名以前由其他提供商托pipe,并且没有摆脱域名上的SOA,那么使用其DNS服务器的任何客户端仍然会被指向错误。 我们已经看到了南方贝尔(现在的AT&T)的这个问题。

我已经平均看到大多数人3-4小时。 但是,我仍然使用7天作为一个完整的转换的经验法则。 这通常涵盖所有不擅长DNS TTL的人

我的经验是,DNS更改可能需要八个或更多的时间,但这一切都取决于客户端将caching他们的DNS设置多长时间。

大多数客户将使用您设置的TTL。 但是有一些DNS服务器被configuration为忽略TTL。 我最近更改了我们网站的IP地址。 为了响应请求,我们不得不离开服务器并在旧IP地址上运行数周。 我们必须弄清楚剩下的客户,并要求他们清理DNScaching和/或重新启动,以使其脱离旧的IP。

它可能比(被replace的)logging的TTL更大:许多客户端在TTL太低时忽略TTL,或者将其绑定到某个其他值(如一个小时)。 还有其他的caching; Firefox(例如) 会caching一分钟的DNS (忽略TTL),但是一些补丁/configuration会把这个提升到一个小时。

可悲的(但是是真的)答案取决于谁在问你的(DNS)答案。