我究竟应该如何设置 DNS 来委派子域名的权限?

我究竟应该如何设置 DNS 来委派子域名的权限?

我的服务器托管在托管提供商处,他们还托管我的域名的 DNS 记录。现在我想添加由我自己的 DNS 服务解析的子域名。例如:

  • 托管服务提供商的名称服务器知道econemon.com
  • 我的一个服务器知道ftp.econemon.com

还,

  • 未知或未定义的子域名应路由到与父域名相同的 IP
  • 当我的 DNS 服务出现故障时,如果所有请求都转到与 关联的 IP 地址econemon.com,那就太好了,但我不确定它应该如何工作。

现在,我已经阅读了有关 DNS 的 Wikipedia 文章,以重温我的知识,但让我感到困惑的是:客户端如何知道要向哪个服务器请求 IP 地址ftp.econemon.com?它是从托管商那里获取该信息吗?如果是这样,我是否必须在那里注册子域名(那么我需要名称服务器做什么)?

答案1

如果您想委托您域名的某个部分的权限,那么您将需要在层次结构中添加另一个级别。

当递归 DNS 服务器请求 ftp.econemon.com 的地址时,它会执行多个步骤。首先,它会请求其中一个根服务器,该根服务器将回复 .com 域的名称服务器(此步骤可能会被缓存,并且很少执行)。然后,它会请求 .com 服务器,这些服务器将回复 econemon.com 域的名称服务器。最后,它会向这些服务器请求 ftp.econemon.com 的地址记录。

理论上,你可以简单地将 ftp.econemon.com 添加为父区域中的 NS 条目

例如:

服务 NS ns1.econemon.com。
ns1 A 192.0.2.1

然后在您的名称服务器中创建 ftp.econemon.com 作为区域。但是如果您这样做,您将必须为每个服务器创建一个新区域。您可能想要做的是要求您的提供商添加一个委托子域。

例如:

服务 NS ns1.services.econemon.com。
服务 NS ns2.services.econemon.com。
ns1.服务 A 192.0.2.1
ns2.services A 192.0.2.2

然后,您可以在名称服务器上将 services.econemon.com 添加为区域,并根据需要在此单个区域中添加新条目。

如果您确实也需要短名称,那么添加 CNAME 记录应该不会有太多麻烦,例如 ftp.econemon.com 有一个规范名称 ftp.services.econemon.com,这样您就可以随时更改 IP 地址,并允许用户使用短名称。

ftp.econemon.com。CNAME ftp.services.econemon.com。

答案2

您需要为 ftp.econemon.com 添加一个指向您自己的 DNS 服务器的 NS 条目。当客户端想要解析某个内容时,ftp.econemon.com 会询问您的提供商 DNS,提供商 DNS 会回答说可以在您自己的服务器上解析。例如:

ftp.econemon.com. IN NS myownns.econemon.com.
myownns.econemon.com. IN A YOUR_DNS_SERVER_IP

为了使 .econemon.com. 之前的任何内容正常工作,您可以使用通配符记录 (*)。

答案3

但对于像 ftp.econemon.com 这样的域名,您可能不需要委派任何内容。像 ftp.econemon.com 这样的域名通常是主机名而不是子域。如果是这种情况,只需为其添加 A 记录即可。

ftp.econemon.com. IN A 192.168.1.1

您还可以添加带有点的 A 记录,例如:

ftp.something.econemon.com. IN A 192.168.1.3

如果 DNS 已绑定,则可以使用通配符,例如:

*.something.econemon.com. IN A 192.168.1.3

我不确定委派是否真的有用,除非你实际上想允许其他人或组织来管理子域。

相关内容