Este é o meu 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
...
Lendo a documentação, deve ser o suficiente. E então no resolv.conf:
nameserver 127.0.0.1
No entanto, isso não funciona. dig
me dá
;; 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)
O problema pode ser resolvido se eu adicionar access-control: <internet-ip-address-of-eth0> allow
à configuração não vinculada, mas isso requer que eu coloque o endereço no arquivo de configuração, e esse endereço pode mudar.
Por que essa configuração não faz simplesmente uma consulta ao servidor local em 127.0.0.1? (Mesmo que diga que sim!).
Parece que o unbound recebe consultas no 127.0.0.1, mas tenta responder no ip da internet? (É do syslog:)
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)