下面我来一步步总结一下我周末遇到的噩梦:
-11 月 8 日凌晨 2 点:我们的两个互联网提供商之一开始遇到问题。数据包被丢弃,我们的客户(访问我们的网络服务)的连接受到影响。为了深入了解,我将我们的主要 DNS 托管在本地,但在我们的网络之外。
-11 月 9 日 12:30pm:由于我们目前只设置了 2 个 DNS 解析器(我们作为主解析器,另一个外部解析器作为从解析器),我添加了 8.8.8.8(Google 公共 DNS)作为名称服务器,并配置了区域传输到它们。我以为 Google 成为从解析器之前会有延迟。
-11 月 9 日下午 1:30:由于数据包丢失,我提取了解析到坏提供商 IP 地址的 A 记录。这样,我们只剩下一个 IP(我们的好提供商)的 A 记录。当时所有 IP 的 TTL 都设置为 1 小时。提取记录后,我将 TTL 设置为 5 分钟,这样当提供商解决问题时,我就可以快速重新添加已删除的 A 记录。
-此后不久,我们的网站开始在世界偏远地区消失。
-11 月 10 日上午 7:30:不良提供商修复了他们的设备,我重新添加了之前删除的 A 记录。
我的问题是,为什么我的网站在世界某些地区仍然无法访问?使用 NSLOOKUP 时,我在意大利可以访问,但在澳大利亚不行。在美国大部分地区都可以访问,但不是全部。
我还发现(令我惊恐的是)一些 DNS 服务器缓存的 A 记录超过了其规定的 TTL。我甚至不知道这是可能的。例如,我创建了一个 TTL 为 5 分钟的 A 记录,等待了 10 分钟,然后使用 Google 公共 DNS (8.8.8.8) 进行检查。它在那里。然后我删除了该记录,等待了 20 分钟,然后再次检查。它仍然在那里。它停留了一段时间,但最终消失了。
任何关于此问题的帮助都将不胜感激。
答案1
Google 不为人们提供权威 DNS。他们的 DNS 服务仅用于递归解析。