wilcard subdoman是否获得DNScaching?

如果在DNS区域中添加通配符子域名,例如:

*.example.com. 3600 IN A <Some IP>

有多less查询说somerandomsubdomain.example.comcaching? 经过一番研究,我发现example.com会被caching在不同的地方,因此我的DNS服务器可以直接查询example.com DNS服务器来查找后续的anotherrandom.example.com

但是,在服务器/路由器/操作系统caching还caching*.example.com是一个通配符条目,因此所有未来的查询其他随机子域example.com立即解决?

通配符扩展只发生在权威的域名服务器上,所以通配符logging本身永远不会被caching。 (一方面,您需要掌握所有常规logging,以了解通配符实际应用的名称。)

但是,通配符的扩展产生的各种logging可能会被caching。

例如,如果查询了foo.example.com. IN A foo.example.com. IN A ,这被发现匹配通配符*.example.com. 3600 IN A 192.0.2.1 *.example.com. 3600 IN A 192.0.2.1由此产生的答案foo.example.com. 3600 IN A 192.0.2.1 foo.example.com. 3600 IN A 192.0.2.1 can(可能会)被caching。

如果可以做区域传输,服务器只能caching通配符部分。 如果他们属于一个组织(或者不同的组织密切合作),他们往往只会这样做。

如果他们不使用区域传输,他们会进行前瞻性查找(您的路由器肯定只会这样做)。 在这种情况下,他们只会得到与如果明确定义logging一样的回复,例如:

 notdefined.example.com 60168 IN A <someip> 

即使他们会得到像这样的回报

 *.example.com 60168 IN A <someip> 

他们仍然需要查找example.com的其他所有logging,因为任何显式定义的logging都优先于通配符logging。 即:

 *.example.com. 3600 IN A <Some IP> www.example.com. 3600 IN A <Some IP2> ftp.example.com. 3600 IN A <Some IP3> 

将是有效的。 来源: RFC 4592和RFC 1034