0 domain-name-system dns-hosting amazon-route53
我们有一个使用 Route 53 作为 DNS 提供商的域。我们对不再存在的记录有很多查询。我认为这将是一个好主意,设置一个包罗万象的纪录高TTL,例如:*.example.com -> 1.1.1.1。这意味着所有没有现有记录的 DNS 查询都将具有很长的 TTL。问题是,现在当我创建一个新记录并使用https://www.whatsmydns.net/检查传播时,一些服务器会返回,1.1.1.1而另一些会返回真实的 IP 地址。这是一个好习惯吗?
谢谢
在没有与这些地址的所有者达成某种协议的情况下,将您的 DNS 记录指向其他人的 IP 地址绝不是一种好的做法。
此外,拥有*记录通常不是一个好主意。有一天,您可能会遇到这样的情况,您确实需要 NXDOMAIN 对某些名称的响应,如果存在*记录,这会变得有点棘手。此外,*在您的区域中存在记录意味着您很容易忘记您一直依赖该*记录的实际名称。这最终意味着很难*用单独的名称记录替换记录,因此您可能会遇到次优配置。
此外,正如您注意到的,高 TTL 意味着您所做的更改需要很长时间才能生效。这就是 NXDOMAIN 响应(通过 SOA 记录指定)的 TTL 通常相当低的原因。
此外,*记录可能不会像您想象的那样减少查询。一个没有*记录的区域有一个天文数字不存在的名字。没有递归者会为每个可能的 63 个字符的子域缓存一个单独的条目。因此,对不存在的名称的查询可能会产生无穷无尽的查询流,而缓存单个名称永远不会减少。
另一种选择是使用 DNSSEC 对您的区域进行签名。随着RFC 8198 DNSSEC的引入,DNSSEC 允许递归者根据涵盖整个名称范围的缓存条目使用 NXDOMAIN 进行响应,而不是每个缓存记录仅包含一个名称。
如果您从支持RFC 8198的递归器收到大量对不存在名称的查询,那么您可以通过对您的区域进行签名来减少这些查询。
具体来说,RFC 是这样说的:
如果验证解析器的否定缓存有足够的信息来验证查询,解析器应该使用 NSEC、NSEC3 和通配符记录来合成本文档中描述的答案。否则,它必须回退以将查询发送到权威 DNS 服务器。
| 归档时间: |
|
| 查看次数: |
568 次 |
| 最近记录: |