DNS over TLS на Debian 10
Общая
В данной статье будет рассказано как поднять DNS over TLS сервер на Debian 10 внутри локальной сети для обслуживания запросов обычных клиентов.
Данная конфигурация поможет скрыть все DNS запросы локальных устройств из локальной сети.
В данной статье используется Unbound — высокопроизводительный, кеширующий и рекурсивный DNS сервер.
Установка сервера
apt update apt install unbound
Настройка сервера
Создаем дополнительный файл конфигурации
nano /etc/unbound/unbound.conf.d/dot.conf
И добавляем туда следующую конфигурацию.
server: chroot: "" logfile: /var/log/unbound/unbound.log verbosity: 1 log-queries: yes pidfile: /run/unbound.pid username: unbound access-control: 192.168.0.0/16 allow aggressive-nsec: yes cache-max-ttl: 14400 cache-min-ttl: 1200 directory: /etc/unbound do-ip4: yes do-tcp: yes hide-identity: yes hide-version: yes interface: 0.0.0.0 port: 53 prefetch: yes rrset-roundrobin: yes tls-cert-bundle: "/etc/ssl/certs/ca-certificates.crt" use-caps-for-id: yes num-threads: 8 msg-cache-slabs: 4 rrset-cache-slabs: 4 infra-cache-slabs: 4 key-cache-slabs: 4 msg-cache-size: 512M rrset-cache-size: 1024M key-cache-size: 10m # Uncomment. Time to live maximum for RRsets and messages in the cache. Default is 86400 seconds (1 day). # cache-max-ttl: 86400 # Uncomment. Time to live minimum for RRsets and messages in the cache. Default is 0. # cache-min-ttl: 0 outgoing-range: 512 # Uncomment. The number of queries that every thread will service simultaneously. # num-queries-per-thread: 4096 forward-zone: name: "." forward-tls-upstream: yes forward-addr: 1.0.0.1@853#one.one.one.one forward-addr: 1.1.1.1@853#one.one.one.one forward-addr: 8.8.4.4@853#dns.google forward-addr: 8.8.8.8@853#dns.google forward-addr: 9.9.9.9@853#dns9.quad9.net
Проверяем конфигурацию на наличие ошибок:
unbound-checkconf
Перезагружаем службу unbound
service unbound restart
Некоторое описание значений
Параметр num-threads
указывает количество потоков
Параметры msg-cache-slabs
, rrset-cache-slabs
, infra-cache-slabs
и key-cache-slabs
должны быть установлены степенями двойки, максимально близкими к num-threads.
Параметр outgoing-range
указывает количество портов которые могут быть открыты
Параметры msg-cache-size
, rrset-cache-size
и key-cache-size
указывает на объем кэша, при этом rrset-cache-size должен быть в два раза больше msg-cache-size.
Параметр cache-max-ttl
указывает максимальное время жизни записи в кэше.
Параметр cache-min-ttl
указывает минимальное время жизни записи где по умолчанию стоит 0. Ноль указывает что время жизни записи будет таким-же как установил владелец домена.
Параметр forward-addr
указывает адрес пересылки и указывается по принципу ip@порт#публичное_имя
. Публичное имя сервера указывается для подтверждения сертификата сервера tls-cert-bundle
.
Больше описаний можно найти тут.
Если не работает лог.
Если записей в логе нет, а при запуске unbound
в syslog
пишется что нет доступа к файлу, то сначала проверьте права на этот файл. Права на запись должны быть выданы группе и пользователю unbound
, который создается автоматически при установке сервера.
Если это не помогло то открывает следующий файл:
nano /etc/apparmor.d/local/usr.sbin.unbound
И добавляем одну строку:
/var/log/unbound/unbound.log rw,
Далее перезагружаем apparmor и unbound
apparmor_parser -r /etc/apparmor.d/usr.sbin.unbound service unbound restart
После чего проверяем логи.
- Просмотров: 10999