我正在尝试更新一个小型网络,以使用 Windows 2019 Server Essentials 作为其域控制器、DNS 和 DHCP 服务器 - 主要用于学习和实验。我一直在遵循一些指南(例如这个或者这个).服务器本身是ESXi 6.7下的虚拟机,并且只会有一个DC。
我已配置静态 IP,添加了服务器角色 AD、DNS 和 DHCP,执行了基本的 AD 配置步骤,为 DNS 添加了反向查找区域,为 DHCP 添加了默认 IP 范围。网络上的另一个客户端能够通过 DHCP 获取 IP 地址。
我确实遵循了建议,将域名命名为我拥有的实际互联网域名的子域名(即 ad.domain.tld,其中 domain.tld 通常是提供商托管网站上的 Web 服务器)。
服务器声称无法访问互联网 - 这是不正确的 - 但这似乎是一个已知问题。DNS 还在服务器管理器中发出警告 #4013,但这似乎也是“正常的”。
但是,我遇到了一个奇怪的 DNS 问题,我无法解释。
当我对任何名称执行 nslookup 时,结果总是:
Server: localhost
Address: 127.0.0.1
Non-authoritative answer: xxxx.DOMAIN.TLD
Address: nnn.nnn.nnn.nnn
其中 nnn.nnn.nnn.nnn 是我的提供商托管的网络服务器/域的 IP 地址。无论我使用哪个名称 - 可以是“amazon.com”(-> amazon.com.DOMAIN.TLD)、本地计算机“winclient”(-> winclient.DOMAIN.TLD)或甚至是无效名称,如“xyz”(-> xyzDOMAIN.TLD),它们都解析为完全相同的 IP 地址。
所以也许我做了一些愚蠢的事情或者不那么明显的错误,但我不知道是什么。任何帮助都将不胜感激。请告诉我需要提供什么信息。
答案1
经过进一步挖掘,似乎提供商托管的服务器及其 DNS 有一个通配符 DNS 记录(* -> nnn.nnn.nnn.nnn),大概是为了方便公共网络服务器上的子域名(因此您不需要为每个子域名创建新的 A 记录)。
但是,Windows 似乎首先尝试使用域后缀进行 DNS 查找,而公共服务器根据其通配符 DNS 记录错误地解析了该后缀。实际上,您可以使用 nslookup amazon.com.(请注意末尾的点)来检查差异,从而阻止添加后缀并正确解析。
我已经删除了公共网络服务器上的通配符 DNS 记录(并明确输入了几个子域)。
这解决了解析外部地址的问题。
不过,目前任何内部地址都会导致
Server: localhost
Address: 127.0.0.1
*** localhost can't find winclient: Non-existent domain
有什么原因吗?还是我应该等到之前的一些问题随着时间的推移完全消失?