我在使用 Microsoft DNS 时遇到了这个特殊问题。
基本上,我们的 domain.com 是一个水平分割设置(外部公共 DNS 和内部 DNS 都对不同的区域具有权威性),不要问我为什么,当我来到这里时就是这样。
在这个 AD 中,我们有 3 个域控制器,用作内部区域的 DNS 服务器。最重要的是,我们有 2 个 DNS 服务器将查询转发到这些 AD 服务器,并缓存结果。
此外,我们还有另一个域 example.com,它仅在我们的外部公共 DNS 服务器中。
现在来解决问题;AD 服务器处理了名称 subdomain.example.com 的问题。返回“找不到域名”的查询,就像权威服务器在没有记录时所做的那样。但是,客户端的 DNS 转发器会解析查询。
外部一切正常,subdomain.example.com 解析为 www3.domain.com 的 CNAME
但是,问题不在于整个区域,而在于特定的子域。www.example.com 在内部和外部都解析为 www3.domain.com 的 CNAME。
那么,一个对区域不具有权威性的 DNS 服务器如何回复找不到记录呢?
作为一种解决方法,我为 subdomain.example.com 创建了一个新区域,并添加了一条与 www3.domain.com 相同的 A 记录。一个小时后,这个记录就消失了?
我接近放弃并成为山羊农民。:)
我无法从描述中理解您的流程,但是...
我鼓励您在外部为您的域设置单独的递归服务器和权威服务器,并让内部 DC 指向具有服务器转发功能的外部递归服务器。
此设置通常称为拆分 DNS。一个优点是您可以强制内部客户端以不同于外部客户端的方式响应某些地址。另一个优点是您可以更轻松地对 DNS 流量进行故障排除。
要回答您的问题,对于区域没有权威的服务器可以说如果找不到该区域的权威答案,则找不到该记录。您的 DC DNS 可能存在无法执行递归查找的问题。确保 DC 上的服务器转发已启用并转到递归 DNS 服务器。然后确保递归服务器正确使用全局提示。
您可以使用 NSlookup,使用
server = IP
命令设置服务器并依次测试每个服务器以查看它可以看到的内容。