我们公司正在搬迁办公室,我们正在签约一家新的互联网提供商。我们在静态公共 IP 地址上自行托管网络和电子邮件服务器 - 这些需要移动到新办公室。我认为,如果我们在搬迁当天更新记录,那么我们将看到服务中断,直到记录更改传播到全球 DNS 服务器。
我们想关闭旧站点的服务器,并让人们立即重定向到新站点的服务器。是否可以在迁移之前使用我们的 DNS 服务设置记录,以便如果有人联系 www.mysite.com 并且旧 IP 地址的服务器没有响应,则使用第二个(新站点)IP 地址?
对于 MX 记录和 A 记录也有同样的问题。
需要指定什么特殊酱料?
答案1
您可以在搬家前几天将多个 IP 地址放入记录中,好的客户端(网站、邮件)会接受多个 IP 并逐个尝试。一旦您在新办公室安顿下来(使用新 IP),删除旧 IP
例子:
Define multiple MX records with the same priority:
; zone file fragment
IN MX 10 mail.example.com.
IN MX 10 mail1.example.com.
IN MX 10 mail2.example.com.
....
mail IN A 192.168.0.4
mail1 IN A 192.168.0.5
mail2 IN A 192.168.0.6
另一种方法是使用相同的邮件服务器名称定义多个 A 记录:
; zone file fragment
IN MX 10 mail.example.com.
....
mail IN A 192.168.0.4
IN A 192.168.0.5
IN A 192.168.0.6
ftp IN A 192.168.0.4
IN A 192.168.0.5
IN A 192.168.0.6
www IN A 192.168.0.7
IN A 192.168.0.8
更多信息请点击这里:
答案2
您可以先了解 DNS 的工作原理。DNS 记录不会“在全球范围内”传播,它们只会被请求它们的客户端缓存(并且只有那些客户端才会缓存。不查询您的 DNS 记录的客户端对您的 DNS 记录一无所知,除非他们查询,否则他们永远不会知道您的 DNS 记录)。
缓存的时间取决于记录的 TTL。在更改之前将 TTL 设置为合理的时间(例如 1 小时),当您进行更改时,最多会有 1 小时的不可用时间(但仅适用于已缓存记录的 DNS 客户端。尚未缓存记录的 DNS 客户端将在查询新记录时立即获取新记录)。
编辑
唯一会缓存 DNS 记录的名称服务器是那些客户端查询过 DNS 记录的名称服务器。所有其他名称服务器都完全不知道您的域是否存在。从技术上讲,您域的父服务器(gTLD 服务器)知道您的域,但它们不会“传播”您的 DNS 记录。当我的 DNS 客户端查询您的 DNS 记录时,我的 DNS 服务器会查询其中一个 gTLD 服务器以查找您的名称服务器,gTLD 服务器会告诉我的 DNS 服务器您的名称服务器是谁,然后我的 DNS 服务器会查询您的名称服务器以获取我的客户端查询的 DNS 记录。这些 DNS 记录缓存在我的 DNS 服务器和 DNS 客户端上,仅此而已。gTLD 服务器会缓存您的名称服务器记录,仅此而已。它们不会缓存您域的任何其他记录(可能除了 SOA 记录)。如您所见,除了您的名称服务器之外,没有其他名称服务器拥有您的区域的副本,也不会缓存您的任何 DNS 记录,除非它们的某个客户端查询这些记录。
答案3
您需要降低记录TTL
的价值DNS
。
假设,如果你当前的TTL
值是 12 小时。将该值减少到 5 秒左右。
一个问题:你们Name Server
在哪里。在这次办公室迁移期间,你们在哪里也会改变吗?或者办公室迁移后情况会一样吗?
来自评论 - 低 TTL 很有用,但一些 ISP DNS 服务器只是忽略低 TTL,并且只会低至一小时,尽管我见过有人说他们看到服务器忽略低于 24 小时的 TTL。
是的,有时确实如此。在这种情况下,如果您真的希望尽可能减少DNS
问题,请执行以下操作:
强制您的用户使用特定的良好开放 DNS 服务器并要求他们清除DNS
缓存。教他们如何更改服务器DNS
,或者您自己为他们或在办公室内进行更改。我假设您的网关设备可以通过 为您完成此操作DHCP
。因此,至少在办公室使用您的 Web 服务的人不会遇到DNS
这些问题。