我在 Windows Server 2016 上设置了一个域控制器,AD 域的域名是example.com
。连接到此域的每台计算机都被分配了一个域名,我可以在 中看到它Forward Lookup Zones
,DNS manager
例如:
DC01.example.com
PC01.example.com
PC02.example.com
我还设置了一些未连接到 AD 域的外部服务器,但它们使用相同的域名,例如:
webapp.example.com
mail.example.com
我面临的问题是,DNS解析器似乎没有将请求转发到我在部分DC01.example.com
下设置的DNS服务器Forwarders
例如,如果我在PC01
连接到域的 上,并尝试执行 for,nslookup
则会webapp.example.com
收到错误。我认为这是因为DC01
查看了Forward Lookup Zones
,发现没有任何内容webapp
,因此只是报告找不到它。
如果有任何区别,DC 无法访问 Internet,而是依赖于中间 DNS 服务器,即10.0.0.2
,我知道这个解析器工作正常,因为当我使用nslookup webapp.example.com 10.0.0.2
它时它可以正常工作。
需要什么配置才能使域计算机能够获取外部域的 DNS 响应?
答案1
您遇到了所谓的“裂脑 DNS”情况。由于example.com
被列为正向查找区域,因此当要求 DNS 服务器解析 时,它只会查找该区域webapp.example.com
。如果在正向查找区域下找不到区域,它只会使用转发器选项卡上的转发器。
因此,您需要webapp.example.com
为两个都正向example.com
查找区域和无论您使用哪种 DNS 系统,公众都可以解析您面向外部的站点的地址。
这样做的一个附带好处是,你可以选择使用内部(又名RFC 1918) IP 地址webapp.example.com
,以及公共 DNS 系统中的公共地址。这样,您的内部用户就可以访问您的网站,例如 192.168.100.100,前提是您的内部用户与您的 Web 服务器之间有内部连接。这样可以防止流量通过防火墙后再右转(又称为“发夹弯”)并返回。