通配符CNAME DNSlogging覆盖一个提供商上的特定DNSlogging

进入一个奇怪的问题,其中通配符CNAMElogging(即* .example.com)重写特定的Alogging(即host1.example.com,host2.example.com)。 它只影响Verizon Wireless的域名服务器。 权威的域名服务器由Network Solutions(ns1.dnsbycomodo.net和ns2.dnsbycomodo.net)控制。

其他提供程序的名称服务器返回了正确的结果(OpenDNS和mxtoolbox.com),并且它不能成为caching问题,因为返回的不正确的IP(通过CNAME查找)以前从未使用,并且最重要的是,更改是在12小时前提出的,logging中的TTL只有7200。

删除通配符CNAMElogging似乎解决了这个问题。 有什么想法发生了什么? 有没有其他人遇到这个? 这只是Verizon的DNS服务器与networking解决scheme对话的一些错误吗? 据说通配符CNAMElogging已经有效一段时间( 通配符CNAME DNSlogging是否有效? )。

编辑:

这是事情发生的顺序

原始configuration:
A * .example.com – > 1.1.1.1
host1.example.com – > 2.2.2.2
host2.example.com – > 3.3.3.3

变成:
删除了“A”* .example.com
添加了CNAME * .example.com – > hostalias.example.net,它parsing为4.4.4.4

结果:
Verizon对host1.example.com和host2.example.com的查询开始返回4.4.4.4,而在OpenDNS和mxtoolbox.com上,它们仍分别正确返回2.2.2.2和3.3.3.3。

感谢您更新您的问题,这使得事件的顺序更清晰。 不幸的是,从recursion的DNSparsing器的angular度来看,您所描述的行为仍然非常令人费解。 这是通过例子来最好地说明的。


当查询不在caching中时,recursionDNS服务器将发送以下查询到权威名称服务器:

问题: host1.example.com. IN A host1.example.com. IN A

当明确的Alogging被定义时,远程授权服务器将如此响应:

答案是: host1.example.com. IN A 2.2.2.2 host1.example.com. IN A 2.2.2.2

或者如果它正在击中CNAMElogging,就像这样:

答案是: host1.example.com. IN CNAME hostalias.example.net. host1.example.com. IN CNAME hostalias.example.net.


在这两种情况下,selectAlogging还是CNAMElogging都是由授权服务器决定的,而不是recursion服务器。 顾名思义,recursion服务器是recursion的。 上游客户端对host.example.com. IN A的请求host.example.com. IN A 除非需要额外的查询才能得出答案,否则host.example.com. IN A一直沿着未经修改的方式传递。 (在这种情况下,这将是hostalias.example.net的附加查找,除非权威名称服务器可以在相同的响应中提供该答案)

鉴于这一理解充分的行为,首先的假设必须被视为可疑。 其中一个事实不是100%准确的:

  • 这些logging的定义顺序。
  • Verizon返回4.4.4.4的回应。 (即响应来自离您的networking更近的地方,甚至是主机文件)
  • 所有的权威服务器都返回相同的请求响应。
  • 操作员错误。
  • 人类的记忆。

我知道这是一种无法回答的问题,但是如果没有更好的文件logging,我不认为我们可以给你一个更好的logging。