使用 Azure DNS 委托 DNS 区域

使用 Azure DNS 可以托管 DNS 区域,以及管理 Azure 中域的 DNS 记录。 要使域的 DNS 查询才能抵达 Azure DNS,必须将该域从其父域委托给 Azure DNS。 请记住,Azure DNS 不是域注册机构。 本文介绍域委托的工作原理,以及如何将域委托给 Azure DNS。

DNS 委托的工作原理

域和区域

域名系统是域的层次结构。 该层次结构从名为“.”的 root 域开始。 此域的下面是顶级域,例如 comnetorgukjp。 这些顶级域的下面是二级域,例如 org.ukco.jp。 依此类推。 DNS 层次结构中的域托管在不同的 DNS 区域。 这些区域遍布全球,由世界各地的 DNS 名称服务器托管。

DNS 区域 - 域在域名系统中具有一个唯一名称,例如 contoso.com。 DNS 区域用来托管某个特定域的 DNS 记录。 例如,域 contoso.com 可能包含几条 DNS 记录,例如 mail.contoso.com(用于邮件服务器)和 www.contoso.com(用于网站)。

域注册机构 - 域注册机构是可以提供 Internet 域名的公司。 它们会验证所要使用的 Internet 域是否可用,以及是否允许购买。 注册域名后,注册者即是该域名的合法所有者。 如果已有一个 Internet 域,将使用当前的域注册机构将该域委托给 Azure DNS。

有关认证的域注册机构的详细信息,请参阅 ICANN 认证的注册机构

解析和委托

有两种类型的 DNS 服务器:

  • 权威 DNS 服务器托管 DNS 区域。 它只应答这些区域中的 DNS 记录查询。
  • 递归 DNS 服务器不托管 DNS 区域。 它调用权威 DNS 服务器来收集所需的数据,以应答所有 DNS 查询。

Azure DNS 提供权威 DNS 服务。 它不提供递归 DNS 服务。 Azure 中的云服务和 VM 自动配置为使用 Azure 基础结构中单独提供的递归 DNS 服务。 有关如何更改这些 DNS 设置的详细信息,请参阅 Name Resolution in Azure(Azure 中的名称解析)。

电脑或移动设备中的 DNS 客户端通常调用递归 DNS 服务器来执行客户端应用程序所需的任何 DNS 查询。

当递归 DNS 服务器收到 DNS 记录查询时(例如 www.contoso.com),需要先找到托管 contoso.com 域的区域的名称服务器。 若要查找名称服务器,请从根名称服务器开始,接着查找托管 com 区域的名称服务器。 然后,查询 com 名称服务器,查找托管 contoso.com 区域的名称服务器。 最后,就能够查询 www.contoso.com 的名称服务器。

此过程称为 DNS 名称解析。 严格地说,DNS 解析包括更多的步骤,例如跟踪 CNAME,但这对于了解 DNS 委托的工作原理并不重要。

父区域如何指向子区域的名称服务器? 方法是使用一种特殊的 DNS 记录,名为 NS 记录(NS 代表“名称服务器”)。 例如,根区域包含 com 的 NS 记录,并显示 com 区域的名称服务器。 而 com 区域包含 contoso.com 的 NS 记录,并显示 contoso.com 区域的名称服务器。 在父区域中设置子区域的 NS 记录称为委托域。

下图显示了一个 DNS 查询示例。 contoso.netpartners.contoso.net 是 Azure DNS 区域。

Dns-nameserver

  1. 客户端从其本地 DNS 服务器请求 www.partners.contoso.net
  2. 本地 DNS 服务器没有记录,因此向其根名称服务器发出请求。
  3. 根名称服务器没有记录,但知道 .net 名称服务器的地址,于是将该地址提供给 DNS 服务器
  4. 本地 DNS 服务器将请求发送到 .net 名称服务器。
  5. .net 名称服务器没有该记录,但知道 contoso.net 名称服务器的地址。 在这种情况下,它会响应 Azure DNS 中托管的 DNS 区域的名称服务器的地址。
  6. 本地 DNS 服务器将请求发送到 Azure DNS 中托管的 contoso.net 区域的名称服务器。
  7. 区域 contoso.net 没有记录,但知道 partners.contoso.net 的名称服务器,于是使用地址进行响应。 本示例中为托管在 Azure DNS 中的 DNS 区域。
  8. 本地 DNS 服务器将请求发送到 partners.contoso.net 区域的名称服务器。
  9. partners.contoso.net 区域具有 A 记录,并使用 IP 地址进行响应。
  10. 本地 DNS 服务器为客户端提供 IP 地址。
  11. 客户端连接到网站 www.partners.contoso.net

每个委托实际上有两份 NS 记录:一份在父区域中指向子区域,另一份在子区域本身。 contoso.net 区域包含 contoso.net 的 NS 记录(还包含 net 中的 NS 记录)。 这些记录称为权威 NS 记录,位于子区域的顶点处。

后续步骤

了解如何将域委托给 Azure DNS