是否需要使用 GLUE 记录注册名称服务器?

是否需要使用 GLUE 记录注册名称服务器?

我有几个域名,想用我自己的名称服务器解析它们的 DNS 记录。假设我有一个 DNS 服务器,有 2 个固定 IP 地址和一个域名mydnsservers.net

我想要为我的其他域名设置 2 个名称服务器 - 子域名。

  • ns1.mydnsservers.net > 81.250.18.12
  • ns2.mydnsservers.net > 81.250.18.13

我可以使用第三方 DNS(例如 AWS Route 53)来mydnsservers.net并像这样设置两个 A 记录?

ns1.A 81.250.18.12
ns2.A 81.250.18.13

或者是否必须使用我自己的 DNS 服务器mydnsservers.net并在 TLD 注册处配置 GLUE 记录?

我知道第一个选项在某些情况下是有效的,但是当我尝试将 ns1.mydnsservers.net 用于其中一个域时,我的新注册表会出现错误,因为它未注册为名称服务器(没有粘合记录)。

任何帮助将非常感激!

答案1

我认为您对“胶水”一词感到困惑。DNS 中没有“胶水”记录类型,这种记录不存在。我们在那里引用的只是纯粹的AAAAA记录。它们之所以被称为“胶水”,是因为它们存在于 DNS 委派的父端,而不是预期的子端。它们的存在只是为了帮助解决,它们不具有权威性。但如果没有它们,就会出现先有鸡还是先有蛋的问题。

让我们回归根本。

假设您希望域名example.com由名称服务器提供服务ns1.example.comns2.example.com 当您通过注册商注册域名时,您需要提供各种管理详细信息,对于技术部分,您显然需要提供域名及其名称服务器列表。注册商将所有这些发送给注册局,通常,从 DNS 角度来看,只会出现一件事作为结果:注册局在其权威名称服务器中发布一些NS记录,通过让任何解析器询问区域切换,将您的域名与您的名称服务器绑定在一起,即注册局使用这些记录说NS:我对此一无所知,example.com因为这个名字由某某解析器处理,因此去查询它们以获取更多详细信息。

这一切都很好,如果您的example.com域名正在使用名称服务器ns1.provider.examplens2.provider.example则委派将按原样工作,然后解析器将继续首先尝试找出该名称ns1.provider.example(或另一个名称)的 IP 地址,然后查询该名称服务器以获取更多信息。

但是让我们回到我们的例子,这意味着注册中心正在发布以下内容:

example.com. NS ns1.example.com.
example.com. NS ns2.example.com.

也就是说,对于注册中心来说,它会回复:请去询问ns1.example.com有关域名的更多信息example.com,但要做到这一点,解析器将需要获取的 IP 地址ns1.example.com,因此它现在处于一个没有退出的循环中,因为它会回到第一个点来获取有关的信息example.com

这就是粘合记录存在的地方,它们会打破循环。

因为当您(通过您的注册商)创建名称服务器时,ns1.example.com您将被迫提供一个 IP 地址(一个或多个,当然是 IPv4 或 IPv6),其他 IP 地址也一样。这些 IP 地址将由注册中心发布,因为它们是解析所必需的。这些记录称为粘合记录,但它们是普通A记录AAAA,仅位于注册中心权威名称服务器上。

这些记录也需要存在于您的名称服务器上(即如果您直接查询ns1.example.comns2.example.com),因此完全相同的记录(当然,IP 地址必须在两边匹配,否则会造成混乱,这是一个已知且经常出现问题的根源)实际上存在于委派切割的两边。它们通常只存在于子(委托)端,但父端需要它们才能进行解析和区分,在父端,它们被称为“胶水”。

您的注册商(不是注册中心,您永远不会直接与注册中心互动,注册中心客户是注册商,不是最终客户,但某些 TLD 除外,例如.de)应该能够向您解释所有这些。其接口或 API 应该能够让您在需要时创建具有 IP 地址的名称服务器(以上是总结,还有其他各种边缘情况,例如当您更改名称服务器的名称时,这通常是允许的,或者当您将这些名称服务器与现有域关联/取消关联时),以便注册商将适当的内容发送到注册中心。

答案2

当您希望为域使用的名称服务器本身位于域内时,您需要 GLUE 记录。

由于 ns1.mydnsservers.net 位于 mydnsservers.net 内,因此您需要 GLUE 记录。

答案3

在某些情况下,你应该能够在注册商处设置以下内容,例如 example.com

nameserver 1: ns1.someotherdomain.com
nameserver 2: ns2.someotherdomain.com

现在您可以在 DNS 服务器上ns1.someotherdomain.com设置ns2.someotherdomain.com

example.com.    86400   IN   SOA    ns1.example.com.  root.example.com. 20140827151901 60 120 604800 3
@                       IN   NS     ns1.example.com.
@                       IN   NS     ns2.example.com.
ns1                     IN   A      127.0.0.8
ns2                     IN   A      127.0.0.9

重要的是,链条中的某处应该有一个胶水记录。

相关内容