非权威名称服务器可以给出它想要的任何回应吗?

非权威名称服务器可以给出它想要的任何回应吗?

我们的域名注册商允许我们使用自己的 DNS 服务器,也可以使用他们的 DNS 服务器(在他们的 Web 界面中配置 DNS 条目);我想这是一种常见的情况。

我们选择设置自己的 DNS 服务器。现在,注册商的 DNS 服务器(不再具有权威性)返回的响应包含A指向其提供的网络托管服务的“入门”网页的记录等条目。因此,实际上他们的 DNS 服务器返回了错误的信息。

DNS 查询和答案示例

为了使这一点更容易理解,我们假设:

  • 我已example.com在 MyRegistrar.com注册
  • 我已经将其设置ns1.mydomain.comexample.com
  • ns1.myregistrar.com是 MyRegistrar.com 的名称服务器之一
  • example.com在服务器上托管该网站,地址为1.2.3.4
  • MyRegistrar.com 的“入门”登录页面来自9.8.7.6

预期的有效响应dig -t any example.com如下(节略):

;; ANSWER SECTION:
example.com. 99999  IN  A   1.2.3.4.

;; AUTHORITY SECTION:
example.com. 9999   IN  NS  ns1.mydomain.com.

;; ADDITIONAL SECTION:
ns1.mydomain.com.   99999   IN  A   1.2.3.1.

但是,当使用查询MyRegistrar.com时dig -t any @ns1.myregistrar.com example.com,我收到以下无效响应:

;; ANSWER SECTION:
example.com. 99999  IN  SOA ns1.myregistrar.com. 1 14400 3600 604800 3600
example.com. 9999   IN  A   9.8.7.6.
example.com. 99999  IN  NS  ns1.myregistrar.com.

;; ADDITIONAL SECTION:
ns1.myregistrar.com.    600 IN  A   9.8.7.1.

当专门使用 查询MX记录时dig -t mx @ns1.myregistrar.com example.com,我甚至在响应中得到了一个权威部分(由于没有MX记录,所以答案部分是空的):

;; QUESTION SECTION:
;example.com.   IN  MX

;; AUTHORITY SECTION:
example.com. 3600   IN  SOA ns1.myregistrar.com. 1 14400 3600 604800 3600

包起来...

当然,这在实践中没有问题,因为正常的 DNS 查询不会针对ns1.myregistrar.com。但有趣的是,MyRegistrar.com 的名称服务器是否按照 RFC 运行?

我浏览了文档和 RFC,以了解 DNS 服务器需要/允许在其响应中包含哪些信息(特别是如果允许它们完全偏离权威响应),但未能找到任何相关信息。如能提供任何指示,我将不胜感激。

答案1

除非实施 DNSSEC,否则无法证明任何 DNS 响应包含准确的数据。

“权威”是以下各项的组合:

  • 服务器认为它拥有 DNS 区域的完整副本(即它是该区域的主服务器或从服务器,而不仅仅是递归缓存)
  • 父 DNS 区域将您的 DNS 区域/域的权限委托给您的服务器(这是您的注册商的 Web 界面控制的)
  • 区域本身包含指向该服务器的 SOA 记录
  • 包含主服务器和从服务器的 NS 条目的区域,其中托管该区域的完整副本

如果服务器认为它具有权限,但是 DNS 基础设施没有该区域该服务器的任何记录,则不应对其进行任何查询 - 因此不正确的记录并不重要 - 只要您不使用该提供商内的任何托管,这些托管可能会被硬配置为使用他们自己的 DNS 服务器。

相关内容