我最近遇到了一个问题,远程服务请求我的服务器的 IP 地址(使用托管 DNS 提供商)响应为:
DNS problem: SERVFAIL looking up A for mysql.xavamedia.nl
Run Code Online (Sandbox Code Playgroud)
(更新:这里提到的远程服务是 Let's Encrypt;我针对他们的问题跟踪器提交了一个错误,这使我走上了这条道路。)
在我的本地网络上进行测试时,我发现有时我会从托管的 DNS 服务器获得空的 DNS 响应。显然这是间歇性的,因为它仅在 DNS 记录不在缓存中时才会发生,并且只有当 DNS 服务器非常忙时才会出现问题。
这是 Wireshark 对空响应消息的描述:
当然,由于大多数 DNS 查询和响应是通过 UDP 发送的,本地解析器只会等待响应一段时间,然后放弃。我现在想知道的是,是否有 DNS 响应时间的指导方针?我的 DNS 托管商耸了耸肩,说我的本地解析器过早地发送了空响应。我以前从未遇到过这个问题,但我对失败模式感到惊讶——没有错误代码的空 DNS 响应。
有人知道有关这应该如何工作的一些指导方针,以及我何时/如何证明我的 DNS 托管有问题?