Установка кэширующего DNS сервера Unbound на Debian
Материал из support.qbpro.ru
1. Установка:
apt-get install unbound unbound-anchor unbound-host
2. Добавляем актуальный перечень корневых DNS-серверов
wget -c ftp://ftp.internic.net/domain/named.cache -O db.root
4. Настраиваем конфигурационный файл сервера:
* Пример рабочего конфиг-файла:
# Unbound configuration file for Debian. # # See the unbound.conf(5) man page. # # See /usr/share/doc/unbound/examples/unbound.conf for a commented # reference config file. # # The following line includes additional configuration files from the # /etc/unbound/unbound.conf.d directory. include: "/etc/unbound/unbound.conf.d/*.conf" ### # открываем секцию server server: # Зависит от конфигурации других резолверов - может мешать, может нет. # Лучше выключить. # для ссылок на другие домены лучше использовать stub-zone. # module-config: iterator # Используемые для управления ресурсы directory: "/etc/unbound" pidfile: "/var/run/unbound.pid" # Имя пользователя, от которого запускается сервис username: unbound # Запускаем в несколько потоков (по одному на ядро процессора) num-threads: 2 # Включаем оптимизацию быстрого перераспределения ресурсов so-reuseport: yes # Уточняем перечень протоколов, с которыми работаем do-ip4: yes do-ip6: no do-udp: yes do-tcp: yes # разрешаем подключения только с localhost-а #access-control: 127.0.0.0/8 allow access-control: 127.0.0.0/8 allow access-control: 10.5.1.0/24 allow # Service LAN # слушать внешние интерфейсы смысла тоже нет. port: 53 # interface: 0.0.0.0 interface: 127.0.0.1 interface: 10.5.1.5 # запись с ttl больше 14400 секунд в кеш записываем с ttl равным 14400 cache-max-ttl: 14400 # запись с ttl меньше 60 секунд записываем в кэш с ttl равным 60 секунду cache-min-ttl: 60 # Скрываем то, что у нас unbound и его версию. hide-identity: yes hide-version: yes # если в них нет необходимости, то unbound убирает из своего ответа информацию о NS-серверах домена. Чуть увеличивает скорость и уменьшает трафик (если в unbound ходим по сети). minimal-responses: yes # Эта опция включает обновление записей в кэше в фоне, ради неё мы всё и затеяли. prefetch: yes # снижаем количество информации, которую unbound отправляет на чужие NS в своих исходящих запросах. qname-minimisation: yes # unbound будет отдавать записи одного типа (если их несколько, т.н. round-robin) в случайном порядке. rrset-roundrobin: yes # приводит все ответы сервера (и записи в кэше) к нижнему регистру use-caps-for-id: yes # включает хождение наружу по tcp. Я пытался использовать её совместно с "do-udp no", но без форварда вместе они работать не будут. Но для примера пусть полежит. do-tcp: yes # включаем эту опцию, если собираемся форвардить dns через TLS (см.список серверов ниже) ##ssl-upstream: yes # Уровень детализации журнала событий (0 - только ошибки; 1 - каждый запрос; 3 - детальный разбор) #verbosity: 0 # На период отладки полезно включить детальное журналирование запросов пользователей log-queries: yes # Месторасположение файла журнала событий logfile: "/var/log/unbound.log" # Использовать в журнале человекопонятный формат метки времени log-time-ascii: yes # Предписываем не дублировать сообщения о событиях в системный журнал use-syslog: no # Подставляем актуальный перечень корневых DNS-серверов (скачиваем отсюда: "ftp://ftp.internic.net/domain/named.cache") root-hints: "/etc/unbound/db.root" # Блок описания средства удалённого управления сервисом (отключаем за ненадобностью) remote-control: control-enable: no control-interface: 127.0.0.1 control-port: 8953 # localzone forward-zone: ## один вариант name: ".1.5.10.in-addr.arpa." или name: "mydomen.local." forward-addr: 10.5.1.1 ## второй описание внутренней сети local-zone: "local.int." static local-data: "pc1.local.int A 10.5.1.5" local-data: "pc2.local.int A 10.5.1.6" # list dns servers forward-zone: name: "." forward-addr: 91.204.176.2 forward-addr: 91.204.179.2 forward-addr: 213.87.1.1 forward-addr: 213.87.0.1 forward-addr: 91.135.210.56 forward-addr: 1.1.1.1 forward-addr: 1.0.0.1 forward-addr: 91.197.76.254 forward-addr: 91.197.77.254 forward-addr: 8.8.8.8 forward-addr: 8.8.4.4 forward-addr: 9.9.9.9 forward-addr: 149.112.122.122
- теперь генерируем сертификат:
unbound-control-setup setup in directory /etc/unbound Certificate request self-signature ok subject=CN = unbound-control removing artifacts Setup success. Certificates created. Enable in unbound.conf file to use
- перезапускаем unbound.
ИСТОЧНИКИ: