Свой приватный DNS на Tailscale: без рекламы и утечек данных

Свой приватный DNS на Tailscale: без рекламы и утечек данных

Май 11, 2026 tailscale dns headscale self-hosted blocky ad-blocking network security wireguard privacy

Собственный DNS: блокировка рекламы на уровне сети

Если у вас уже работает self-hosted Tailscale через Headscale, то приватное шифрованное соединение между устройствами — в кармане. Но мало кто думает о следующем шаге: блокировка рекламы и трекеров прямо в DNS. И это сработает на всех гаджетах — смартфоне, ноутбуке, планшете, ПК — без лишних телодвижений.

Забудьте про старый способ с публичными resolver'ами вроде Cloudflare или Quad9. Да, это просто. Но вы упускаете кучу плюсов.

Зачем нужен внутренний DNS

Headscale берет на себя DNS-разрешение для всего tailnet. И вот магия: каждое устройство получает отфильтрованные ответы без установки софта. Никаких приложений, списков блокировок на каждом девайсе или разных инструментов.

Практическая выгода очевидна:

  • Реклама исчезает везде. Трекеры с сомнительных сетей даже не доходят до ваших устройств.
  • Внутренние имена работают сразу. Сервер дома по адресу homeserver.tailnet.local резолвится на любом подключении.
  • Единая политика безопасности. Вы решаете, что разрешать, а что нет. Без лазеек.

Почему Blocky — выбор для self-хостеров

Pi-hole и AdGuard Home — проверенные варианты. Но у них веб-панели, базы данных и тонны настроек. Для простых задач это лишнее.

Blocky — совсем другое. DNS-прокси для тех, кто хочет фильтрацию без наворотов. Один YAML-файл с конфигом. Запускается где угодно. Делает ровно то, что нужно: блокирует вредные запросы.

Минус? Нет красивого интерфейса. Зато для devs и админов, привыкших к CLI, это плюс.

Что выделяет Blocky:

  • Простая настройка. Без баз данных, веб-морды или обновлений дашборда.
  • Поддержка блоклистов. Берет списки из сообщества или свои.
  • Легковесный. Идеален для Raspberry Pi, маленького VPS или сервера с Headscale.
  • Шифрование upstream. Работает с DNS-over-TLS для выбранного публичного resolver'а.

Подводные камни с Private DNS на Android

Частая проблема: на Android стоит "Private DNS" с DoT от AdGuard или подобного — все ок. Добавляете Tailscale, и DNS ломается.

Что происходит: Headscale пушит свои DNS-настройки на телефон. Android переключается на внутренний resolver Tailscale (100.100.100.100). Но он не поддерживает DoT — просто релей. Проверка Private DNS падает, ничего не резолвится.

Решение: отдайте DNS полностью Tailscale. Выключите Private DNS на Android. Запустите Blocky в tailnet, укажите его в Headscale. Blocky сам шифрует трафик к публичным resolver'ам. Никаких конфликтов.

Что ставим в приоритет при развертывании

Перед запуском Blocky определитесь с задачами:

Цель 1: Блокировка рекламы и трекеров повсеместно. Все устройства в tailnet получают чистый DNS автоматически. Пользователям нечего настраивать.

Цель 2: Шифрованный upstream. Трафик от Blocky к публичному resolver'у идет по DoT. WireGuard уже защищает от устройств до Blocky, но последний участок тоже зашифруем.

Цель 3: Разрешение внутренних имен. Приватные сервисы с именами вроде homeserver.ts.internal работают везде в сети.

Цель 4: Без настройки на устройствах. Headscale раздает настройки, клиенты подхватывают сами.

Как это устроено

Схема простая:

  1. Устройства коннектятся к Tailscale через Headscale.
  2. Headscale пушит IP Blocky как DNS для tailnet.
  3. Запрос от устройства попадает в Blocky.
  4. Blocky сверяет с блоклистами. Блокирует — NXDOMAIN. Чистые — форвардит upstream.
  5. Upstream по DoT к Cloudflare, Quad9 или вашему resolver'у.
  6. Ответ кэшируется в Blocky и летит обратно.
  7. Все под WireGuard. Вы контролируете фильтры и инфраструктуру.

Почему это актуально прямо сейчас

В 2024 году приватность и блокировка рекламы — база. Но обычно это приложения на каждом устройстве. Сетевой подход масштабируется. Новый телефон в tailnet? Реклама заблокирована сразу. У друга в гостях? Защита на месте.

Для разработчиков и инженеров — еще и про безопасность. Вы управляете DNS, проверяете списки, выбираете resolver'ы. Это self-hosted подход к DNS в чистом виде.

Что делать дальше

Headscale уже крутится? Добавьте Blocky — логичный шаг. Хотите другой DNS-сервер (Unbound, Bind, Coredns)? Легко. Но Blocky выигрывает простотой.

Плюс: не привязаны. Передумали — меняете resolver. Headscale и Tailscale не мешают. DNS слишком важен, чтобы слепо отдавать чужим. Берите контроль. Чистите сеть от мусора. Данные остаются у вас. Self-hosted мечта сбывается.

Read in other languages:

BG EL CS UZ TR SV FI RO PT PL NB NL HU IT FR ES DE DA ZH-HANS EN