我试图了解为什么某个给定的 DNS 服务器不能正确解析我们的域。
当我从此名称服务器查找时,会正确返回www.example.com
CNAME example.bar.cc
,但没有附加的 A 记录,响应状态为 NXDOMAIN。我知道如果 DNS 服务器无法解析别名,则可能会发生这种情况example.bar.cc
。但是,如果我使用相同的 DNS 服务器并直接查找example.bar.cc
,我总是会得到正确的 A 记录。
当使用我测试过的任何其他 DNS 服务器(不同的 ISP、Google DNS、Open DNS)时,我们的域名都能正确解析。
鉴于这种情况,我们的 DNS 中是否存在可能导致这种情况的问题?这个 DNS 服务器似乎是罪魁祸首吗?很多人使用有问题的 DNS 服务器,问题似乎更有可能是由我们引起的,但我不明白原因是什么。有什么线索吗?
答案1
尽管此 DNS 配置非常慢并且容易出错,但这并不是 DNS 的问题,您的记录运行正常。
事情是这样的。当您查询 时ns1.sonic.net
,en.greatfire.org
此服务器被配置为回答greatfire.org
,但它没有 的记录en.greatfire.org
,因此返回默认的 CNAME en.greatfire.org.24680.info
。
此 CNAME 现在不在 区域 中ns1.sonic.net
:它属于 区域24680.info
。因此,如果您尝试通过 解析它ns1.sonic.net
,您将收到错误。相反,必须从头开始从根开始解析此名称,直到.info
权威机构。
您提到的其他 DNS 服务将响应 CNAME,因为它们不是 DNS 服务器,而是 DNS 解析器,因此它们将为您执行整个过程并仅返回结果。
使用dig +trace
或委派实验室来找出谁对这些区域具有权威性以及你应该查询谁: