Установка кэширующего DNS сервера Unbound на Debian: различия между версиями
Материал из support.qbpro.ru
imported>Vix Нет описания правки |
Vix (обсуждение | вклад) Нет описания правки |
||
(не показано 12 промежуточных версий 1 участника) | |||
Строка 1: | Строка 1: | ||
'''Пример рабочего конфиг-файла:''' | '''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. | # Unbound configuration file for Debian. | ||
Строка 15: | Строка 25: | ||
# открываем секцию server | # открываем секцию server | ||
server: | server: | ||
# Зависит от конфигурации других резолверов - может мешать, может нет. | |||
# Лучше выключить. | |||
# для ссылок на другие домены лучше использовать stub-zone. | |||
# | |||
module-config: iterator | |||
# Используемые для управления ресурсы | # Используемые для управления ресурсы | ||
directory: "/etc/unbound" | directory: "/etc/unbound" | ||
Строка 35: | Строка 50: | ||
# разрешаем подключения только с localhost-а | # разрешаем подключения только с localhost-а | ||
#access-control: 127.0.0.0/8 allow | #access-control: 127.0.0.0/8 allow | ||
access-control: | access-control: 127.0.0.0/8 allow | ||
access-control: | '''access-control: 10.5.1.0/24 allow # Service LAN''' | ||
# слушать внешние интерфейсы смысла тоже нет. | # слушать внешние интерфейсы смысла тоже нет. | ||
port: 53 | port: 53 | ||
interface: 0.0.0.0 | # interface: 0.0.0.0 | ||
interface: 127.0.0.1 | |||
'''interface: 10.5.1.5''' | |||
# запись с ttl больше 14400 секунд в кеш записываем с ttl равным 14400 | # запись с ttl больше 14400 секунд в кеш записываем с ttl равным 14400 | ||
Строка 91: | Строка 109: | ||
# Подставляем актуальный перечень корневых DNS-серверов (скачиваем отсюда: "ftp://ftp.internic.net/domain/named.cache") | # Подставляем актуальный перечень корневых DNS-серверов (скачиваем отсюда: "ftp://ftp.internic.net/domain/named.cache") | ||
root-hints: "/etc/unbound/db.root" | root-hints: "/etc/unbound/db.root" | ||
# Блок описания средства удалённого управления сервисом (отключаем за ненадобностью) | # Блок описания средства удалённого управления сервисом (отключаем за ненадобностью) | ||
remote-control: | remote-control: | ||
Строка 97: | Строка 115: | ||
control-interface: 127.0.0.1 | control-interface: 127.0.0.1 | ||
control-port: 8953 | 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 | # list dns servers | ||
Строка 115: | Строка 143: | ||
forward-addr: 149.112.122.122 | 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. | |||
ИСТОЧНИКИ: | |||
<hr> | <hr> | ||
Текущая версия от 01:14, 10 января 2024
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.
ИСТОЧНИКИ: