![MX 记录传播](https://linux22.com/image/580871/MX%20%E8%AE%B0%E5%BD%95%E4%BC%A0%E6%92%AD.png)
MX 记录更改需要多长时间才能传播?MX 记录 TTL 是传播所需的最长时间吗?还是我们还需要等待所有 DNS 记录传播?
我们正在将邮件服务器从 Exchange 2003 更改为 Exchange Online。我们当前的 MX 记录(在 Network Solutions)具有 1 小时和 2 小时的 TTL(分别为主 MX 和备份 MX)。当我们将 MX 记录更改为指向 Exchange Online 时,全球所有 MX 记录是否应在 2-4 小时内更新,还是应该假设 DNS 传播需要传统的 48 小时?
我假设一旦所有 MX 记录传播,所有新收到的电子邮件都将被定向到新服务器。
答案1
你是对的,你的 TTL应该导致所有网站在 2 小时内升级。但是,在 ISP 工作多年后,我可以证明许多大型和重要的网站会忽略 TTL,并且无论如何都会缓存 24-48 小时。因此大多数网站都会在您的 TTL 内发生变化……但有些烦人的网站会花几天时间。我曾经看到一个 DNS 花了 7 天时间才读取一条新记录(我每天都查询它,直到它最终更新)。
一些网站会忽略 TTL。对此你无能为力,只能祈祷那些对你/你的客户来说很重要的网站不在其中。
答案2
MX 记录传播需要整整 0 秒...因为 DNS 记录不会传播。
您需要考虑的是 MX 记录和相应 A 记录的 TTL 有多长。这将决定已解析 MX 和 A 记录的 DNS 客户端将在其 DNS 缓存中保留该信息多长时间(该缓存位于 DNS 客户端及其相应的 DNS 服务器上)。
所有尚未解析 MX 和 A 记录的 DNS 客户端将查询您的名称服务器并立即获取新的 MX 和 A 记录,因此不会发生 TTL 缓存延迟。
编辑:
我的目的不是要引发关于“传播”一词的定义及其与 DNS 的关系的语义争论,我只想说,只有从您的 DNS 区域请求信息的 DNS 客户端才能获得该信息,而无需过多地讨论这一点。DNS 客户端生活在泡沫之中。除非它要求,否则它对您的 DNS 一无所知。即使您认为 DNS 客户端的 DNS 服务器可以将信息提供给其他 DNS 客户端,但它在被要求这样做之前不会这样做。DNS 信息不会传播或传播给任何不要求它的 DNS 客户端。一旦 TTL 过期,信息就会从 DNS 缓存中清除,除非该客户端发出新请求,否则永远不会再被看到或使用。它除了将信息保存在自己的缓存中之外,不会对信息做任何其他事情。同一 DNS 服务器的其他 DNS 客户端查询相同的信息时,将通过请求从 DNS 服务器获取信息,而不是通过 DNS 服务器传播或传播信息。
我们可以争论一下“传播”这个词,因为它与 DNS 相关,是一个定义宽泛的术语,当我们说“传播”时,我们实际上都是指缓存,但归根结底,这是对该词的错误使用,暗示了一种未被采用的机制,并且正如您的问题所证明的那样,这种机制被误解了,因此“传播”了对 DNS 工作方式的误解。
无论您或我认为传播这个词的含义是什么,在您的问题上下文中使用它都是不正确的。
答案3
是的,它应该是您的 TTL 设置,如果所有 DNS 服务器都是标准的并且遵守这一点,但情况并非总是如此。
您可以使用类似的工具http://www.digwebinterface.com/但是,要验证传播。
答案4
是的,传播应该是您列出的 TTL。例如,查看有关切换到 Postini 的 Google 文档:
http://www.google.com/support/enterprise/static/postini/docs/admin/en/activate/mx_faq.html#967012
如果您要切换邮件服务器,您可以考虑在截止时间前几个小时将当前 TTL 更改为较小的值(例如 300 秒),然后将其恢复。在这种情况下,您将对权威 DNS 服务器施加更高的负载。