Локальный DNS-резолвер дома

9 марта 2026 · 5 мин чтения

Захотелось перестать зависеть от провайдерского DNS: и из-за скорости, и чтобы завести локальные имена для домашних сервисов. Выбрал unbound — лёгкий, рекурсивный, ставится на любую мелочь вроде Raspberry Pi.

Базовая установка тривиальна. Интереснее настройка: слушаем локальную сеть, кешируем агрессивно, отдаём минимум наружу.

server:
    interface: 0.0.0.0
    access-control: 192.168.0.0/16 allow
    cache-min-ttl: 300
    cache-max-ttl: 86400
    prefetch: yes

Локальные зоны — то, ради чего всё затевалось. Теперь домашние сервисы доступны по понятным именам, а не по IP:

local-zone: "home." static
local-data: "nas.home. A 192.168.1.10"
local-data: "printer.home. A 192.168.1.20"

Для приватности включил resolver, который сам ходит к корневым серверам, а не пересылает запросы наверх. Чуть медленнее на холодном кеше, зато провайдер не видит, какие домены я резолвлю.

Грабли: забыл, что на роутере DHCP по-прежнему раздавал старый DNS, и половина устройств игнорировала unbound. Пока не поправил DHCP-опцию — казалось, что «не работает».

Через пару дней prefetch и кеш раскачались, и резолвинг стал ощутимо шустрее провайдерского. Плюс приятный бонус — единая точка, где можно при желании прикрутить блок-листы.

← К записям