Unbound отклоняет запросы от localhost, хотя `access-control: 127.0.0.1 allow_snoop`
Это мой 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
Это решит вашу проблему.