Установка кэширующего DNS сервера Unbound на Debian
Материал из support.qbpro.ru
Версия от 19:46, 25 февраля 2019; imported>Vix
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:
# Используемые для управления ресурсы
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.1
# запись с 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
# 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
ИСТОЧНИКИКИ:
