【问题标题】:DNS caching using DDoS protection services使用 DDoS 保护服务的 DNS 缓存
【发布时间】:2016-01-04 15:20:50
【问题描述】:

我目前正在为我的域使用 CloudFlare 的服务。

有趣的是,当我更改我的 A 记录时,几分钟后会弹出新网站。

我记得,当我不使用它们时,我必须等待 24 小时,在某些计算机上甚至要等待 48 小时。

这是因为他们吗?如果是,我猜是因为我更改了 A 记录,但域实际上保持不变(他们的)?

【问题讨论】:

  • ServerFault 的相关问答:Is low TTL an appreciable burden on DNS?.
  • 但是如果他们不更改 A 记录,当我使用控制面板更改它时呢?然后,就不会有任何缓存问题。我认为情况就是这样。我刚刚向他们发送了询问。

标签: networking dns


【解决方案1】:

每条 DNS 记录都有一个“生存时间”(又名 TTL),它指定 dns 解析器在获取新的答案副本之前应该记住答案的时间。

例如:

dig +noall +answer stackoverflow.com
stackoverflow.com.      144     IN      A       104.16.37.249
stackoverflow.com.      144     IN      A       104.16.35.249
stackoverflow.com.      144     IN      A       104.16.33.249
stackoverflow.com.      144     IN      A       104.16.36.249
stackoverflow.com.      144     IN      A       104.16.34.249

在这种情况下,我的解析器将记住这个问题“stackoverflow.com”的答案 144 秒以上。可能 CloudFlare 使用的 TTL 比您过去的 DNS 记录来源要小。

【讨论】:

  • CloudFlare 的 TTL 默认为 5 分钟,因此传播几乎是即时的,但中间解析器(和浏览器)可能会缓存更长时间 - 不考虑原始 TTL - 所以它归结为哪个服务器(S)客户端用于解析域、哪些浏览器,有时还用于解析哪个操作系统。
  • 如果它只依赖于 TTL,这是否意味着我的旧 DNS 服务器有 86400?我不记得那样。此问题是否与最终用户 DNS 服务器有关?
  • 没错。所以主要问题是 - 当我使用控制面板更改它们时,CloudFlare 是否会更改它的记录?因为如果他们不这样做 - 就不会有任何现金刷新问题。
  • @TurboHost 我无法知道您的旧服务器使用的 TTL,但 86400 并不是一个不寻常的值。我认为 CloudFlare 会更改其(权威)DNS 服务器中的记录以响应您的请求,但其他 DNS 服务器可能仍会记住旧值,直到它们的记录“超时”。正如上面所指出的,肯定有一些程序(例如 Web 浏览器)不支持 TTL——您只需查找一次就可以记住它,直到它们重新启动。
猜你喜欢
  • 2020-12-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-17
  • 2018-08-21
  • 2015-01-18
  • 1970-01-01
  • 2012-07-27
  • 1970-01-01
相关资源
最近更新 更多