我正在尝试使用 unbound 将 DNS 查询转发到其他递归 DNS 服务器。我的未绑定的配置文件好像:
forward-zone:
name: "."
forward-addr:x.x.x.x
forward-addr:x.x.x.x
forward-addr:x.x.x.x
但是当我使用命令
# unbound-control lookup google.com
The following name servers are used for lookup of google.com.
forwarding request:
Delegation with 0 names, of which 0 can be examined to query further addresses.
It provides 3 IP addresses.
x.x.x.x not in infra cache.
x.x.x.x not in infra cache.
x.x.x.x not in infra cache.
如何使不受约束的 DNS 查询转发到前向区域中定义的另一个递归服务器?
答案1
unbound-control lookup
看起来并不是这样的命令:从你的输出中,它向你展示了是转发到列出的地址,尽管看起来是一个负面的回应(除非它是实际上打印‘xxxx’!)
具体来说:
forwarding request:
嗯,这是关键。Delegation with 0 names ...
报告称没有一个转发器配置了使用域名forward-host
(相对forward-addr
)需要先解决的问题。It provides 3 IP Addresses ...
以下地址是配置的转发器。x.x.x.x not in infra cache.
(IE,主持人缓存 (cache) 存储有关上游主机的网络统计信息,以便稍后为查询选择最佳解析器。在主机实际用于查找之前,它将是空的;它也会相对较快地过期。如果您执行dig google.com @127.0.0.1
并再次运行lookup
,您应该会看到缓存已更新。
如果您配置为递归解析器和不是货运代理,此命令将显示名称服务器记录和主机统计信息(下文)用于递归查找,但实际上并未进行查找。