尽管有“access-control: 127.0.0.1 allow_snoop”,Unbound 仍拒绝来自 localhost 的请求

尽管有“access-control: 127.0.0.1 allow_snoop”,Unbound 仍拒绝来自 localhost 的请求

这是我的 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

这将解决您遇到的问题。

相关内容