Установка кэширующего DNS сервера Unbound на Debian: различия между версиями
Материал из support.qbpro.ru
imported>Vix (Новая страница: «ИСТОЧНИКИКИ: <hr> * [https://wiki.mikbill.ru/billing/howto/unbound Установка DNS сервера Unbound] * [http://liberatum.ru/page/ustanovk…») |
Vix (обсуждение | вклад) Нет описания правки |
||
(не показано 13 промежуточных версий 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. | |||
# | |||
# 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. | |||
ИСТОЧНИКИ: | |||
<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.
ИСТОЧНИКИ: