我最近从一家 ISP 换到了时代华纳。现在,我经常在连接到家庭网络的任何机器上运行的 Web 浏览器和 Web 应用程序上遇到 DNS 解析错误(超时)。有时,只需刷新一次页面即可(从字面上)解决问题,有时则需要尝试几次。
我运行了 Gibson Research 的域名速度基准测试,结果基本证实我的 ISP 的 DNS 服务器“不可靠”。然后我使用基准测试找出了 50 个速度最快的 DNS 服务器。以下是我接下来的操作:
我更改了本地网络上所有机器(许多是虚拟的)的所有 DHCP 设置,以指向位于 198.162.0.5 的 DNS 服务器,这是我的 Windows Server 2012 R2 机器的静态内部 IP 地址。
Windows Server 2012 R2 机器的 DNS 服务器在其属性 > 转发器页面上将 192.168.0.1(我的路由器)列为唯一转发器。
我将 GRC 工具生成的前 50 个 DNS 服务器中的 4 个添加到列表中。
以下是具体情况:
这些更改并未解决问题。我在解析域名时仍然会遇到超时问题,包括 Google.com 等非常常见的域名。
更奇怪的是,在我解析常用名称时遇到问题,刷新页面最终解决了问题之后,问题稍后会再次出现。我的观点是,为什么我的 DNS 服务器(在我的服务器上运行)没有缓存来自外部 DNS 服务器的响应?即使我搞砸了添加的 4 个 DNS 服务器,我的 DNS 服务器至少应该缓存结果吗?
我打开了 DNS 服务器的登录功能,确实看到来自我网络上的机器的 DNS 请求正在到达我的 Windows Server 2012 R2 的 DNS 服务器。我还看到我添加的一些外部 DNS 服务器(来自 50 个最快的服务器列表)正在用于解析域名。但是,我仍然遇到 DNS 超时问题,并且之前解析的域名似乎没有被缓存。