缓存

缓存

针对特定域运行该命令dig,返回先前的名称服务器详细信息。例如;

domain.com.     41068   IN  NS  ns1.nameserver1.com.

现在,如果我运行该命令dig +nssearch host.example.com,然后运行命令“dig domain.com”,我会得到不同的结果。

domain.com.     41068   IN  NS  chad.ns.cloudflare.com.
  • 这是为什么?
  • dig domain.com如果我多次运行 dig 命令,它会返回之前的名称服务器详细信息。这是为什么?

编辑

名称服务器详细信息已更改,但是在同一时间窗口内运行命令会产生不同的结果。

答案1

缓存

您的系统用作解析器的名称服务器(/etc/resolv.conf)应该缓存 DNS 响应。

通过使用此+nssearch开关,您可以绕过解析器(在名称服务器术语中也称为递归名称服务器)的缓存记录,直接查询权威 DNS 服务器,并获得不来自缓存的记录。
如手册中所述:

+[no]recurse切换查询中的 RD(需要递归)位的设置。此位默认设置,这意味着 dig 通常会发送递归查询。使用 +nssearch 或 +trace 查询选项时,会自动禁用递归。
+[no]nssearch设置此选项后,dig 会尝试查找包含所查找名称的区域的权威名称服务器,并显示每个名称服务器对该区域的 SOA 记录。

额外的复杂因素可能是您的解析器不是单个服务器,而是一组递归 DNS 服务器,每个服务器都有不同的缓存和/或新记录。

相关内容