在名称服务器 (NS) 记录上设置较低的 TTL 是否会导致其他记录上的 TTL 降低?

在名称服务器 (NS) 记录上设置较低的 TTL 是否会导致其他记录上的 TTL 降低?

我对在 NS 记录上设置 TTL 有疑问。以下是示例:

example.com. 3600  NS ns1.example.com.
example.com. 3600  NS ns2.example.com.
test         14400 A  example.com.

因此,在此示例中,名称服务器记录的 TTL 设置为 1 小时,而 test.example.com 的 TTL 为 4 小时。

这是否意味着 test.example.com 实际上具有 1 小时的 TTL,因为名称服务器查找仅在一小时内有效?

答案1

在 DNS 上下文中,TTL 定义资源记录 (RR) 可被任何解析器缓存的持续时间。

NS RR 是有时称为区域基础设施记录的一部分。基础设施 RR(包括 SOA、NS 和 MX RR)的独特之处在于它们返回其他名称而不是地址,因此它们应该是稳定的,并且为了最大限度地减少 DNS 访问,它们可以并且应该具有非常长的 TTL(几天和几周)。

如果想要覆盖默认值,请为某个 RR 指定 TTL。

根据您的记录配置;

在解析器第一次递归时:

每条NS记录都会缓存1个小时,test.example.com则会缓存4个小时。

假设 30 分钟后,同一个解析器被要求提供 test.example.com 记录,则将返回缓存的记录,而无需联系您的权威 NS。

假设 120 分钟后,同一个解析器被要求提供 test.example.com 记录,则将返回缓存的记录,而无需联系您的权威 NS。

但是此时如果向解析器询问有关 foo.example.com 的信息,它将必须执行新的递归来查找您的 NS RR,然后找到 foo.example.com。

答案2

我知道有点晚了,但我正在尝试做同样的事情,我遵循的方法是增加我的重要子域的 TTL,因为它们的 CNAME 记录没有变化,我将减少我的 NS 记录的 TTL 并进行迁移,并将验证是否与不太重要的子域一起工作。这样,如果我的 NS 记录出现任何问题,我应该能够在它影响我的关键子域之前对其进行故障排除。

相关内容