google dns 和我的 linux 服务器

google dns 和我的 linux 服务器

昨晚我们遇到了一些严重的服务器事件。起初,问题似乎出在谷歌 (8.8.8.8) 上。我们运行 ping 时,有时会出现一些数据包丢失。大约在同一时间,我们的系统会弹出 DNS getaddr() 异常。

另外,这对我来说很奇怪,因为当我的提供商处的 DNS 记录发生变化时,我不得不不时刷新我的本地 DNS 缓存……

我的应用程序和服务器访问了相同的 5 个远程服务提供商,难道不应该缓存 DNS 吗?为什么我会收到 DNS 错误而不是网络错误?

答案1

如果您在 ping DNS 服务器时丢失数据包,那么在要求 DNS 服务器为您解析名称时也会出现周期性故障,这似乎是非常正常的。

如果不知道相关记录的 TTL 是多少,就很难诊断明显缺少缓存的情况 - 可能是远程主机将其 TTL 设置为非常短的生命周期,因为它们预计会交换机器,或者它们正在尝试进行基于 DNS 的故障转移。

我不会期望你的本地应用缓存 DNS 信息,至少不会缓存太长时间。恕我直言,那应该是一个错误,而不是一个功能。

如果你的本地缓存 DNS 服务器似乎没有缓存,我会调查你想要缓存的记录的 TTL,并确保报告错误的机器设置为使用仅有的用于名称解析的缓存服务器。

答案2

如果您正在运行 nscd,您的服务器将仅缓存 dns 记录。

相关内容