Локальный DNS-резолвер дома
Захотелось перестать зависеть от провайдерского 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 и кеш раскачались, и резолвинг стал ощутимо шустрее провайдерского. Плюс приятный бонус — единая точка, где можно при желании прикрутить блок-листы.
← К записям