Установка
apt-get install unbound cd /etc/unbound wget ftp://ftp.internic.net/domain/named.cache # Это список корневых DNS-серверов unbound-control-setup # генерируем ключи chown unbound:root unbound_* # хозяин chmod 440 unbound_* cp /usr/share/doc/unbound/examples/unbound.conf /etc/unbound/unbound.conf.default nano /etc/unbound/unbound.conf

Конфигурация
/etc/unbound/unbound.confinclude: "/etc/unbound/unbound.conf.d/*.conf"
module-config: "validator iterator"
server:
identity: "DNS"
version: "1.0"
hide-identity: yes
hide-version: yes
harden-glue: yes
num-threads: 1 # Количество потоков
msg-cache-size: 32m # размер кеша полученных DNS ответов
rrset-cache-size: 64m # кеша DNS записей
key-cache-size: 20m # размер памяти для хранения DNSSEC ключей
cache-max-ttl: 2678400 # максимальный срок жизни записей в кеше (24ч.*31)
# сколько одновременных клиентских запросов сможет обработать один поток
num-queries-per-thread: 1024
# срок жизни записей из внутреннего кеша "неработающих" и "неправильных" DNS серверов
infra-host-ttl: 60
infra-lame-ttl: 120
# сколько различных случайных портов может использовать при проведении запросов
outgoing-range: 512
verbosity: 1 # Степень вывода логов 1-4
logfile: "/var/log/unbound.log"
use-syslog: no
#Кому разрешено посылать рекурсивные запросы (пользоваться кешем)
access-control: 0.0.0.0/0 allow
private-address: 10.0.0.0/24
port: 53
interface: 127.0.0.1 # Интерфейс на котором будем слушать 53-й порт
interface: 10.10.10.10 #
interface-automatic: no # Определять интерфейсы автоматически
outgoing-interface: 10.10.10.10 # ip адрес интерфейса, который подключен к интернет
do-not-query-localhost: no
do-ip4: yes
do-ip6: no
do-udp: yes
do-tcp: yes
forward-zone:
name: "."
# forward-addr: 127.0.0.1@40 # dnscrypt-proxy
# forward-addr: 127.0.0.1@41 # dnscrypt-proxy
forward-addr: 8.8.8.8@53 # google
forward-addr: 77.88.8.8@53 # yandex
remote-control:
control-enable: yes
control-interface: 127.0.0.1
# control-interface: 10.10.10.10
control-port: 953
server-key-file: "/etc/unbound/unbound_server.key"
server-cert-file: "/etc/unbound/unbound_server.pem"
control-key-file: "/etc/unbound/unbound_control.key"
control-cert-file: "/etc/unbound/unbound_control.pem"
Запуск и всяческие проверки
unbound-checkconf /etc/unbound/unbound.conf service unbound restart ps auxw | grep unbound # процесс netstat -anp | grep unbound # порты nslookup mail.ru 10.10.10.10 drill -D mail.ru @127.0.0.1 drill india.com @10.10.10.10 ### 1-ое обращение # Обращаем внимание на "Query time" при первом и последующем запуске drill india.com @10.10.10.10 ### 2-ое обращение elinks ya.ru # браузер dig ya.ru # и как там чё? unbound-control status unbound-control lookup mail.ru unbound-control stats unbound-control dump_cache /tmp/DNS_cache.txt unbound-control list_forwards unbound-control forward
DNSSEC
Unbound, умеет DNSSEC, а 8.8.8.8, как и очень многие другие, в свою очередь, умеют и DNSSEC и верифицировать записи, что означает, что в случае невалидной подписи они не резолвят адреса. И тут есть подвох. Включая эту опцию (а зачем от неё отказываться?), мы должны проследить за тем. что бы наш резолвер умел работать с DNSSEC.dig -t any +dnssec 8.8.8.8Отключить DNSSEC в Unbound можно следующим образом:
server: val-permissive-mode: yes
- Убрать запись auto-trust-anchor-file: "/var/lib/unbound/root.key", которая находится в файле /etc/unbound/unbound.conf.d.root-auto-trust-anchor-file.conf
server: module-config: "iterator"
Косяки
И тут нас ждал косяк. Список форвардов (две крайние команды) - пуст.А вернее, получаем вот такой ответ:
# unbound-control forward off (using root hints)
Оказалось, что необходимо проделать следующее:
chmod -x /etc/resolvconf/update.d/unboundИли установить RESOLVCONF_FORWARDERS=false в /etc/default/unbound
Ага, список в самом верху - это надежда выудить где и как прячется тот самый false или true, отвечающий за включение форварда. Можно сделать кастыль, отредактировав
/etc/init.d/unbound и добавив в секцию start строку
unbound-control forward 8.8.8.8 8.8.4.4Но окончательно психанув, я решил напрячь других, как "настоящий взрослый мужчина".
Там то мне и подсказали.
Ну и ещё при запуске демона можем получить предупреждение:
Warning: /etc/resolv.conf is not a symbolic link to /run/resolvconf/resolv.conf
Избавимся от него:
rm /etc/resolv.conf ln -s /run/resolvconf/resolv.conf /etc/resolv.conf
Комментариев нет:
Отправить комментарий