domain-name-system – DNS超时应该如何工作?

我最近遇到一个问题,即请求我的服务器(带有托管DNS提供商)的IP地址的远程服务响应:
DNS problem: SERVFAIL looking up A for MysqL.xavamedia.nl

(更新:这里提到的远程服务是Let’s Encrypt;我提交了a bug针对他们的问题跟踪器,这导致我走上了这条道路.)

在我的本地网络上进行测试时,我能够看到我有时从托管的DNS服务器获得空DNS响应.显然这是间歇性的,因为它只在DNS记录不在缓存中时才会发生,而且只有当DNS服务器真的很忙时才会出现问题.

这是一个空响应消息的Wireshark描述:

当然,由于大多数DNS查询和响应都是通过UDP发送的,因此本地解析器只会等待一段时间才能响应,然后放弃.我现在想知道的是,是否存在DNS响应时间指南?我的DNS主机有点耸耸肩,并说我的本地解析器很快发出了空响应.我之前从未遇到过这个问题,但我对失败模式感到惊讶 – 没有错误代码的空DNS响应.

有人知道一些关于如何工作的指导方针,以及我何时/如何证明我的DNS托管做错了什么?

解决方法

您正在查看的空响应是一个称为 NODATA的合成状态.NODATA和NXDOMAIN都表示该名称不存在,但NXDOMAIN也适用于指定记录下的所有名称. NODATA建议该名称与未请求类型的记录相关联,或者其他记录位于您请求的下方. (即example.test.xavamedia.nl.)

在这种情况下,你从NODATA和NXDOMAIN的外卖实际上是相同的:所请求的名称和类型的记录不存在.已到达请求的域的权威名称服务器,它回复说明该名称和类型的记录不存在.这不是通信错误.权威服务器说它没有数据.您正在与之交谈的服务器很可能已经处理了此请求,并且负面缓存了在过去四小时内缺少该记录的情况. (14400秒是由xavamedia.nl的SOA记录定义的负缓存间隔.)

在此实例中遇到NXDOMAIN或NODATA本身都不会导致超时,但您的解析程序库可能会从此处继续附加DNS搜索后缀,这可能反过来触发搜索域的权威DNS服务器的超时.

应该注意的是,这没有解释为什么在查找MysqL.xavamedia.nl时遇到SERVFAIL响应的原因.这表明递归服务器从权威服务器获得答案时出现问题.权威服务器回复SERVFAIL,递归服务器无法访问任何权威服务器,或者递归服务器确定返回的数据无效.这些都不能通过您提供的信息得到证实.

相关文章

vue阻止冒泡事件 阻止点击事件的执行 <div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些