Коротка відповідь
Як запустити приватний DNS-резолвер з Unbound на VPS?
Щоб запустити приватний DNS-резолвер з Unbound, встановіть пакет unbound, перелічіть адреси, на яких він може слухати, дозвольте лише вашу мережу через access-control і перевірте командою dig. Тариф Ember від Gloamport, 1 vCPU, 1 GB RAM, 20 GB NVMe, 1 TB traffic за $3.74 на місяць при 12-місячному терміні, вистачає для запитів однієї людини.
Які параметри Unbound роблять резолвер приватним?
| Параметр | Значення в цьому гайді | Що говорить посібник Unbound |
|---|---|---|
| interface | 127.0.0.1 і адреса вашого тунелю | Адреси, з яких клієнти можуть робити запити; якщо нічого не вказано, Unbound слухає localhost |
| access-control | Дозвіл для мережі вашого тунелю | Найконкретніший блок мережі має перевагу; клієнт, що не підпадає під жоден, відхиляється |
| hide-identity | так | Запити id.server і hostname.bind отримують REFUSED |
| hide-version | так | Запити version.server і version.bind отримують REFUSED |
| qname-minimisation | так | Надсилає вищим серверам мінімальний обсяг інформації |
harden-dnssec-stripped | так | Зона з якорем довіри, але без даних DNSSEC, стає недійсною |
| prefetch | так | Оновлює записи, до яких зверталися в останні 10% їхнього TTL, ціною приблизно на 10% більшого трафіку |
| private-address | Ваші приватні діапазони | Такі відповіді видаляються для публічних імен, що захищає від DNS rebinding |
Ціни перевірено
Що змінює приватний резолвер, а чого не змінює?
Приватний резолвер змінює, хто відповідає на ваші DNS-запити і хто може бачити їх з мережі. Unbound сам розв'язує імена, звертаючись до кореневих серверів, а потім до серверів кожної зони, замість пересилання запитів публічному DNS-провайдеру. Ваші пристрої надсилають запити лише на ваш VPS, а сервери зон бачать адресу VPS, а не вашу.
Він не приховує ваш перегляд. Сайти, які ви відвідуєте, однаково знаходять за їхніми адресами, а хостинг-провайдер VPS бачить ваші запити до VPS. Звичайний DNS між вашим пристроєм і VPS не шифрується, тож найбезпечніше слухати всередині тунелю, такого як WireGuard на тому самому VPS. Ніколи не залишайте порт 53 відкритим для всього інтернету: відкритим резолвером скористаються інші, а рядки access-control нижче відхиляють їх.
Як запустити Unbound як приватний резолвер
Команди призначені для Debian 13 та Ubuntu 24.04. Приклади припускають тунель WireGuard із VPS за адресою 10.8.0.1.
Встановіть Unbound і інструмент для перевірки DNS
Виконайте apt install unbound bind9-dnsutils. Другий пакет надає dig для перевірки. Обидва пакети є в Debian 13 і Ubuntu 24.04.
Напишіть конфігурацію
Створіть файл у /etc/unbound/unbound.conf.d/ з розділом server із першого блоку коду. Замініть 10.8.0.1 і 10.8.0.0/24 на адресу і мережу вашого тунелю або використовуйте лише 127.0.0.1, якщо запитуєте з самого VPS.
Перевірте файл
Виконайте unbound-checkconf. Посібник каже, що вона перевіряє unbound.conf перед використанням; вона вказує файл і рядок будь-якої помилки.
Перезапустіть і подивіться слухачі
Перезапустіть службу, потім виконайте ss з -lunt і відфільтруйте через grep рядок :53. Ви маєте побачити лише адреси, які вказали, а не 0.0.0.0.
Надішліть запит
З VPS виконайте dig @127.0.0.1 example.org. З пристрою всередині тунелю виконайте dig @10.8.0.1 example.org. Відмова у відповіді із мережі, яка не дозволена, — правильний результат.
Вкажіть на нього свої пристрої
Встановіть DNS-сервер у конфігурації тунелю на ваших пристроях на адресу тунелю VPS. Залиште брандмауер закритим для порту 53 на публічному інтерфейсі.
server:
interface: 127.0.0.1
interface: 10.8.0.1
access-control: 127.0.0.0/8 allow
access-control: 10.8.0.0/24 allow
hide-identity: yes
hide-version: yes
qname-minimisation: yes
harden-glue: yes
harden-dnssec-stripped: yes
prefetch: yes
private-address: 10.0.0.0/8
private-address: 172.16.0.0/12
private-address: 192.168.0.0/16sudo apt install unbound bind9-dnsutils
sudo unbound-checkconf
sudo systemctl restart unbound
sudo ss -lunt | grep :53
dig @127.0.0.1 example.org
dig @10.8.0.1 example.orgЧому Unbound обов'язково обмежувати через access-control?
Бо резолвер, який відповідає всім, знайдуть і використають чужі. Посібник Unbound каже, що з access-control застосовується найконкретніший збіг блоку мережі, а клієнт, який не збігається ні з чим, відхиляється. Перелічіть лише мережі, якими ви володієте, і все інше за замовчуванням відхиляється.
Два значення за замовчуванням допомагають. Якщо рядок interface не задано, Unbound слухає лише localhost, а do-not-query-localhost за замовчуванням має значення yes, тож він не надсилатиме власних запитів до вищих серверів на адреси localhost. Додайте рядки private-address для ваших внутрішніх діапазонів, щоб публічне ім'я не могло вказати ваші пристрої на вашу власну мережу.
Який тариф Gloamport достатній для DNS-резолвера?
Найменший тариф обслуговує особистий резолвер, а типовий сценарій — спільний запуск із VPN на тому самому сервері. Ember, 1 vCPU, 1 GB RAM, 20 GB NVMe, 1 TB traffic, коштує $3.74 на місяць при 12-місячному терміні і $7.48 при оплаті за один місяць, і Gloamport пропонує його для WireGuard VPN для кількох пристроїв. Резолвер і WireGuard разом на ньому вміщуються. Ми не тестували Unbound; якщо обслуговуєте багато пристроїв, Dusk за $5.25 на місяць при 12-місячному терміні додає другий ГБ пам'яті (2 GB).
Кешем ви керуєте самі. Посібник зазначає, що cache-min-ttl, вимкнений за замовчуванням, може спричиняти проблеми, якщо значення перевищує приблизно годину, тож не чіпайте його, якщо не знаєте, навіщо він вам.
Чи краще власний DNS-резолвер, ніж публічний DNS-провайдер?
Це залежить від того, кому ви довіряєте свій журнал запитів, а власний резолвер прибирає одну сторону. Публічний DNS-провайдер бачить кожне ім'я, яке шукають ваші пристрої; з Unbound на вашому VPS ці запити збирає лише сервер, яким ви керуєте. Авторитетні сервери зон, які ви запитуєте, однаково бачать запити з адреси VPS.
За опитуванням Gloamport серед 10 листопада 2026 р., 28 з 49 провайдерів не вимагають документа, що посвідчує особу, під час реєстрації, тож VPS, на якому це працює, доступний без передачі документів. Про варіант із повним тунелем читайте в Чи краще самостійно розміщений VPN на VPS, ніж сервіс VPN?, а сервер захистіть за допомогою Як захистити SSH на новому VPS?.
Підсумок
- Встановіть unbound і bind9-dnsutils; налаштовуйте в /etc/unbound/unbound.conf.d/.
- Використовуйте interface і access-control, щоб лише ваша мережа могла робити запити.
- Клієнт, що не збігається з жодним блоком access-control, відхиляється.
- hide-identity і hide-version роблять запити ідентичності та версії відповіддю REFUSED.
- Запускайте unbound-checkconf перед кожним перезапуском.
- Помістіть його всередину тунелю WireGuard; звичайний DNS не шифрується.
- Ember, $3.74 на місяць при 12-місячному терміні, його запускає.
Приватний резолвер Unbound: поширені питання
Чи перевіряє Unbound DNSSEC?
Unbound — валідуючий резолвер, а його посібник описує опції якоря довіри та harden-dnssec-stripped. Перевірте встановлення командою dig +dnssec і шукайте прапорець ad у відповіді.
Чи можна натомість пересилати запити до іншого DNS-провайдера?
Так, Unbound підтримує пересилання, але тоді цей провайдер бачить ваші запити. Цей гайд розв'язує рекурсивно, тож жоден провайдер не бачить усього.
Чому unbound-checkconf видав помилку?
Він вказує файл і рядок першої помилки. Типові причини: друкарська помилка в ключовому слові або пропущена двокрапка. Виправте і виконайте команду ще раз перед перезапуском служби.
Чи потрібно відкривати порт 53 у брандмауері?
Лише на інтерфейсі тунелю. На публічному інтерфейсі тримайте його закритим, а список access-control обмежте власною мережею.
Що робить prefetch?
Коли prefetch встановлено в yes, попадання в кеш в останні 10 відсотків часу життя запису запускає фонове оновлення. Посібник каже, що це додає приблизно на 10 відсотків більше трафіку й навантаження.
Джерела (1)
- Посібник unbound.conf(5): опції server — NLnet Labs (checked 2026-11-10)