启动后约 2 分钟内无 DNS

启动后约 2 分钟内无 DNS

启动后,我立即通过 wifi/路由器连接互联网

C:\Users>ping 8.8.8.8
Ping wird ausgeführt für 8.8.8.8 mit 32 Bytes Daten:
Antwort von 8.8.8.8: Bytes=32 Zeit=11ms TTL=55
Antwort von 8.8.8.8: Bytes=32 Zeit=10ms TTL=55
Antwort von 8.8.8.8: Bytes=32 Zeit=11ms TTL=55
Antwort von 8.8.8.8: Bytes=32 Zeit=10ms TTL=55

启动后不久 DNS 查找失败

C:\Users>nslookup heise.de
DNS request timed out.
    timeout was 2 seconds.
Server:  UnKnown
Address:  62.117.1.25
DNS request timed out.
    timeout was 2 seconds.
DNS request timed out.
    timeout was 2 seconds.
DNS request timed out.
    timeout was 2 seconds.
DNS request timed out.
    timeout was 2 seconds.
*** Zeitüberschreitung bei Anforderung an UnKnown.

启动后约 2 分钟,DNS 问题神奇地自行修复。

C:\Users\razor>nslookup heise.de
Server:  ns1.telecolumbus.net
Address:  62.117.1.25
Nicht autorisierende Antwort:
Name:    heise.de
Addresses:  2a02:2e0:3fe:1001:302::
          193.99.144.80

我该如何修复它,以便启动后立即获得有效的 DNS 解析?

答案1

为了帮助隔离问题,请使用路由追踪(Linux 或 OS X)命令,在 Microsoft Windows 系统上是 tracert。在发生 DNS 问题时和未发生 DNS 问题时发出该命令。即tracert -d 62.117.1.25检查 DNS 服务器的网络路径。这将向您显示所有网络跳数系统与 DNS 服务器之间的通信,如果最初到达 DNS 服务器时出现问题,则问题发生的位置。tracert 的“-d”选项指示它不尝试将 IP 地址解析为域名,这最初不起作用。-d当 DNS 正常工作时,您可以省略该选项。

您还可以尝试在启动后立即运行 nslookup 命令时更改 DNS 服务器,以帮助隔离问题。由于 8.8.8.8 是 Google DNS 服务器,请查看如果您指定使用它会发生什么。例如:nslookup heise.de 8.8.8.8。如果您在命令末尾放置 DNS 服务器的 IP 地址,则将使用该 DNS 服务器,而不是 Windows 配置为使用的 DNS 服务器。或者,您只需键入nslookup,然后在 nslookup 提示符下键入server 8.8.8.8。例如:

c:\>nslookup
Default Server:  UnKnown
Address:  ::1

> server 8.8.8.8
Default Server:  google-public-dns-a.google.com
Address:  8.8.8.8

> heise.de
Server:  google-public-dns-a.google.com
Address:  8.8.8.8

Non-authoritative answer:
Name:    heise.de
Addresses:  2a02:2e0:3fe:1001:302::
          193.99.144.80

如果您最初使用 Google DNS 服务器,问题是否仍然会出现,或者您是否会从该 DNS 服务器获得回复?

我使用过 DNSQuerySniffer由 Nir ​​Sofer 创建,可免费从他的尼尔软件网站以及他创建的许多其他免费实用程序,用于调查 Windows 系统上的 DNS 问题。您可以使用它来帮助解决问题。例如,您可以使用它来验证您的系统在发生问题时是否发送了 DNS 查询。

您还可以测试更改 nslookup 的超时值是否有任何不同。例如,要将其从 2 秒更改为 4 秒,您只需nslookup在命令提示符下键入,而无需在其后输入 IP 地址或完全限定域名 (FQDN)然后输入set timeout=4。您可以调整 nslookup 的另一个参数是重试次数,可以使用 来更改set retry=XX试次数。例如:

c:\>nslookup
Default Server:  UnKnown
Address:  ::1

> set timeout=4
> heise.de
Server:  UnKnown
Address:  ::1

Non-authoritative answer:
Name:    heise.de
Addresses:  2a02:2e0:3fe:1001:302::
          193.99.144.80

>

对某个值(例如超时值)的更改不是永久性的,它仅适用于该 nslookup 实例。一旦您键入exit退出 nslookup 命令,下次使用该命令时,您将再次获得默认值 2 秒。

更新:要确定 Windows 系统和您使用的 DNS 服务器之间的网络路径上是否存在网络问题,您可以运行一些 tracert 测试,例如,tracert ns1.telecolumbus.nettracert -d tracert ns1.telecolumbus.net放弃 tracert 命令的 DNS 解析。Tracert 可能会显示网络路径上其他地方存在问题。例如,您可能会看到高往返时间 (RTT)或持续延迟在特定网络跳跃, ETC。

您还可以尝试将您正在使用的 DNS 服务器更改为另一个,例如,8.8.8.8 的 Google DNS 服务器,或者使用开放DNS服务器,例如 208.67.222.222 和 208.67.220.220 - 参见使用替代 DNS 而不是 ISP DNS 服务器的优缺点是什么?。您可以在 Windows 系统本身上进行更改;如果它现在通过 DHCP 获取 IP 地址,则可以修改 Windows 系统上的网络适配器的配置以使用静态 IP 地址和 DNS 服务器,或者,如果您的路由器用作 DHCP 服务器,则可以配置路由器以提供 Google 或 OpenDNS DNS 服务器 IP 地址,供局域网 (LAN) 上的设备将使用的 DNS 服务器使用。然后检查问题是否仍然存在或不再存在。

相关内容