下面是从 Unix 服务器执行 nslookup 的示例(IP 和域都是假的):
$ nslookup
> set type=srv
> _kerberos._tcp.example.com
Server: 192.168.1.100
Address: 192.168.1.100#53
Non-authoritative answer:
_kerberos._tcp.example.com service = 0 100 88 dc01.example.com.
_kerberos._tcp.example.com service = 0 100 88 dc02.example.com.
Authoritative answers can be found from:
. nameserver = h.root-servers.net.
. nameserver = e.root-servers.net.
. nameserver = a.root-servers.net.
. nameserver = l.root-servers.net.
. nameserver = d.root-servers.net.
. nameserver = f.root-servers.net.
. nameserver = k.root-servers.net.
. nameserver = i.root-servers.net.
. nameserver = b.root-servers.net.
. nameserver = m.root-servers.net.
. nameserver = c.root-servers.net.
. nameserver = j.root-servers.net.
. nameserver = g.root-servers.net.
dc00.example.com internet address = 192.168.1.200
dc01.example.com internet address = 192.168.1.201
有什么办法可以阻止 BIND 发送额外的部分并只返回非权威答案?
编辑 1:我删除了我说我认为 Windows nslookup 不知道如何处理结果的部分。它确实知道,但它只是没有这样标记。
编辑2:当使用 Windows DNS 服务器时,它不将根服务器作为答案的一部分包含在内。
编辑 3:我们只在 SRV 记录中注意到了这一点。
答案1
评论来自布兰登·泽维尔有效。将以下内容放入 named.conf 的全局选项块中可防止 BIND 发送其他数据:
minimal-responses yes;