什么是胶水记录?

Lan*_*nes 175 domain-name-system glue-record

这是一个关于 DNS 粘合记录的规范问题

DNS 胶水记录究竟(但简要)是什么?为什么需要它们以及它们如何工作?

Sha*_*den 150

粘合记录是一个术语,表示由不对该区域具有权威性的 DNS 服务器提供服务的记录,以避免出现 DNS 区域不可能依赖的情况。

假设我拥有example.com. 我想要拥有托管此域权威区域的 DNS 服务器,以便我可以实际使用它 - 添加域根的记录wwwmail, 等。因此,我将名称服务器放在注册中以委托给他们 - 这些总是名字,所以我们将放入ns1.example.comns2.example.com

诀窍就在这里。TLD 的服务器将委托给 whois 记录中的 DNS 服务器 - 但它们在example.com. 他们试图找到ns1.example.com,请问.com服务器,并获得交回... ns1.example.com

粘合记录的作用是允许 TLD 的服务器在响应example.com区域查询时发送额外信息- 也发送为名称服务器配置的 IP 地址。它不是权威的,但它是指向权威服务器的指针,允许解决循环。

  • @Pacerier RFC 1034 (https://www.ietf.org/rfc/rfc1034.txt) 和 RFC 1035 明确指出 NS 记录的 RDATA 包含主机名,或者如 1035 所说:“一个 <domain-name> 指定对于指定的类和域应该具有权威性的主机。” (5认同)

And*_*w B 66

我要求将这个答案从一个重复的问题中合并进来,因为现有的答案没有解释该ADDITIONAL部分的作用。

要查看它是如何工作的,请输入: dig +trace +additional google.com SOA

这将从根服务器 ( +trace)开始跟踪名称服务器权限。添加+additional还将向您显示ADDITIONAL每个 DNS 服务器响应的部分。通常大多数人会从部分QUESTIONANSWER部分的角度考虑 DNS ,但它ADDITIONAL也扮演着重要的角色:如果名称服务器知道与答案相关的任何查询的答案,它可以先发制人地在ADDITIONAL部分中提供这些答案,而无需要求来自客户的其他查询。

请注意,其权威域名服务器google.com根植于它们的权威域下。(ns1.google.comns2.google.com等)

当您要求名称服务器提供域的名称服务器列表时,他们通常会A在该ADDITIONAL部分提供-type 记录(IP 地址)的列表,而不仅仅是NS-type 答案:这些称为粘合记录,用于防止循环依赖关系。在这种情况下,这些A记录是从 TLD(.com、.org 等)名称服务器根据某人提供给负责域的 DNS 注册商的 IP 地址提供的。通常可以通过登录他们为您提供的管理 Web 界面来更改它们。

(免责声明:AAAA包含 IPV6 地址的记录也可以作为胶水的一部分提供,但为了简单起见,我省略了这一点。)


vor*_*aq7 38

维基百科上有一个精确(和简洁)的解释。
报价:

循环依赖和粘合记录

委托中的名称服务器由名称而不是 IP 地址标识。这意味着解析名称服务器必须发出另一个 DNS 请求以找出它所引用的服务器的 IP 地址。
如果委托中给出的名称是为其提供委托的域的子域,则存在循环依赖。在这种情况下,提供委托的名称服务器还必须为委托中提到的权威名称服务器提供一个或多个 IP 地址。此信息称为胶水。

. . .

例如,如果 example.org 的权威名称服务器是 ns1.example.org,则尝试解析 www.example.org 的计算机首先解析 ns1.example.org。由于 ns1 包含在 example.org 中,因此需要首先解析 example.org,这会带来循环依赖。
为了打破依赖关系,org 顶级域的名称服务器包括与 example.org 的委派一起使用的胶水。粘合记录是为 ns1.example.org 提供 IP 地址的地址记录。解析器使用这些 IP 地址中的一个或多个来查询域的权威服务器之一,从而完成 DNS 查询。


小智 38

在永远搜索并阅读了很多关于胶水记录但仍然不明白它们是什么或如何制作它们之后,我终于找到了一个答案,这是一个非常简单的答案。

据我所知,没有从某个地方发送的魔法额外信息,这就是它的工作原理。

假设您的域是 example.com,并且您想使用自己的名称服务器 ns1.example.com 和 ns2.example.com,您至少需要两个 DNS 服务器。

  • ns1.example.com 的 IP 为 192.0.2.10
  • ns2.example.com 的 IP 为 192.0.2.20

现在,为了使其正常工作,您需要顶级域所有者将以下记录放入他们的 DNS 中。

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

ns1.example.com A 192.0.2.10 
ns2.example.com A 192.0.2.20
Run Code Online (Sandbox Code Playgroud)

这两个 A 记录是胶水记录,它们需要位于顶级域中,在这种情况下是 .com,并非所有注册商都能为您完成这项工作。

如果这是错误的,请纠正我。我只是想我尝试以简单的方式为找不到正确答案的其他人解释。

  • 唯一需要注意的是,胶水记录不限于出现在顶级域中。您还可以拥有一个委托给“example.com”区域中的“ns1.sub.example.com”和“ns2.sub.example.com”的“sub.example.com”。`com` 的名称服务器已经将 `example.com` 委托给自己,并且不能为其任何子级提供粘合。 (7认同)
  • 关键似乎是没有胶水记录,如果请求的子域和名称服务器在同一个域下,你将陷入无限循环:`sub.example.com` --> `example.com` - -> `ns1.example.com` --> `example.com` --> `ns1.example.com`... 等等 (5认同)
  • 我有一个大脑放屁,每次我阅读关于胶水的解释时,我都没有得到足够的信息 - 因为我肯定我对术语的含义缺乏了解......在这个答案中,当你@当你说“这两个 A 记录是胶水记录,它们需要位于顶级域”时,你会很烦躁……“顶级域”到底是什么意思? (2认同)
  • @Claud 顶级域名(我认为他的意思是顶级域名或 TLD)是在域层次结构顶部找到的 com、net、org(这样的例子不胜枚举)之类的域。每个域名都是另一个域名的子域除了这些顶级域名。 (2认同)