Unbound
Если в качестве авторитарного сервера использую bind9, то для рекурсивного обычно использую unbound.
Установим unbound:
apt update && apt install unbound -y
Скачаем хинты:
wget https://www.internic.net/domain/named.root -O /etc/unbound/root.hints
Настроим примерный конфиг:
nano /etc/unbound/unbound.conf
Пример конфигурации:
server:
# Порты
interface: 0.0.0.0
interface: ::0
port: 53
# Разрешение IPv4 и IPv6
do-ip4: yes
do-ip6: yes
# Настройки доступа (только для указанных IP)
access-control: нужныйайпи allow
access-control: 0.0.0.0/0 refuse
access-control: ::/0 refuse
cache-min-ttl: 3600
cache-max-ttl: 86400
# auto-trust-anchor-file: "/var/lib/unbound/root.key"
# verbosity: 1
# logfile: "/var/log/unbound.log"
root-hints: "/etc/unbound/root.hints"
num-threads: 1
prefetch: yes
use-caps-for-id: no
aggressive-nsec: yes
Если нужно загрузить ключи для DNSSEC, можно сделать это через unbound-anchor:
unbound-anchor
Ну и в завершении:
unbound-checkconf
systemctl restart unbound
systemctl enable unbound
nano /etc/systemd/resolved.conf
systemctl restart systemd-resolved
systemctl disable systemd-resolved
systemctl stop systemd-resolved
rm /etc/resolv.conf
nano /etc/resolv.conf
nameserver 127.0.0.1