我们正在为网络外的一小群人运行私有递归 DNS(bind 9.10.3),以加快他们的浏览速度。我最近注意到,我们的服务器正在回答带有“.local”或“.home”的查询,这些查询附加到一些入站查询,以及一些带有“local”甚至“home”的查询,而没有任何其他数据,以下是我们日志中的一个示例(1.2.3.4 是我们的 DNS)
Oct 20 09:36:28 dns1 named[3080]: client X.X.X.X#50315 (somethingrandom.local): view someview: query: somethingrandom.local IN A + (1.2.3.4)
Oct 20 09:36:38 dns1 named[3080]: client X.X.X.X#50315 (somethingrandom.local): view someview: query: somethingrandom.home IN A + (1.2.3.4)
Oct 20 09:36:55 dns1 named[3080]: client X.X.X.X#57750 (local): view someview: query: local IN SOA + (1.2.3.4)
Oct 20 09:36:59 dns1 named[3080]: client X.X.X.X#49441 (local): view someview: query: local IN SOA + (1.2.3.4)
Oct 20 09:37:01 dns1 named[3080]: client X.X.X.X#53231 (local): view someview: query: local IN SOA + (1.2.3.4)
我对服务器进行了挖掘,以查看返回的响应,并且非常确定下面的响应完全正确,但我不是 100% 确定。挖掘结果如下,只需要有人确认它看起来应该如此 - 我们不想在本地主机或本地网络上回答任何问题(现在已存在)。
> dig @ourdns local
回答:
; <<>> DiG 9.10.3 <<>> @dns1 local
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 4495
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;local. IN A
;; AUTHORITY SECTION:
. 85530 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2015102000 1800 900 604800 86400
;; Query time: 17 msec
;; SERVER: 1.2.3.4#53(1.2.3.4)
;; WHEN: Tue Oct 20 13:00:17 EDT 2015
;; MSG SIZE rcvd: 109
答案1
是的,这是一个很好的回应 - 注意NXDOMAIN
状态,这意味着它对客户端说“什么都没有”。
由于它是一个递归器,因此它基于以下事实做出决定:它向根服务器请求.local
,而根服务器响应它不存在。(有趣的是 - 这种对无效 TLD 的查询是根 DNS 服务器负载的很大一部分,因为 TLD 不存在的时间.local
几乎与真实 TLD 存在的时间一样长)