当我通常更新 DNS(“A”记录)时,我会允许较长的时间让更改在整个根名称服务器中传播。
我是否需要对 CNAME 记录的更新和更改做出同样的考虑?
答案1
不,您不需要,因为 DNS 记录不会传播。您需要允许的是,根据相关记录的 TTL,任何缓存的记录都会过期。
如果这是一条新记录,则不会发生缓存,因此新记录应该可用并且应立即解析。
此外,根服务器(第一级; .)不托管任何第三级域名的 DNS 区域或记录。根服务器知道哪些名称服务器负责 gTLD 区域(第二级; .com、.edu 等),而这些名称服务器又知道哪些名称服务器负责您的区域(第三级;您的公司),而这些名称服务器又保存着您的区域文件的副本。除了您的名称服务器之外,没有其他 DNS 服务器保存着您的区域文件或 DNS 记录的副本。
。
串口
你的公司
答案2
[编辑- 看来我误读了这个问题]
您的区域数据有两种“传播”方式。根服务器不直接参与。它们允许其他计算机找到您的服务器,从而找到您的区域数据。但其他系统会在到达您的服务器之前检查根服务器和顶级域名服务器。
您的数据如下做传播。
首先,您将数据推送到您的权威服务器,其中一些服务器可能会使用(增量)区域传输来相互更新。这可能需要REFRESH
区域的时间才能完成。
其次,您所在区域中的每个记录,包括任何事物,包括A
和CNAME
记录,可能会被缓存在您的权威服务器和任何客户端之间的任何地方。
数据缓存的时间长短取决于记录的个体TTL
(生存时间)。理论上,缓存条目超时的时间不应超过区域刷新和记录生存时间的总和。但是,市面上有很多不同的软件。谷歌搜索dns ttl bugs
- 我上次统计的数据大约是 850k。
但是,您可以让 www.example.com 的 CNAME 记录指向类似 的内容www-server.dynamic.example.com
,并将内部内容的 TTL 和刷新时间设置
dynamic.example.com
为比父级低得多的值。这允许运营商在需要时快速将流量重定向到其他基础设施。