除了在 ipconfig /flushdns 之后立即执行之外,DNS 查找在 Windows 中不起作用

除了在 ipconfig /flushdns 之后立即执行之外,DNS 查找在 Windows 中不起作用

如果我ping www.google.com在某台计算机上运行 Windows 10,它会说 Ping request could not find host www.google.com. Please check the name and try again.

如果我运行ipconfig /flushdns并随后再次尝试,它会按预期解析 IP,并在短时间内像其他 DNS 查找一样工作。

我尝试禁用“DNS客户端”Windows服务,但是并没有解决问题(尽管重新启动该服务具有与上述暂时正常工作相同的效果)。

我尝试了网络诊断工具并通过 Windows 设置屏幕进行了完整的“网络重置”。

一些可能值得注意的事项是

  1. 连接到此网络的另一台计算机运行正常
  2. 这个网络上的这台电脑曾经运行正常,后来就停止工作了
  3. 很确定这台电脑可以在另一个 wifi 网络上运行
  4. 运行 sfc /scannow 未检测到任何完整性违规

以下是出现问题时网络上的一些调试输出:

>nslookup www.google.com DNS 请求超时。
    超时为 2 秒。服务器:未知地址:209.18.47.62

DNS 请求超时。
    超时为 2 秒。DNS 请求超时。
    超时为 2 秒。DNS 请求超时。
    超时为 2 秒。DNS 请求超时。
    超时为2秒。
*** 向 UnKnown 发出的请求已超时
>netsh interface 显示接口

管理状态 状态类型 接口名称
-------------------------------------------------------------------------
已启用 已断开连接的专用 Wi-Fi
已启用连接专用以太网 2

以下是 nslookup 运行后的输出ipconfig /flushdns

>nslookup www.google.com
服务器:dns-cac-lb-02.rr.com
地址:209.18.47.62

非权威答案:
名称:www.google.com.socal.rr.com
地址:198.105.254.228
          198.105.244.228

答案1

您的 DNS 查询要么被劫持,要么格式不正确

证据

您的命令的输出nslookup www.google.com是:

服务器:dns-cac-lb-02.rr.com
地址:209.18.47.62

非权威答案:
名称:www.google.com.socal.rr.com
地址:198.105.254.228
                198.105.244.228

观察结果

  1. 对您的查询的回答www.google.com.socal.rr.com并非预期的www.google.com
  2. 您查询的 DNS 服务器与错误答案的记录位于同一域中:rr.com

理论 1:DNS 劫持

您对 www.google.com 的 NSLOOKUP 应该返回 Google IP 地址和名称www.google.com。但您得到的是完全不同的名称记录一个 IP 地址 (198.105.254.228),注册于一家名为 Search Guide Inc. 的公司(来源1 来源2)。

如果你的 ISP 是时代华纳有线(或其子公司),那么这是一个毫无疑问的解释,因为根据这个超级用户的回答,解析为 IP 地址 198.105.254.228 的 DNS 查询是您的 ISP 劫持您的 DNS 结果作为“服务”的一部分,以便在您输入无效的 Internet 地址时为您提供搜索结果。如果是这种情况,您可以在时代华纳的网站上禁用此功能这里

即使您的 ISP 不是时代华纳,处理您的请求的 DNS 服务器与您收到的无效 DNS 答案之间仍然存在联系。如 GoDaddy 所示,www.google.com.socal.rr.com该域名注册于时代华纳有线电视公司rr.comWHOIS 查询

Domain Name: rr.com
{...portions removed...}
Admin Name: Domain Name Administrator
Admin Organization: Time Warner Cable Inc.
Admin Street: 60 Columbus Circle,
Admin City: New York
Admin State/Province: NY
Admin Postal Code: 10023
Admin Country: US
{...portions removed...}
Name Server: dns2.rr.com
Name Server: dns6.rr.com
Name Server: dns3.rr.com
Name Server: dns5.rr.com
Name Server: dns1.rr.com

因此,如果理论 1 是正确的,则您需要按照上述方法禁用此首选项,或者完全使用不同的 DNS 服务器。

理论 #2:DNS 查询格式不正确

如理论 1 中所述,www.google.com即使用户请求不存在的 Internet 主机名,处理 NSLOOKUP 的 DNS 服务器也会返回“有效”的 DNS 记录。您可以通过查找故意无效的名称来确定是否发生了此错误重定向:

nslookup no-such-site.example.com

应该得到这个回应:

Server:  <your DNS server name>
Address:  <your DNS server IP>

*** <your DNS server name> can't find no-such-site.example.com: Non-existent domain

但是,如果您收到与问题类似的答复,则显然无效请求被拦截并重定向到错误查找/广告网页。

确定这一点后,理论 2 提出,当您对系统进行搜索时,www.google.com会在 DNS 请求中添加另一个后缀,这会导致查找请求无效,从而触发 DNS 服务器的错误重定向服务。

您可以通过运行以下命令并检查其输出来确定是否是这种情况:

nslookup -d2 www.google.com

-d2参数使 NSLOOOKUP 打印出为解决查找请求而提交的确切问题和答案。

在输出中,在每个发送请求()部分检查问题:提交。前几个将用于解析 DNS 服务器的名称。接下来是用于解析 www.google.com 的查找。基本上,您要查找的是任何查找请求以外www.google.com,例如。www.google.com.socal.rr.com如果你找到任何,那么你的机器实际上正在进行无效的 DNS 查找。这与理论 1 的提议不同,理论 1 认为您的机器正在进行有效的查找请求,但被错误地修改了。

如果您的机器发出了错误的查找请求,您需要检查 TCP/IP 配置中指定的域名后缀并删除任何不属于的域名后缀。


第 #2 期

以下是出现问题时网络上的一些调试输出:

nslookup www.google.com DNS 请求超时。超时为 2 秒。服务器:未知地址:209.18.47.62

在这种情况下,您的计算机根本无法访问 DNS 服务器,这表明存在网络连接问题。这并不能解释为什么您的 DNS 查找结果无效,而且可能有其他不相关的原因。无论如何,如果您的计算机发生这种情况时网络上的其他计算机运行正常,则强烈表明问题出在此 DNS 服务器上,而不是您的网络上。

同样,在这种情况下,使用不同的 DNS 服务器应该可以解决问题。

相关内容