![父区域不为名称服务器提供粘合剂](https://linux22.com/image/645116/%E7%88%B6%E5%8C%BA%E5%9F%9F%E4%B8%8D%E4%B8%BA%E5%90%8D%E7%A7%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%8F%90%E4%BE%9B%E7%B2%98%E5%90%88%E5%89%82.png)
我们有两个域:
- gignouser.com
- 云主机
我们创建了两个 A 记录:
- ns1.eu.clouds.主机
- ns2.eu.clouds.主机
这两台服务器都托管两个域的 DNS,并在域上列出名称服务器。
通过我们的注册商,我们为两个 DNS 服务器创建了两个主机条目,并将它们指向其真实的 IP 地址。
我们面临的问题是,在运行报告时gignouser.com
出现以下错误:
Parent zone does not provide glue for nameservers
我不明白为什么会发生这种情况,因为我们已经创建了所有正常的 DNS 条目。我猜是因为名称服务器位于 1 级以下,在 .eu 下,而 DNS 报告正在那里寻找粘合记录。然而,这似乎很奇怪,因为我无法在不委托域的情况下创建这些记录,而且它们都在同一个 DNS 服务器上运行。
有任何想法吗?
答案1
如果委托的主机名不在委托名称下,则父区域没有义务为委托提供粘合记录。仅当委托指向需要遵循委托才能发挥作用的事物时,才需要粘合记录。
由于您正在委托gignouser.com
给 下的名称服务器,所以情况并非如此,因此托管委托的名称服务器(即TLD DNS 服务器eu.clouds.host
)不需要返回粘合记录。gignouser.com
com
如果您查看委派,clouds.host
您会发现来自 DNS 服务器的委派nic.host
确实包含粘合记录。
然而,我确实注意到一些可能导致问题的事情:
您正在使用 0 TTL 为 NS RR 提供服务,对于两个域来说都是如此。这可能会有问题。如果你想要尽量减少 DNS 服务器缓存委托数据的时间(我不知道你为什么要这么做),那么就用一些小但非零的 TTL 来提供服务。我建议使用至少 10 秒的 TTL,让解析器和代理有机会做它们的事情,即使它们在递归解析过程中内部遵守 TTL。
我会先修复 TTL,然后看看问题是否消失。您使用的报告工具很可能被零 TTL 搞糊涂了。
我还注意到,您似乎在同一个子网上运行两个名称服务器(具体来说,在相邻的 IP 地址上),这会带来巨大的单点故障。如果是这样,强烈考虑获取一个异地从属 DNS 服务器,尤其如果您想以非常短的 TTL 提供区域授权数据。虽然“其他一切都会停止”表面上是一个有效的观点,如果您的服务器不可用,您希望用户遇到哪种错误;“找不到主机名 www.gignouser.com” 还是“服务器没有响应”?我绝对更喜欢后者,即使最终结果在那一刻是一样的,您的网站不可用。
答案2
您是否已在域配置文件中创建了 NS 条目?如下所示:
gignouser.com. IN NS ns1.eu.clouds.host.
gignouser.com. IN NS ns2.eu.clouds.host.