Установка кэширующего DNS сервера Unbound на Debian: различия между версиями
Материал из support.qbpro.ru
imported>Vix Нет описания правки |
Vix (обсуждение | вклад) Нет описания правки |
||
| (не показано 9 промежуточных версий 1 участника) | |||
| Строка 1: | Строка 1: | ||
1. Установка: | '''1. Установка:''' | ||
apt-get install unbound unbound-anchor unbound-host | apt-get install unbound unbound-anchor unbound-host | ||
2. Добавляем актуальный перечень корневых DNS-серверов | '''2. Добавляем актуальный перечень корневых DNS-серверов''' | ||
wget -c ftp://ftp.internic.net/domain/named.cache | wget -c ftp://ftp.internic.net/domain/named.cache -O db.root | ||
4. Настраиваем конфигурационный файл сервера: | '''4. Настраиваем конфигурационный файл сервера:''' | ||
'''Пример рабочего конфиг-файла:''' | ''' * Пример рабочего конфиг-файла:''' | ||
# Unbound configuration file for Debian. | # Unbound configuration file for Debian. | ||
| Строка 25: | Строка 25: | ||
# открываем секцию server | # открываем секцию server | ||
server: | server: | ||
# Зависит от конфигурации других резолверов - может мешать, может нет. | |||
# Лучше выключить. | |||
# для ссылок на другие домены лучше использовать stub-zone. | |||
# | |||
module-config: iterator | |||
# Используемые для управления ресурсы | # Используемые для управления ресурсы | ||
directory: "/etc/unbound" | directory: "/etc/unbound" | ||
| Строка 54: | Строка 59: | ||
# interface: 0.0.0.0 | # interface: 0.0.0.0 | ||
interface: 127.0.0.1 | interface: 127.0.0.1 | ||
interface: 10.5.1. | '''interface: 10.5.1.5''' | ||
# запись с ttl больше 14400 секунд в кеш записываем с ttl равным 14400 | # запись с ttl больше 14400 секунд в кеш записываем с ttl равным 14400 | ||
| Строка 104: | Строка 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: | ||
| Строка 110: | Строка 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 | ||
| Строка 128: | Строка 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.
ИСТОЧНИКИ:
