Настройка DNS-сервера на VPS (Unbound, dnsmasq) — пошаговое руководство

Собственный DNS-сервер на VPS — это не просто про скорость, а про безопасность, приватность и контроль. Когда вы используете публичные DNS (Google, Cloudflare), вы доверяете им все свои запросы. А если вы поднимаете личный VPN-сервер, то собственный DNS становится логичным продолжением — он не только ускоряет работу, но и скрывает ваши DNS-запросы от посторонних глаз.

В этой статье мы разберём два самых популярных решения: Unbound — рекурсивный DNS-резолвер с поддержкой DNSSEC и DNS-over-TLS, и dnsmasq — лёгкий DNS-сервер с возможностью кеширования и DHCP. Вы узнаете, как установить, настроить и защитить каждый из них, а также поймёте, почему собственный DNS на VPS — это важный элемент вашей цифровой инфраструктуры.

📑 Содержание:

Зачем нужен свой DNS-сервер на VPS

DNS (Domain Name System) — это «телефонная книга» интернета. Каждый раз, когда вы вводите в браузере vps-vpn.online, ваш компьютер обращается к DNS-серверу, чтобы узнать IP-адрес сайта. По умолчанию вы используете DNS вашего интернет-провайдера или публичные сервисы вроде 8.8.8.8 (Google) или 1.1.1.1 (Cloudflare).

Однако у такого подхода есть недостатки:

Установив собственный DNS-сервер на VPS, вы:

🔑 DNS и VPN — идеальная пара

Когда вы используете личный VPN на VPS, ваш трафик уже зашифрован и скрыт от посторонних. Но DNS-запросы часто «утекают» через стандартные каналы. Настроив собственный DNS-сервер на том же VPS, вы полностью замыкаете всю цепочку на себя: и трафик, и DNS остаются в пределах вашего сервера. Это максимальный уровень приватности.

Unbound — рекурсивный резолвер

Unbound — это современный, безопасный и быстрый рекурсивный DNS-резолвер. Он умеет выполнять полный цикл запроса: от корневых серверов до конечного домена, проверяя подписи DNSSEC и поддерживая шифрование (DNS-over-TLS, DNS-over-HTTPS).

Установка Unbound

На большинстве дистрибутивов Unbound доступен в стандартных репозиториях.

# Ubuntu / Debian
sudo apt update && sudo apt install unbound -y

# CentOS / RHEL
sudo yum install unbound -y

Базовая настройка Unbound

Основной конфигурационный файл — /etc/unbound/unbound.conf. Вот минимальная рабочая конфигурация:

# /etc/unbound/unbound.conf
server:
    interface: 0.0.0.0
    port: 53
    do-ip4: yes
    do-ip6: no
    do-udp: yes
    do-tcp: yes
    access-control: 127.0.0.1 allow
    access-control: 10.0.0.0/8 allow
    cache-min-ttl: 3600
    cache-max-ttl: 86400
    prefetch: yes
    prefetch-key: yes
    val-log-level: 2
    use-caps-for-id: yes
    qname-minimisation: yes
    aggressive-nsec: yes
    rrset-roundrobin: yes
    hide-identity: yes
    hide-version: yes
    identity: "DNS"
    version: "1.0"
    harden-glue: yes
    harden-dnssec-stripped: yes
    harden-below-nxdomain: yes
    harden-referral-path: yes
    harden-algo-downgrade: yes
    module-config: "validator iterator"
    trust-anchor-signaling: yes
    auto-trust-anchor-file: "/var/lib/unbound/root.key"

После сохранения конфигурации проверьте её и перезапустите сервис:

sudo unbound-checkconf
sudo systemctl restart unbound
sudo systemctl enable unbound

DNS-over-TLS в Unbound

Чтобы включить шифрование DNS-запросов, добавьте в секцию server::

# DNS-over-TLS
tls-service-key: "/etc/unbound/tls.key"
tls-service-pem: "/etc/unbound/tls.pem"
tls-port: 853

Не забудьте создать сертификаты (можно использовать Let's Encrypt) и открыть порт 853 в фаерволе.

dnsmasq — лёгкий и универсальный

dnsmasq — это лёгкий DNS-сервер с поддержкой кеширования, DHCP и TFTP. Он идеально подходит для небольших сетей и VPS, где нужен простой и быстрый DNS без излишней сложности.

Установка dnsmasq

# Ubuntu / Debian
sudo apt update && sudo apt install dnsmasq -y

# CentOS / RHEL
sudo yum install dnsmasq -y

Базовая настройка dnsmasq

Конфигурационный файл — /etc/dnsmasq.conf. Пример:

# /etc/dnsmasq.conf
# Слушаем все интерфейсы
interface=0.0.0.0
bind-interfaces

# Разрешаем запросы из локальной сети
listen-address=0.0.0.0

# Кеширование
cache-size=10000
neg-ttl=3600

# Используем публичные DNS как upstream
server=1.1.1.1
server=8.8.8.8

# DNS-over-TLS (опционально)
proxy-dnssec

# Логирование
log-queries
log-facility=-

После настройки перезапустите dnsmasq:

sudo systemctl restart dnsmasq
sudo systemctl enable dnsmasq

Сравнение: что выбрать?

Критерий Unbound dnsmasq
Тип Рекурсивный резолвер Кеширующий форвардер + DHCP
Производительность Высокая, оптимизирован Очень высокая (лёгкий)
DNSSEC Полная поддержка Ограниченная (через proxy)
DNS-over-TLS Встроенная Нет (только через Stunnel)
DHCP Нет Встроенная
Сложность настройки Средняя Низкая
Рекомендация Для максимальной безопасности и приватности Для простоты и скорости в малых сетях

Вывод: Если вам нужен максимальный уровень безопасности и вы готовы потратить немного времени на настройку — выбирайте Unbound. Если вы ищете простое и быстрое решение с возможностью DHCP — dnsmasq ваш выбор.

Безопасность DNS: DNSSEC, DNS-over-TLS

Настройка DNS-сервера — это только полдела. Важно защитить сам канал передачи DNS-запросов.

🛡️ Рекомендация по безопасности:

Всегда включайте DNSSEC и хотя бы один из протоколов шифрования (DoT или DoH). Это сделает ваш DNS-сервер устойчивым к атакам и прослушиванию.

Интеграция с личным VPN-сервером

Теперь самое интересное — как связать ваш DNS-сервер с личным VPN на VPS. Когда вы подключаетесь к своему VPN, все DNS-запросы должны идти через ваш собственный DNS, а не через публичные серверы.

Для этого в настройках VPN-сервера (например, OpenVPN или WireGuard) нужно указать push "dhcp-option DNS " или аналогичную опцию. Тогда все клиенты VPN будут использовать ваш DNS-сервер автоматически.

🚀 Личный VPN на VPS — это не только про скорость, но и про полный контроль

В отличие от обычных VPN-сервисов, где 1000+ человек сидят на одном IP, вы получаете персональный VPS.

  • Ваш собственный DNS-сервер — никакие DNS-запросы не утекают наружу.
  • Никаких «шумных соседей» — только ваш трафик и ваш DNS.
  • Минимальный риск блокировок — массовые IP часто попадают в бан-листы.
  • Технология XHTTP + Reality — ваш трафик маскируется под обычный HTTPS, DPI не может его отличить от браузера Chrome.

🎯 Нас в 1000 раз сложнее заблокировать и отследить.

Потому что каждый клиент VPS-VPN — это отдельный выделенный сервер с уникальным IP-адресом и индивидуальными настройками, включая собственный DNS.

🔥 Получите свой личный VPN-сервер с полным контролем над DNS

Мы в VPS-VPN предлагаем полностью выделенный VPN-сервер на вашем собственном VPS. Вы сами решаете, какой DNS использовать, и мы поможем настроить Unbound или dnsmasq под ваши задачи.

Ваш трафик и DNS-запросы будут полностью под вашим контролем. Никаких утечек, никаких блокировок. Только максимальная приватность.

🚀 Заказать личный VPN-сервер

Итог: DNS — фундамент вашего VPN

Настройка собственного DNS-сервера на VPS — это не просто технический апгрейд. Это шаг к полной цифровой независимости. Вы перестаёте полагаться на сторонние DNS-сервисы, защищаете свои запросы от прослушивания и ускоряете работу своего VPN.

Что вы получаете в итоге:

✅ Собственный DNS + личный VPN = максимальная защита

В VPS-VPN мы не только даём вам выделенный сервер, но и помогаем настроить его так, чтобы вы получили полный контроль над своей сетью. DNS, маршрутизация, шифрование — всё под вашим управлением.

Выбирайте решение, которое работает по-настоящему. Выбирайте VPS-VPN.