对于 DNS,委派、转发、条件转发和存根区域之间有什么区别?

对于 DNS,委派、转发、条件转发和存根区域之间有什么区别?

我很惊讶我曾用如此多不同的方式读过这个问题的答案,但我仍然不知道答案的细微差别。

对于每个类似的 DNS 概念:

  • 代表团
  • 转发
  • 有条件转发
  • 存根区域

我想要一个典型查询生命周期的逐步布局,最好是“快乐路径”(查询成功)和“悲伤路径”(由于相关配置错误导致查询失败)。

在每个步骤中:

  • “谁”(或什么)参与?(例如权威服务器?缓存服务器?双重用途服务器?客户端?例如首选域名/IP)
  • 查询中发送的原始信息是什么?(即域名?IP?它是谁的?在此步骤中,它从哪里发送到哪里?)
  • 信息存储了什么?存储在哪里?(例如,服务器仅存储某些记录)

我更喜欢嵌入重要细节的图片。

最后,最好能总结一下为什么使用每个概念/方法而不是其他的。

答案1

Watki02,

这要求有点高。我试着回答你的问题,但我觉得你可能需要做更多的研究 ;)

您问的不是一个问题,而是一个有关 DNS 如何工作的课程。

我没有提供图片,但如果你读了我的回答,你应该很容易就能制作出来。

代表团

以 domain.com 为例。为了便于讨论,您使用 GoDaddy 注册了 domain.com。您有一个由另一家公司托管的网站。您的网站是 www.domain.com。

您已决定希望您的区域文件由托管您的网站内容的同一公司托管。

默认情况下,您的区域文件托管在注册域名的地方。为了让托管您网站内容的服务器托管您的区域文件,您需要登录 GoDaddy 并配置 DNS 委派。这将要求您输入托管您网站内容的公司提供的名称服务器的完全限定域名 (FQDN)。

当有人查询 www.domain.com 时,请求将发送到 GoDaddy,GoDaddy 会提示您需要联系托管网站内容的公司的名称服务器。GoDaddy 会提供名称服务器的记录。

然后查询从指定的名称服务器获取信息。

转发

DNS 转发是配置了转发的 DNS 服务器所执行的操作。

为了便于讨论,我们假设您的内部域名是 network.com。如果您网络中的计算机请求 server.network.com,则您办公室中的 DNS 服务器(即 network.com 的权威服务器)将解析该请求。如果您网络中的计算机请求 www.example.com,则该请求将首先发送到您办公室中的 DNS 服务器,DNS 服务器会说,我没有 example.com 的任何信息,因此您需要转到外部 DNS 服务器。外部 DNS 服务器是转发器。

因此,您办公室中的 DNS 服务器 (ns.network.com) 管理 network.com 的区域文件。如果对域 network.com 中的某个内容发出请求,ns.network.com 将进行解析。如果对 ns.network.com 不管理的区域发出请求,则 ns.network.com 会说我对您需要记录的域一无所知,但这是您需要从中获取记录的 DNS 转发器。因此,如果 Google 是您的 DNS 转发器,则请求将被转发给 Google。然后,Google 将处理解析请求并提供响应。

有条件转发

条件转发与转发类似,不同之处在于它不会将 DNS 服务器无法解析的所有 DNS 请求转发到外部 DNS 服务器,而是仅转发特定域的 DNS 请求。

假设您的办公室有一台 DNS 服务器 (ns.network.com),并且它有一个 DNS 转发器 8.8.8.8(这是 Google 公共 DNS 服务器的公共 IP 地址),但您希望将对 client.com 的 DNS 请求发送到 ns.client.com,那么您将创建一个条件转发器,规定将对 client.com 的 DNS 请求发送到 ns.client.com。如果您这样做,即使 ns.network.com 无法解析 desk.client.com,它也不会被转发到 Google,而是被转发到 ns.client.com。

存根区域

存根区域是一个 DNS 区域文件,其中包含最低限度的 DNS 记录,以便它可以响应查询。通常,存根区域具有授权起始 (SOA) 记录和名称服务器 (NS) 记录。如果您有两个不同的 DNS 服务器,每个服务器管理一个区域,并且这两个 DNS 服务器需要相互通信,以便每个网络可以使用内部 DNS 相互通信,那么这将非常有用。

您可以在以下页面上阅读有关 DNS 的更多信息:

DNS 查询的工作原理:域名系统 (DNS)

使用转发器:域名系统 (DNS)

了解存根区域:域名系统 (DNS)

相关内容