这是我的 unbound.conf
server:
interface: 0.0.0.0
access-control: 10.0.0.0/8 allow_snoop
access-control: 127.0.0.1 allow_snoop
access-control: 192.168.0.0/16 allow_snoop
...
阅读文档,应该就足够了。然后在 resolv.conf 中:
nameserver 127.0.0.1
但这不起作用。dig
给了我
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 41485
;; flags: qr rd ad; QUERY: 0, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available
...
SERVER: 127.0.0.1#53(127.0.0.1)
如果我添加未绑定的配置,问题就可以解决access-control: <internet-ip-address-of-eth0> allow
,但这需要我将地址放入配置文件中,而该地址可能会发生变化。
为什么此配置不简单地使 dig 查询 127.0.0.1 上的本地服务器?(尽管它说它做到了!)。
看起来 unbound 在 127.0.0.1 上接收查询,但随后尝试在互联网 IP 上响应?(来自系统日志:)
Jan 11 11:26:28 hostname unbound: [25567:0] info: send_udp over interface: 1 127.0.0.1 127.0.0.1
Jan 11 11:26:39 hostname unbound: [25567:0] info: receive_udp on interface: 1 127.0.0.1 127.0.0.1
Jan 11 11:26:39 hostname unbound: [25567:0] debug: refused query from ip4 35.63.78.210 port 48650 (len 16)
答案1
您需要将其设置为允许来自本地主机的查询......
server:
do-not-query-localhost: no
这将解决您遇到的问题。