基本上,我想找出我的网络正在使用哪个公共 DNS 服务器。例如,我有一个工作站、一个 DNS 服务器和一个路由器(网关)。当用户通过浏览器发出 DNS 请求时,工作站指向网络的 DNS 服务器。由于我的网络 DNS 服务器仅解析内部 DNS,那么此时是否使用网关的 DNS?这是我的假设。
- Win-Workstation 尝试通过 IP4 中的主 DNS 服务器解析后,它是否会根据网关设置进行解析?
- 是否有命令可以显示它正在使用的公共 DNS?ipconfig /all 或 nslookup 仅显示内部 DNS 服务器。
谢谢杰森
答案1
工作站将尝试仅在其 IP 设置中配置的 DNS 服务器上进行解析,而不会在网关地址上进行解析。
(在许多 Soho 路由器上,都有一个 DNS 代理,因此网关 IP 地址也可能是 DNS 服务器地址)
因此,您的工作站将查询您的服务器,而该服务器又将查询另一台非本地服务器。具体查询哪台服务器取决于服务器配置。
服务器可以配置为使用根提示或“转发器”(Microsoft 使用的术语)在第二种情况下,服务器将始终查询配置的转发器之一(其可能依次查询其他服务器以获取答案)。
例如,您可以参考这篇文章: Windows DNS 服务器中的转发器和根提示
从客户端来说,您无法判断查询的是哪个 DNS 服务器。
还要注意,服务器计算机上的 IP 设置中配置的 DNS 服务器 IP 由其自己的 DNS 客户端使用,与 DNS 服务器如何处理来自工作站的请求无关。
答案2
您的工作站使用了 IP 设置中配置的 DNS。如果您通过 DHCP 获取 IP,则 DNS 地址将是 DHCP 提供的任何地址。
您提到您有一个内部 DNS,因此我怀疑这是您的工作站配置的 DNS 服务器。因此,所有 DNS 查询都会转到您的内部 DNS。
您说您的内部 DNS 仅解析内部名称,但这仅意味着它是您本地区域的权威 DNS,但它也会很乐意为您解析其他名称。它如何做到这一点取决于配置,但最重要的是地址将被解析。
检查所用 DNS 服务器的方法如下:只需进入命令提示符并输入nslookup google.com
。您将获得 Google 地址列表以及执行解析的 DNS 服务器地址。我敢打赌,这将是您的本地 DNS。