![服务器 2012 DNS 转发 - core.company.com](https://linux22.com/image/800210/%E6%9C%8D%E5%8A%A1%E5%99%A8%202012%20DNS%20%E8%BD%AC%E5%8F%91%20-%20core.company.com.png)
各位:我正在从旧的 SBS2003 网络迁移到 Server 2012,我想借此机会创建一个全新的 AD,进行一次大扫除。我的旧域名是 mycompany.local,但现在的最佳做法似乎是使用已注册域名的子域名,所以我选择了 core.mycompany.com。
我已经创建了我的第一个 DC(添加了指向我们 ISP 的 DNS 服务器的 DNS 转发器),除了 DNS 转发问题外,一切都很好。如果我在 DC 上启动 nslookup 会话并查询“myhost”,则地址被正确解析。但是,如果我查询互联网主机(例如“www.microsoft.com”),则查询将转发到我们的 ISP DNS,但格式为“www.microsoft.com.mycompany.com”,因此这当然会命中我们的公共 DNS。如果我查询完全合格的内部主机(例如“myhost.core.mycompany.com”作为查询“myhost.core.mycompany.com.mycompany.com”命中我们的 ISP DNS),我也会遇到同样的问题。
我确信我在这里遗漏了一些明显的东西,但我不知道它是什么!
答案1
这是完全正常的,不会造成任何问题。让我解释一下:
您看到的是 nslookup 查询一个不完全合格的名称,并且 DNS 委托开始生效。您向 nslookup 提交了一个不完全合格的查询。完全合格的查询需要包含尾随点 (.)。
您提交的是 www.microsoft.com,没有结尾的点 (.)。Nslookup 会附加客户端(您运行 nslookup 的计算机)的 DNS 后缀和任何父后缀,并查询 www.microsoft.com.corp.company.com,然后从您的内部 DNS 服务器获得 NXDOMAIN 答案。DNS 委托启动并删除最左边的标签(现在查询为 www.microsoft.com.company.com),然后查询将作为 www.microsoft.com.company.com 转发给您的 ISP。然后,您的 ISP 将查询转发到您的公共域(company.com)的名称服务器,该服务器似乎对 company.com DNS 区域中没有特定 A 记录的任何名称都具有一个万能/通配符。然后,您的公共 DNS 服务器将使用万能/通配符记录的内容进行回答。
您可以通过在交互模式下运行 nslookup 并设置调试来查看这一点:
C:\>nslookup
Default Server: blah.corp.company.com
Address: x.x.x.x
>set debug
>www.microsoft.com
然后观察调试输出。然后查询 www.microsoft.com。(带尾随点)并注意调试输出中的差异。
C:\>nslookup
Default Server: blah.corp.company.com
Address: x.x.x.x
>set debug
>www.microsoft.com.
不用担心。即使您不使用,Windows 中的 DNS 客户端也知道使用尾随的点 (.),因此 DNS 解析可以正常工作,您无需担心出现问题。您可以通过打开浏览器访问 www.microsoft.com 并验证它确实转到了 Microsoft 网站来测试这一点。