Сервисы tinydns и dnscache работают, и у меня в resolv.conf указано 127.0.0.1:
root@ubuntu:~# cat /etc/resolv.conf
nameserver 127.0.0.1
domain localdomain
search localdomain
root@ubuntu:~# sv status /etc/service/*
run: /etc/service/dnscache: (pid 927) 22s; run: log: (pid 663) 517s
run: /etc/service/tinydns: (pid 898) 418s; run: log: (pid 660) 517s
root@ubuntu:~# cat /etc/service/dnscache/env/IP
127.0.0.1
root@ubuntu:~# dig @192.168.17.139 joe.com
; <<>> DiG 9.7.1-P2 <<>> @192.168.17.139 joe.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35794
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;joe.com. IN A
;; ANSWER SECTION:
joe.com. 300 IN A 1.1.1.1
<snip>
Почему я получаю сообщение «ВНИМАНИЕ: рекурсия запрошена, но недоступна» при запуске программы dig. Я считаю, что он должен иметь возможность рекурсии с использованием dnscache.
К каким портам и IP-адресам привязаны два сервера?
Похоже, у вас могло быть tinydns
(авторитетный) на 192.168.17.139
адрес и dnscache (рекурсивный) только на интерфейсе обратной связи.
Если это так, вам нужно использовать dig @127.0.0.1
разговаривать с рекурсивным кешем, или даже просто опустить IP-адрес из dig
командная строка, после чего по умолчанию будет использоваться все, что находится в /etc/resolv.conf