Команда инженеров · свой ЦОД в РФ · своё железо · своя панель · CloudStack + Linstor · MCP · база знаний по self-hosted
Обновлено 11 октября 2026 г.
Сеть и приватность

AdGuard Home

Свой DNS-сервер, который режет рекламу и трекеры для всех устройств сразу - без приложений на каждом телефоне. Развернули v0.107.79 в Docker, настроили шифрованный DNS (DoH/DoT/DoQ) и проверили, что сервер не стал открытым резолвером.

Август 2026 ~9 минут чтения Fatmetal Team
DNS / блокировка рекламы Лицензия: GPL-3.0 Статус: запущен у нас, v0.107.79

Вердикт

Подходит
  • заблокировать рекламу и трекеры на уровне сети, для всех устройств дома сразу
  • поднять личный шифрованный DNS (DoH/DoT) на VPS - работает с телефона из любой сети
  • увидеть, кто и куда стучится: журнал запросов по каждому клиенту
Не подходит
  • если нужен просто блокировщик в браузере - это расширение, а не DNS-сервер
  • как публичный DNS для чужих людей: открытый резолвер быстро попадет в abuse
  • для фильтрации рекламы внутри приложений (она часто идет с тех же доменов, что контент)
Мин. тариф: CPU1-RAM1-DISK20 Рекомендуем: CPU2-RAM2-DISK20 Сложность: medium RAM в простое: ~43 MiB Главный риск: открытый резолвер, если оставить plain 53 наружу Прод-готовность: с оговорками (TLS + закрыть 53 + auth админки)
Что это

Что это и какую задачу решает

AdGuard Home - это DNS-сервер с фильтрацией на уровне всей сети. Вместо того чтобы ставить блокировщик рекламы в каждый браузер и на каждый телефон, вы поднимаете один DNS, прописываете его на роутере или на устройстве, и он режет обращения к рекламным и трекерным доменам еще до того, как они загрузятся. Работает для всего, что ходит через этот DNS: телевизор, умные лампочки, приложения на телефоне.

Второй сценарий - личный шифрованный DNS. AdGuard Home умеет принимать запросы по DNS-over-HTTPS, DNS-over-TLS и DNS-over-QUIC. Если поднять его на VPS с валидным TLS, получаете свой приватный резолвер: телефон в любой сети (кафе, мобильный интернет, чужой Wi-Fi) ходит через ваш зашифрованный DNS с вашими списками фильтрации, а провайдер видит только шифрованный трафик до вашего сервера.

Goвстроенный DNS-резолверDoH / DoT / DoQвеб-интерфейсDocker
Сравнение

Чем отличается от платных аналогов

Ближайшие платные варианты - облачные фильтрующие DNS вроде NextDNS и AdGuard DNS по подписке.

ПараметрAdGuard Home (self-hosted)Облачный DNS по подписке
Модель ценыбесплатно, платите только за VPSподписка + лимит запросов в тарифе
Лимит запросовбез лимитаквота, дальше - деньги или троттлинг
Где логи запросовна вашем сервереу провайдера сервиса
Свои списки фильтровлюбые, полный контрольограничено набором сервиса
Шифрованный DNS (DoH/DoT/DoQ)есть, на своем доменеесть
Обслуживаниеваше: сервер, TLS, обновленияна стороне сервиса

Главный размен честный: облачный сервис вы включили и забыли, а self-hosted требует, чтобы вы сами следили за сервером, продлевали сертификат и не оставили открытый резолвер. Взамен - никаких лимитов, свои списки и логи только у вас.

Под капотом

Тех-стек и архитектура

Написан на Go, поставляется одним бинарником без внешних зависимостей - ни базы данных, ни рантайма ставить не нужно. Внутри: собственный DNS-резолвер с апстримом наверх (по умолчанию можно указать любой публичный DoH/DoT), движок фильтрации по спискам, веб-интерфейс для настройки и журнала запросов.

Все состояние - один YAML-файл AdGuardHome.yaml плюс папка с данными (статистика, журнал). В Docker удобнее всего запускать в host-режиме сети: DNS слушает порты напрямую, а веб-панель и шифрованные протоколы садятся на свои порты хоста. Для DoH/DoT/DoQ нужен валидный TLS-сертификат - его выпускаем через Let's Encrypt.

adguard/adguardhome:v0.107.79host networkAdGuardHome.yamlLet's Encrypt
Конфигурация

Минимальная конфигурация

AdGuard Home - один из самых легких self-hosted сервисов. Реальные требования сильно ниже, чем у типичного веб-стека.

Официальный минимум RAM~256 MB
Реально в простое (контейнер)~43 MiB
Диск под образ + данные< 1 GB (журнал растет со временем)
Минимальный тарифCPU1-RAM1-DISK20
Рекомендуем тарифCPU2-RAM2-DISK20
i

Важно: ресурсов сервису нужно немного, самого маленького тарифа хватает с запасом. Второй ядро и лишний гигабайт берем не под сам AdGuard, а под TLS-нагрузку DoH и под рост журнала запросов, если клиентов много.

В маркетплейсе Fatmetal

Не хотите ставить руками?

Этот стек есть в маркетплейсе Fatmetal - можно не повторять установку из разбора вручную. Заказываете сервер, за пару минут получаете рабочий домен, валидный TLS и файл с доступами.

Рекомендуемая конфигурация:
2 vCPU · 4 ГБ RAM · 50 ГБ NVMe от 450 ₽/мес

В маркетплейс →
Развертывание

Развертывание на Fatmetal

Базовый путь - Cloud Server + Ubuntu 24.04 + Docker. Ниже - вариант с шифрованным DNS на своем домене.

  1. Создать VM и указать домен

    Тариф CPU2-RAM2-DISK20, Ubuntu 24.04, приложение Docker. Заведите A-запись домена (например dns.example.com) на IP сервера - он нужен для TLS-сертификата и для шифрованного DNS.

  2. Выпустить TLS-сертификат

    DoH/DoT/DoQ работают только с валидным сертификатом. Берем его у Let's Encrypt (порт 80 должен быть свободен):

    apt install -y certbot
    certbot certonly --standalone -d dns.example.com
  3. Запустить AdGuard Home

    docker run -d --name adguardhome --restart unless-stopped \
      --network host \
      -v /opt/adguardhome/work:/opt/adguardhome/work \
      -v /opt/adguardhome/conf:/opt/adguardhome/conf \
      -v /etc/letsencrypt:/etc/letsencrypt:ro \
      adguard/adguardhome:v0.107.79

    Первый запуск открывает мастер настройки на порту 3000. Задайте логин, пароль и укажите апстрим (мы взяли Quad9 по DoH: https://dns10.quad9.net/dns-query).

  4. Включить шифрование и закрыть открытый резолвер

    В разделе Encryption укажите домен и пути к сертификату Let's Encrypt - поднимутся DoH на 443, DoT и DoQ на 853. Затем отключите прием обычного DNS на порту 53 снаружи (в конфиге serve_plain_dns: false) и оставьте открытыми только 443 и 853. Проверка ниже.

https://dns.example.com
Дашборд AdGuard Home: счетчик запросов, доля заблокированных, клиент home, апстрим Quad9 по DoH
Дашборд AdGuard Home v0.107.79: журнал запросов по клиенту, doubleclick.net заблокирован, апстрим Quad9 (DoH).
https://dns.example.com → Encryption
Настройки шифрования AdGuard Home: DoH на 443, DoT и DoQ на 853, валидный сертификат Let's Encrypt
Настройки Encryption: DoH (443), DoT и DoQ (853), сертификат Let's Encrypt действителен до 21.11.2026.
i

Client-ID в адресе. Чтобы разделять клиентов и списки, AdGuard дает эндпоинт вида https://dns.example.com/dns-query/home - суффикс home и есть идентификатор клиента. На телефоне в приватном DNS указываете именно этот адрес.

Замеры

Что измерили после запуска

Цифры со свежей установки на тарифе CPU2-RAM2-DISK20, без нагрузки. Только реальные замеры.

RAM контейнера в простое~43 MiB
CPU в простое~0.03%
Среднее время обработки запроса~53 мс
Среднее время ответа апстрима (DoH)~91 мс
Память хоста под все~431 из 1967 MB
i

Главное: по ресурсам это почти ничего. 43 MiB на контейнер - редкий случай, когда сервис реально влезает в самый маленький тариф. Основное время в ответе - это поход наверх к апстриму (91 мс), сам AdGuard добавляет считанные миллисекунды.

Проверено на версии v0.107.79, август 2026. На новых версиях результаты могут отличаться.

Подводные камни

Где может сломаться

Реальные грабли, на которые наткнулись при запуске в облаке.

!

Открытый резолвер. Если оставить обычный DNS на порту 53 доступным из интернета, ваш сервер станет открытым резолвером - его начнут использовать для DNS-амплификации, и хостер пришлет abuse. На VPS обычный 53 наружу закрываем: либо serve_plain_dns: false, либо файрвол, а снаружи оставляем только шифрованные DoH/DoT/DoQ.

!

Порт 80 занят под certbot. Выпуск сертификата в режиме standalone требует свободный порт 80. Если на нем уже что-то висит, certbot не пройдет валидацию. Освободите 80 на время выпуска или используйте DNS-валидацию.

SERVFAIL / no servers could be reached

Причина. Клиент подключается к DoH/DoT по имени домена, но сертификат самоподписанный или не совпадает с доменом - телефон и системные резолверы такое соединение рвут.

Решение. Использовать валидный сертификат Let's Encrypt на том же домене, который вбиваете в приватный DNS клиента. Проверить срок: openssl s_client -connect dns.example.com:853.

Безопасность

Безопасность и обновления

Минимальный набор для облака: закрыть обычный DNS на 53 снаружи, оставить открытыми только 443 (DoH) и 853 (DoT/DoQ), веб-панель (порт 3000) не выставлять в интернет, админку - под паролем. AdGuard хранит хэш пароля (bcrypt) и умеет блокировать перебор (лимит попыток входа). Апстрим стоит держать по DoH/DoT, чтобы и путь наверх был шифрованным.

Обновление - подмена образа на новую версию:

docker pull adguard/adguardhome:latest
docker stop adguardhome && docker rm adguardhome
# запустить docker run с новым образом (том с данными сохраняется)

Бэкап - это папка с конфигом и данными:

tar czf adguard-backup.tar.gz /opt/adguardhome/conf /opt/adguardhome/work
Рядом

Связь с другими стеками

  • VPN - связка с личным VPN: DNS-фильтрация применяется ко всему туннелю, реклама режется в любой сети.
  • Reverse proxy - Caddy или Nginx, если хотите отдать веб-панель по отдельному поддомену за TLS.
  • Мониторинг - Uptime Kuma для проверки, что DoH-эндпоинт жив, плюс алерт на приближение срока сертификата.
Проверка на телефоне

А нужен ли свой DNS на телефоне? Скорее нет

Мы прогнали мобильный сценарий на живом телефоне и сверились с журналом сервера. Результат отрезвляющий, и прятать его мы не стали.

На телефоне уже работает приложение AdGuard, и оно режет рекламу и трекеры своими встроенными фильтрами прямо на устройстве - еще до того, как запрос уйдет на любой DNS. В тесте на adblock-tester.com приложение само набрало 68 из 100. А наш удаленный DNS-сервер за то же окно получил 118 запросов с телефона и заблокировал из них всего 9 (реклама ad.mail.ru, ads.adfox.ru) - около 8%. Почти всю чистку на телефоне делает приложение, а не сервер.

i

Вывод по мобильному сценарию. Поднимать под один телефон отдельный шифрованный DNS с client-ID - лишняя возня без выигрыша. Нужна чистка рекламы на телефоне - поставьте приложение AdGuard, свой сервер для этого не требуется.

Свой DNS-сервер реально оправдан в другом: одна настройка в домашнем роутере фильтрует сразу все устройства сети - телефоны, телевизор, гостевой Wi-Fi - без приложения на каждом. Но это сценарий для тех, кто готов возиться с роутером, а не «поставил на телефон и забыл». Если коротко: продукт про контроль DNS и фильтрацию на уровне сети, а не про «меньше рекламы на моем телефоне».

Прямо

Когда это НЕ ваш выбор

Нужен блокировщик только в браузере

Если задача - убрать рекламу на одном ноутбуке, расширение uBlock Origin проще и умеет прятать элементы на странице, чего DNS-фильтр не делает в принципе.

Не готовы обслуживать сервер

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

Killer-use у AdGuard Home - дома, а не в облаке

Максимум пользы он дает на роутере или мини-сервере в домашней сети, где фильтрует весь трафик локально. Облачный сценарий на VPS - это отдельная задача (личный шифрованный DNS для мобильных устройств), и именно ее мы разбирали.

FAQ

Частые вопросы

Хватит ли 1 GB RAM?

Да, с большим запасом: в простое контейнер держит около 43 MiB. Самый маленький тариф закрывает задачу.

Можно поставить без Docker?

Да, это один бинарник на Go - есть установка скриптом прямо в систему. Docker удобнее для обновлений и изоляции, поэтому разбирали именно его.

Как не стать открытым резолвером?

Закрыть обычный DNS на порту 53 снаружи (serve_plain_dns: false или файрвол) и оставить только шифрованные DoH/DoT/DoQ. Мы это проверили: обычный 53 снаружи не отвечает.

Зачем нужен домен и сертификат?

Шифрованный DNS (DoH/DoT/DoQ) работает только с валидным TLS на реальном домене. Самоподписанный сертификат клиенты отвергают.

Стоит ли подключать телефон к своему DNS?

Технически можно: в приватном DNS указать адрес вида https://dns.example.com/dns-query/home. Но для одного телефона это лишняя возня - приложение AdGuard режет рекламу локально и эффективнее. Подробнее в разделе «А нужен ли свой DNS на телефоне».

Режет ли он рекламу в приложениях и на YouTube?

Частично. Рекламу, которая идет с отдельных доменов, режет. Рекламу с тех же доменов, что и контент (как у YouTube), DNS-фильтр не убирает.

Какая лицензия?

GPL-3.0, полностью бесплатно, коммерческое использование разрешено.

Итог

AdGuard Home - легкий (около 43 MiB в простое) и понятный способ фильтровать рекламу и трекеры на уровне сети. Дома его место на роутере, а на VPS он превращается в личный шифрованный DNS, который работает с телефона из любой сети. Главное при облачном сценарии - выпустить валидный TLS, закрыть обычный DNS на 53 снаружи и не оставить открытый резолвер.

Рекомендуемая конфигурация для установки:
2 vCPU · 4 ГБ RAM · 50 ГБ NVMe

Не хотите устанавливать вручную?

Запустите AdGuard Home на этой конфигурации автоматически - от 450 ₽/мес.

Запустить AdGuard Home →
Анонсы новых разборов в Telegram-канале Новые гайды и карточки в маркетплейсе первыми @fatmetal_channel →

Этот стек у нас запущен на тарифе CPU2-RAM2-DISK20. Нашли баг в гайде - напишите, поправим в течение дня.