当我在http://www.intodns.com,这是我遇到的一个问题:
当我向您的名称服务器请求 NS 记录时,GLUE 未发送。这没问题,但您应该知道,在这种情况下,需要额外的 A 记录查找才能获取 NS 记录的 IP。例如,您可以通过向上述区域的名称服务器添加 A 记录来解决此问题。
但是我在每个区域条目中都有所有名称服务器的 A 条目:
ns1.example.com. IN A <IP>
ns2.example.com. IN A <IP>
我该如何修复这个 GLUE 问题?
答案1
粘合记录是特殊的 A 记录,当 DNS 域的名称服务器本身位于同一域中时需要这种记录。
例如,如果您的域名是 example.com,您的名称服务器是 ns.example.com,则您需要在次高 DNS 区域(在本例中为“com”区域)中为 ns.example.com 创建“glue”A 记录。此操作应通过您的注册商完成。
这是必需的,因为名称服务器(NS 记录)的 DNS 请求总是用名称而不是 IP 来回答。
如果没有粘合记录,当对 A 记录 www.example.com 发出请求时,服务于“com”的名称服务器将返回 example.com 的 NS 记录作为 ns.example.com(而不是 IP),并且原始请求将无法解析,因为任何进一步尝试解析 ns.example.com 的操作都只会引用回 ns.example.com。
答案2
当您遇到以下情况时,根 DNS 服务器的 GLUE 问题就会出现:
example.com 的 NS 服务器为 DNS 记录 ns1.example.net 和 ns2.example.net。DNS 解析器将查找域名的 .com 机构无法提供 ns1.example.net 和 ns2.example.net 的 IP 地址,因为它们不在其权限范围内。
解决此问题的方法是让 .com 域使用源自 .com 的 NS 服务器。因此 example.com 将使用 ns1.example-2.com 和 ns2.example-2.com,一切都会顺利,因为 .com 机构能够为名称服务器提供 IP 地址。这可以节省多次往返根 DNS 服务器的次数,因为在您的情况下,要获取 example.com,现在还需要向 .net 询问有关 example.net 的信息。
就我而言,我的所有域都有自己的 NS 条目,因此对于 example.com 我有 a.ns.example.com 和 b.ns.example.com,而对于我的 example.net 域我有 a.ns.example.net 和 b.ns.example.net。
它确实需要更多设置,而且并非所有主机都愿意允许您这样做。您可能只能使用当前拥有的设置!
答案3
我自己尝试了这个工具,并看到它对我熟悉的一些域的报告,我想说可能是有很多事情导致了这个信息消息(请注意,它是一个表示信息的“i”,而不是一个“!”)
例如,我的一个区域在区域外有名称服务器,而该区域的权威名称服务器中,并非所有的权威数据中都有可在响应中返回的 A 记录。
但没关系——任何查询名称服务器都不应该信任此类数据。很久以前,你可以侥幸逃脱惩罚,但现在每个名称服务器都可能试图撒谎,将区域数据偷偷放入你的缓存中。
所以不用担心。当查询到达您的名称服务器时,它已经找到了至少部分名称服务器的 IP 地址。更需要注意的是,委托与您自己的区域数据相同(下一个条目“不匹配的 NS 记录”),并且没有一个是“蹩脚的”(“名称服务器是蹩脚的:父服务器上列出的所有名称服务器都为您的域提供权威性答案”——措辞不当,但您要确保那里有一个勾号。)