当我尝试从 Windows 7 上的网络接口配置手动更改 DNS 服务器时,如下所示:
对于某些不提供 DNS 服务的随机主机(任何无效 IP),我的浏览器需要花一些时间(大约 30 秒)才能访问任何网站,
为什么要花这么长时间?以这种方式更改 DNS 不是应该会立即破坏网络吗?
答案1
这是预期的行为。
您的浏览器尝试联系 DNS 服务器。由于不存在,它会不断尝试,直到超时。默认超时时间为 30 秒。如果您想立即获得响应,请将其解析为存在但不提供 DNS 服务的地址,例如 localhost (127.0.0.1)
答案2
正如 LPChip 所述,这是正常的,DNS 更改应立即生效,但这是您的浏览器自己在做的事情。它将向名称服务器发出请求,然后仅在知道目的地后才从服务器请求页面。
它会尝试最多 30 秒,不断发送 UDP 数据包,向 DNS 服务器请求信息。30 秒后如果没有响应,浏览器应该会出错。您将看到来自 chrome 的以下消息之一:
错误名称未解决
您的浏览器是否会从名称服务器收到有效响应,但名称服务器响应说它没有该记录的可用信息。
DNS_PROBE_FINISHED_BAD_CONFIG
可能是名称服务器永远不会发回响应。
连接超时错误
如果你已经将域名解析为 IP,但对该 IP 的请求数据包没有得到响应,则会收到
连接被拒绝
如果您已将域名解析为 IP,但该 IP 的服务器拒绝您的请求,则会收到该信息。
在您的场景中,我预计您会收到第二个。