询问谁给出了答案
两个DNS查找可能会不一致,而不会损坏任何一个工具。人们可以向权威服务器询问该区域的当前数据;另一个可能会询问持有较早答案的递归解析器。有用的身份验证调查记录了生成每个观察结果的路径,而不是将来自任何查找站点的绿色检查视为域的最终状态。
权威服务器从其服务的区域进行应答。递归解析器代表客户端工作,咨询其他服务器或重用缓存的信息。存根解析器通常将问题传递给递归服务。同一软件可以执行多个角色,因此请确定这一特定响应的角色,而不是依赖产品名称。 RFC 1034 ,第 4.3.1 和 5.3.1 节.
当新发表的文章时,这种区别很重要 DKIM选择器 出现在DNS主机的工具中,但验证者仍然无法使用。权威机构可以确定服务器当前服务的内容;递归结果有助于解释接收路径可能看到的内容。两种观察都不能代替另一种观察。
在选择端点之前建立委托
从消息或服务说明所暗示的确切所有者和类型开始。跟随代表团前往负责该所有者的区域。子区域可以拥有与父区域不同的权威服务器,并且提供者别名可以再次进入不同的区域。旧票证上显示的DNS主机可能不再是委派主机。 RFC 1034 ,第 4.2.1–4.2.2 节.
准备一份权威服务器名称及其地址列表,然后直接查询相关服务器。保留联系的地址。如果不同的机构返回不同的记录,请首先调查DNS发布或区域服务问题。解析器可以合法地遇到任何可用的权限;选择具有所需答案的服务器并不能解决不一致问题。
跟踪可以帮助检查委托路径,但它是单独的观察。它不会重现接收者的缓存路径、转发配置、源网络或 DNSSEC 验证行为。将跟踪标记为跟踪,而不是将其呈现为邮件提供商的查询历史记录。
解释标志及其限制
AA 标志标识DNS响应中的权威答案。 RD 记录请求递归; RA 通告递归可用性。 RD 和 RA 并不证明服务器对此响应执行了新的查找。递归服务器可以满足缓存中的请求。 RFC 1035 ,第 4.1.1 节.
对于直接权限检查,请求不递归并检查实际回复。没有 AA、推荐、拒绝或超时的回复需要解释;仅服务器地址并不能使每个回复具有权威性。在出现别名的地方,使每个所有者和目标保持可见,并确定哪个区域提供最终数据。对别名所有者的权限不会自动建立对其目标的权限。
保留完整的问题、答案和权威部分。仅打印TXT字符串的命令隐藏了区分旧缓存数据、引用、别名和缺席响应所需的上下文。保存完整诊断记录后,短输出有助于快速读取。
比较一对虚构的解析器观察结果
想象一个虚构的选择器 blue._domainkey.example.com。世界标准时间 10:00,两个相关的权威服务器返回新的公钥记录。在 10:02,解析器 A 返回还剩 420 秒的旧密钥,而解析器 B 返回新密钥。这些时候,结果和 TTL 是为了说明推理而发明的;没有进行网络测量。
该模式与不同的缓存历史一致,但仅观察并不能证明原因。检查所有问题是否使用相同的名称、类型和类,是否记录了服务器端点,以及是否没有拆分视图或转发策略更改答案。如果Resolver A稍后从不一致的权限刷新,仅仅等待可能无法解决问题。
拟议的事件说明将指出:“抽样当局就新密钥达成一致;解析器 A 仍返回旧密钥;尚未观察接收器结果。”它不会声明每个接收器都已更新或身份验证现在已通过。在协调的轮换计划下保持旧公钥的可用性和发件人的签名转换,而不是删除记录以使查找屏幕看起来整洁。
将数据问题与可达性问题分开
递归SERVFAIL并不能证明 一个记录 缺席。权威机构可能无法访问,委托可能会失败,或者DNSSEC验证可能会阻止解析器接受答案。来自一台服务器的直接回答缩小了调查范围,但并不能证明所有依赖项对于递归解析器都是健康的。
交通也很重要。 DNS需要 TCP 支持,截断的 UDP 响应可能需要 TCP 重试。比较建议的 挖掘@AUTH_IP blue._domainkey.example.com 。 TXT +norecurse 使用相同的查询 +TCP 当涉及运输时。不要仅仅为了让测试通过而改变防火墙或安全设置;让负责的操作员检查诊断的路径。 RFC 7766 ,第 5–6 节.
使比较具有可重复性
每个查询使用一个工作表行:UTC 时间戳、操作员位置、服务器端点、递归选择、所有者、类型、类、响应代码、标志、记录、TTL 和传输。按记录的时间间隔重复选定的观察结果并保留较早的行。 DNS缓存会不断发展,因此覆盖第一个结果会删除有用的计时证据。
通过受影响的发送者完成受控消息,并保留身份和受信任的接收者结果。 DNS比较可以解释依赖关系;它无法演示收件箱位置或特定接收者的内部查找。本文提供了建议的工作流程和虚构的比较。在关闭其目录证据门之前,仍然需要原始的带时间戳的权威和递归答案。