TGViewer
Записки IT специалиста Записки IT специалиста @interface31 · 8.99K subscribers
Post #6190 2.05K
Настраиваем DNS-резольвер Unbound для работы с DNS over TLS

Сегодня, в эпоху всеобщего шифрования, отправлять DNS-запросы открытым текстом довольно опасно. Мало того, что вы даете возможность третьим лицам полностью ознакомиться с вашей сетевой активностью, так еще и остается возможность подменить DNS-ответ по дороге, направив вас на совершенно другой ресурс.

Поэтому современный DNS также требует TLS-защиты, наиболее просто и прозрачно для администратора использовать DNS over TLS (DoT). Да, эта технология не маскирует себя под HTTPS-трафик, но в большинстве случаев это и не нужно.

Для реализации нашей задумки мы будем использовать популярный DNS-резольвер Unbound, который присутствует в репозиториях всех основных дистрибутивов Linux.

Установить его можно командой:

apt install unbound


Затем откроем основной конфигурационный файл /etc/unbound/unbound.conf и приведем его к следующему виду:

include-toplevel: "/etc/unbound/unbound.conf.d/*.conf"

server:
use-syslog: yes
username: "unbound"
directory: "/etc/unbound"
tls-cert-bundle: /etc/ssl/certs/ca-certificates.crt
verbosity: 2

do-ip6: no
interface: 192.168.100.53
port: 53
prefetch: yes

root-hints: /usr/share/dns/root.hints
harden-dnssec-stripped: yes

cache-max-ttl: 86400
cache-min-ttl: 900

aggressive-nsec: yes
hide-identity: yes
hide-version: yes
use-caps-for-id: yes

private-address: 192.168.0.0/16
private-address: 169.254.0.0/16
private-address: 172.16.0.0/12
private-address: 10.0.0.0/8

#control which clients are allowed to make (recursive) queries
access-control: 127.0.0.1/32 allow_snoop
access-control: 127.0.0.0/8 allow
access-control: 192.168.100.0/24 allow

num-threads: 4
msg-cache-slabs: 8
rrset-cache-slabs: 8
infra-cache-slabs: 8
key-cache-slabs: 8
rrset-cache-size: 256m
msg-cache-size: 128m
so-rcvbuf: 8m

forward-zone:
name: "."
forward-ssl-upstream: yes
forward-addr: 1.1.1.1@853#one.one.one.one
forward-addr: 1.0.0.1@853#one.one.one.one

forward-zone:
name: "nalog.ru."
forward-ssl-upstream: yes
forward-addr: 77.88.8.8@853#common.dot.dns.yandex.net


Мы не будем касаться подробно всех параметров, объем заметки этого не позволяет, они более-менее стандартные. Можете попросить любой ИИ, и он вам охотно пояснит их значение.

Мы же разберем настройки непосредственно DoT. Так как Unbound не DNS-сервер, а именно резольвер, то он на все запросы либо отдает данные из кеша, либо запрашивает их у вышестоящих серверов.

Где именно это делать мы указываем в секциях forward-zone, таких секций может быть несколько и тогда Unbound ищет среди низ наиболее точное совпадение.

В нашем примере таких секций две: "." и "nalog.ru." – обратите внимание, что имена зон всегда должны заканчиваться на точку, точка обозначает корень системы DNS.

И именно поэтому в одном из имен зон пересылки у нас стоит точка, это обозначает, что сюда следует посылать все DNS-запросы, которым не нашлось иного совпадения. Вторая зона у на нас отвечает за домен nalog.ru.

В нашем примере для nalog.ru мы используем сервера Яндекс.DNS, для всех остальных запросов будут использоваться Cloudflare DNS.

Опция forward-ssl-upstream: yes включает DoT для указанных зон, ниже перечисляются сервера, к которым следует делать запросы. В записи мы указываем адрес и порт, по умолчанию это 853.

А вот запись после # - это не комментарий, это доменное имя, на которое выписан сертификат сервера. Что позволяет выполнить проверку сертификата на стороне клиента. Даже если кто-то перехватит наш трафик и направит на поддельный DoT-сервер, он не сможет предъявить клиенту валидный сертификат.

Данная часть записи не является обязательной, но крайне желательна, так как защищает от подмены сервера и атак класса MitM. Нужные имена доменов вы можете узнать в документации вашего DNS-провайдера.
  • 👍 19
  • ❤ 3
More from @interface31
  1. Sep 27, 2026Ой, а что это случилось? Куда делась лицензия? Программные лицензии 1С - полное дно!!! На…
  2. Sep 27, 2026☝️ Не все умеют правильно пользоваться командами su и sudo. Команда su производит замену п…
  3. Sep 27, 2026Post #6797
  4. Sep 26, 2026Популярные мифы про Docker Встречался третьего дня с одним коллегой, у того серьезная голо…
  5. Sep 26, 2026Про РКН и MikroTik Новость эту не обсуждает только ленивый. Причем, как водится, многие пе…
  6. Sep 26, 2026Post #6794
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →