DNS 解析、浏览器导航和缓存

And*_* A. 8 dns ipconfig wan browser-cache

我知道 NS 更新可能需要 24 小时以上。然而,在这个过程中,有一件事情让我很感兴趣。

我无法更改 ISP 路由器的 DNS,因此我将 WAN/LAN 设置为使用Google 公共 DNS

流程场景:

  1. 我换了一个域名 NS
  2. 几分钟后,我转到dnschecker.org,添加自定义 DNS 服务器以输入 Google 公共名称服务器
  3. dnschecker.org假设它列出了 50% 的 DNS 更新服务器,包括 Google DNS
  4. 我去windows命令行并输入 ipconfing /flushdns
  5. 我清除所有 chrome 文件缓存 ( Ctrl+Shift+Del),清除 chrome 主机 ( chrome://net-internals/#dns ) 缓存并刷新 chrome 套接字池 ( chrome://net-internals/#sockets )
  6. 最后,我在新的 Chrome(或其他浏览器)窗口选项卡中打开该网站,显示的网站是旧网站。但是,与此同时,如果我通过像Whoer这样的免费在线代理访问域,则该网站会加载更新的 DNS 版本。
  7. 仅 24 小时后,我的 chrome 加载了更新的 DNS 站点版本。

怎么会这样?我错过了什么吗?

har*_*ymc 11

您的 ISP 的 DNS 服务器在其缓存中有您的地址,因此返回旧地址。它将继续这样做,直到 您的数据的生存时间 (TTL)到期。

DNS 记录存储在缓存中,主要是为了提高 DNS 查询的性能。每个 DNS 记录都有一个生存时间 (TTL) 值,这是 DNS 服务器应将该记录存储在缓存中的时间。即使更改了记录,DNS 服务器仍将继续使用其从缓存中的先前值,直到该时间过去。

DNS 传播是全球 DNS 服务器更新其域名缓存信息所需的时间。它受到可能已更改的 DNS 记录的 TTL 的影响,但还有其他因素可能会起作用。

DNS 更改可能需要长达 72 小时才能在全球范围内传播,但大多数情况下这会在几个小时内发生。

通过将 TTL 设置为较低的数字(不推荐),例如 14400(4 小时),可以加快传播时间。但是你应该在 NS 改变之前做好,可能提前 96 小时。

当您查询缓存中没有您的 DNS 的 DNS 服务器时,您可能会发现它返回新的 DNS 记录,如果更改已经传播了那么远。


djs*_*ide 3

正如您所指出的,您正在使用 ISP 的路由器,并且它似乎被设置为仅使用 ISP 的 DNS 服务器。

\n\n

同时,您已使用该网站检查 Google 的 DNS 服务器。事实上,您也可以在本地计算机上执行此操作 \xe2\x80\x93nslookup <domain> 8.8.8.8在命令提示符下将查询 8.8.8.8 的 IP <domain>

\n\n

您看到的是“网络”上的大多数 DNS 服务器已更新,但您的 ISP 的 DNS 服务器仍在返回旧结果,并将继续这样做,直到更新。您可以通过简单地不使用 ISP 的 DNS 服务器,而是在您的计算机上手动设置它们来绕过此问题(但是,只有当您的 ISP 不阻止外部 DNS 访问时,这才有效)。

\n\n

一旦您的 ISP 的 DNS 服务器更新,您就会收到更新的页面,就像网络上的其他人一样。

\n