我有一个关于在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,因为名称服务器查找仅在一小时内有效?
解决方法
在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分钟后,缓存的一个将在不联系您的权威NS的情况下返回.
但是在这一点上,如果解析器被问到foo.example.com,它将不得不做一个新的递归来找到你的NS RR,然后找到foo.example.com.