我的计算机位于 Windows 域中。该域有 1 个 DNS 服务器 (192.168.1.79)。如果我查找一个我以前从未查找过的新网站,我的本地 DNS 服务器如何解析该网站?它会查找哪个服务器来解析此问题?当我通过 DNS 服务器上的 DNS 管理器查找时,我找不到任何对外部 DNS 服务器的引用。
这个问题看似简单,但我在 Google 上找不到答案。如果我遗漏了任何相关信息,请告诉我。
答案1
如果没有,则将请求转发到网卡设置中配置的DNS服务器。
这并不完全正确:Windows DNS 服务器有一个完全独立的配置页面——“转发器”选项卡在 DNS 管理控制台中 – 用于指定应将查询转发到哪个服务器。
但除此之外,转发器完全没有必要,因为 Windows DNS 服务器支持迭代查询一切都由它自己完成(就像大型公共 DNS 服务器一样)。这个过程已经在其他地方记录下来了,但简而言之,它的工作原理如下:
- 解析器将首先询问根名称服务器并将收到对 TLD 名称服务器的推荐(例如托管该
com
区域的服务器); - 解析器将询问 TLD 名称服务器并将收到另一个引荐(例如,托管该
google.com
区域的名称服务器); - 相同的过程会根据需要重复多次,直到解析器最终收到对查询的直接权威响应。
这“Root Hints”标签显示那些根名称服务器地址——该列表很少更改,因此它只是包含在 DNS 服务器软件中。官方列表也可以找到在IANA。
答案2
为了让您的域控制器能够访问互联网,它必须能够访问 DNS 服务器。在域控制器的网卡设置中,它将指定它具有不同的 DNS 服务器,可以是路由器的 DNS 服务器,也可以是网络外部的 DNS 服务器,例如 ISP 的 DNS 服务器或公共 DNS 服务器(例如 8.8.8.8 或 1.1.1.1)。
域控制器上的 DNS 服务器将是域中所有计算机使用的服务器。当向 DNS 服务器发出网站请求时,它首先查看其本地缓存以查看是否列出了此域。如果没有,它会将请求转发到网卡设置中配置的 DNS 服务器。一旦获得结果,它会将其缓存到自己的本地缓存中,这样下次您查询该地址时,DNS 服务器就不必在互联网上进行查询,除非 TTL 值表明它太旧。然后将对互联网 DNS 服务器进行新的查询并更新缓存值。
如果您已正确设置所有设置,并且要将网卡 DNS 服务器更改为也从本地 DNS 服务器本身进行查询,那么一开始,您会发现一切似乎都正常工作。但是,一旦 TTL 值过期并且您请求重新查找 IP 地址,它将尝试查询自身,从而导致“此域不存在”之类的错误(确切的错误因浏览器而异,但应该类似于This site can't be reached.
( DNS_PROBE_FINISHED_NXDOMAIN
)),并且您的互联网页面将不再加载,直到 DNS 再次正确配置。