我支付基于每秒查询的DNS服务.
我们没有使用IPv6,但是大量的查询(我支付的)都是为AAAA记录而来的.据我所知,大多数DNS堆栈现在会同时请求A和AAAA,而且我无法改变它.
我想做的是用长TTL在AAAA记录中加入一些东西.
(降低我的命中率)
有什么我可以放的吗?空值?等效的IPv4地址?
任何指导将不胜感激.
解决方法
在BIND 9中,SOA记录中的“最小”值表示可以缓存NXDOMAIN响应的时间.这是以下示例中的最后一个值:
example.com. IN SOA ns.example.com. hostmaster.example.com. ( 2003080800 ; sn = serial number 172800 ; ref = refresh = 2d 900 ; ret = update retry = 15m 1209600 ; ex = expiry = 2w 3600 ; min = minimum = 1h )
把它换成更长的东西,比如86400(1天)甚至604800(1周).
请记住,这适用于任何不存在的记录的负缓存,而不仅仅是AAAA记录,因此在添加任何类型的新记录时需要采取其他步骤(减少此值,等待,添加新记录,增加此值)再次).