这是有关DNS粘合记录的规范问题。


DNS粘合记录到底是什么(简短地说)?为什么需要它们,它们如何工作?

评论

RFC部分,描述“胶水记录”的含义。

#1 楼

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

我为example.com拥有一个DNS区域。我想拥有托管该域权威区域的DNS服务器,以便我可以实际使用它-为该域的根目录wwwmail等添加记录。因此,我将名称服务器放入了委托给他们-这些总是名字,所以我们将ns1.example.comns2.example.com放进去。

这就是窍门。 TLD的服务器将委派给whois记录中的DNS服务器-但它们位于example.com中。他们尝试查找ns1.example.com,询问.com服务器,然后返回到... ns1.example.com

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

评论


引用“那些总是名字”

–起搏器
20 Jul 23 '21:53

@Pacerier RFC 1034(ietf.org/rfc/rfc1034.txt)和RFC 1035明确指出,NS记录的RDATA包含主机名,或者如1035所述:“ A ,它指定了应该是权威的主机指定的类别和域。”

– gaige
20年8月14日在10:09

#2 楼

我要求将此答案从一个重复的问题中合并,因为现有的答案无法解释ADDITIONAL部分的作用。

要查看其工作原理,请键入以下内容:
dig +trace +additional google.com SOA

这将从根服务器(+trace)开始跟踪名称服务器权限。添加+additional还将显示每个DNS服务器响应的ADDITIONAL部分。通常,大多数人从QUESTIONANSWER的角度来考虑DNS,但是ADDITIONAL也起着重要的作用:如果名称服务器知道与该答案相关的任何查询的答案,它可以抢先提供这些答案。 ADDITIONAL部分,而无需您的客户端进行其他查询。

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

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

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

评论


感谢您的详细说明。我学到了很多东西。

– Egemenk
13年2月3日,14:34

很好的解释。希望我在上一次工作面试之前偶然发现了循环依赖解决方案的详细信息。我很确定我对这个问题的无知使我付出了沉重的代价。

–converter42
15年2月18日在15:43

@ converter42公平地说,我认为大多数系统管理员实际上并不希望您正确地解决该问题。我是DNS主管,但我当然不是。它确实告诉我,何时受访者比80%的其他管理员更了解DNS。 :)

–安德鲁(Andrew B)
15年2月18日在16:00

@Patrick执行+ trace时,默认情况下不打开附加部分。这就是为什么它在那里。

–安德鲁(Andrew B)
19-3-27在16:13



@AndrewB指出,但似乎至少取决于dig版本或其他内容,在我的dig + trace测试中,添加+ additional根本不会更改输出)

–帕特里克·梅夫克(Patrick Mevzek)
19 Mar 27 '19在16:17

#3 楼

在Wikipedia上有一个准确(简洁的)解释。
引用:


循环依赖项和粘合记录

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

。 。 。

例如,如果exam​​ple.org的权威名称服务器
是ns1.example.org,则计算机尝试解析
www.example.org首先解析ns1.example .org。由于NS1载
在example.org,这需要解决example.org第一,这
呈现一个循环依赖关系。
为了打破依赖性,所述
域名服务器的组织顶级别域包含胶水和
委托(例如example.org)。胶水记录是地址记录,
提供ns1.example.org的IP地址。解析器使用这些IP地址中的一个或多个来查询域中权威的服务器之一,从而允许它完成DNS查询。


#4 楼

经过长期搜索并阅读了很多有关胶粘记录的信息,但仍然不了解它们是什么或如何制作它们,我终于找到了答案,这是一个非常简单的答案。

据我所知,这没有魔术从某处发送的额外信息,这就是它的工作方式。

假设您的域为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


这两个A记录是粘合记录,它们需要处于最高域名(在本例中为.com),并且并非所有注册服务商都能为您完成此任务。

如果这是错误的,请纠正我。我只是以为可以为找不到正确答案的其他人提供简单的解释。

评论


您需要回答的唯一警告是,胶粘记录不仅限于出现在顶级域中。您还可以在example.com区域中拥有一个sub.example.com,该子网站委派给ns1.sub.example.com和ns2.sub.example.com。 com的名称服务器已将example.com委托给他们自己,并且不能为其任何子代提供粘合。

–安德鲁(Andrew B)
17年6月23日在20:35

关键点似乎是,如果没有粘合记录,如果请求的子域和名称服务器位于同一个域下,则将陷入无限循环:sub.example.com-> example.com-> ns1。 example.com-> example.com-> ns1.example.com ...等

–丹尼尔·沃尔特里普(Daniel Waltrip)
18年2月8日在20:38

我有脑子屁,每次阅读胶水的说明时,我都无法获得足够的信息-由于我确信自己对术语含义的了解不足……在您回答此问题时,@当您说“这两个A记录是胶水记录,它们必须位于最高域名时”……哈斯……您所说的“最高域名”到底是什么意思?

–克劳德
18年11月13日在20:57

@Claud顶级域名(我认为他的意思是顶级域名或TLD)是在域名层次结构顶部找到的com,net,org等域名(列表不胜枚举)。每个域名都是另一个域名的子域名这些顶级域名除外。

– frezq
19年5月25日在12:45

我看不到域注册表如何适合这些关于胶粘记录的答案。我的域注册表有一个DNS,可以指向其自己的名称服务器或我的自定义名称服务器。但是我无法更改TTL,因此可以快速迁移网站。这与胶水记录有关吗?

–David Spector
19-09-13在14:42