DNS 请求中的下划线

近期排查问题,发现 DNS 的递归服务器会出带下划线的查询,如:

nslookup www.hbspy.moe 会先发送查询 _.hbspy.moe 的请求

一顿 Google 后发现,是由于 Bind9 的 QNAME Minimization 的机制

https://www.isc.org/blogs/qname-minimization-and-privacy/

默认的配置为 relaxed mode

该机制的目的是为了隐私保护,减小业务域名泄漏到根、顶级域

但是会带来大量的 NXDOMAIN 或 REFUSED 回复

由于大部分 DNS 认为下划线不是合法的域名,虽然现在也已经是合法的了

https://docs.aws.amazon.com/zh_cn/Route53/latest/DeveloperGuide/DomainNameFormat.html

神了个奇

REF: