Tropic Host

AdGuard Home на VPS: установка и блокировка рекламы

5 мин чтения
Tropic
AdGuard Home на VPS: установка и блокировка рекламы

Как установить и настроить AdGuard Home на VPS

AdGuard Home — бесплатный DNS-сервер, который блокирует запросы к рекламным доменам, трекерам и другим нежелательным ресурсам. Через него можно направить DNS-запросы компьютеров, телефонов, телевизоров и других устройств, чтобы управлять фильтрацией из одной панели. Ниже разберем установку на Ubuntu или Debian VPS, первичную настройку, подключение клиентов и защиту публичного сервера.

Что потребуется

Для личного использования обычно достаточно 1 vCPU, 512 МБ–1 ГБ RAM и нескольких гигабайт свободного места. Также нужны постоянный IP-адрес, SSH-доступ и права root или sudo.

AdGuard Home использует:

  • 3000/TCP для мастера первоначальной настройки;
  • 53/UDP и 53/TCP для обычного DNS;
  • выбранный вами порт для постоянного доступа к панели.

Порт 53 нельзя без ограничений открывать всему интернету. Безопасную схему рассмотрим отдельно.

Установка AdGuard Home на Ubuntu или Debian

Подключитесь к VPS по SSH и установите curl:

sudo apt update
sudo apt install -y curl

Запустите установочный скрипт:

curl -sL tropic.host/agh | sh

Скрипт определит архитектуру сервера, скачает стабильную версию, установит ее в /opt/AdGuardHome и создаст системную службу. Проверить состояние можно командой:

sudo /opt/AdGuardHome/AdGuardHome -s status

Затем откройте в браузере:

http://IP_СЕРВЕРА:3000

Если страница недоступна, проверьте firewall системы и правила в панели хостинг-провайдера.

Первичная настройка

В мастере нужно выбрать адреса и порты панели управления и DNS-сервера.

Для панели можно оставить порт 3000, а в качестве интерфейса выбрать IP-адрес VPS. Создайте отдельный логин и надежный пароль: через панель доступны журнал запросов, фильтры и настройки клиентов.

Для DNS выберите IP сервера и стандартный порт 53. Если он занят, не заменяйте его случайным портом — большинство устройств ожидает обычный DNS именно на 53. Решение конфликта приведено ниже.

После завершения мастера откроется главная страница со статистикой запросов, числом блокировок, активными клиентами и популярными доменами.

Как работает DNS-фильтрация

Перед подключением к сайту или сервису устройство запрашивает IP-адрес домена. AdGuard Home сверяет этот домен со списками правил. Запрос к рекламной сети или трекеру блокируется, а разрешенный запрос передается вышестоящему DNS-серверу.

Такой подход дает единую фильтрацию для всей сети, работает не только в браузерах, но и во многих мобильных приложениях и на Smart TV. Дополнительно доступны журнал запросов, правила для отдельных устройств, безопасный поиск и блокировка сервисов по расписанию.

AdGuard Home не расшифровывает HTTPS и не меняет код страниц. Поэтому он блокирует доменные запросы, но не способен убрать каждый рекламный элемент.

Основные настройки после установки

Вышестоящие DNS-серверы

Откройте Настройки → Настройки DNS. Здесь задаются серверы, которым AdGuard Home передает разрешенные запросы. Для начала можно оставить предложенные значения, а затем выбрать надежные резолверы с DNS-over-HTTPS или DNS-over-TLS.

Зашифрованный вышестоящий DNS защищает участок от VPS до внешнего резолвера. Соединение от устройства до VPS нужно защищать отдельно через DoH, DoT или VPN.

Списки блокировки

Базовый фильтр уже включен. Не добавляйте сразу десятки крупных списков: они дублируют друг друга и повышают риск ложных блокировок. Добавляйте по одному списку под конкретную задачу и проверяйте журнал запросов.

Если после изменения перестал работать сайт или приложение, найдите заблокированный домен в журнале и добавьте точечное исключение.

Собственные правила

В пользовательских правилах можно заблокировать или разрешить отдельный домен:

||ads.example.com^
@@||needed.example.com^

Первая строка блокирует домен, вторая добавляет исключение.

Сервисы, расписание и клиенты

AdGuard Home умеет полностью блокировать отдельные сервисы и применять расписание. Если добавить устройства как постоянных клиентов, для компьютера, детского планшета и телевизора можно назначить разные правила.

Как подключить устройства

Установка сервера сама по себе не меняет DNS на устройствах. Адрес AdGuard Home нужно указать на роутере или на каждом клиенте.

Через роутер

Откройте настройки роутера и найдите раздел DHCP, LAN или DNS. Укажите IP AdGuard Home как DNS-сервер, сохраните конфигурацию и переподключите устройства к сети.

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

На одном устройстве

Для проверки можно изменить DNS только на одном компьютере или телефоне:

  • Windows — свойства сетевого адаптера и IPv4/IPv6;
  • macOS — параметры активного подключения;
  • Android и iOS — настройки текущей Wi-Fi-сети;
  • Smart TV — ручные сетевые настройки.

Обычная настройка Wi-Fi не действует через мобильный интернет. Для работы в любых сетях потребуется DoH, DoT или VPN.

Проверить сервер можно командой:

nslookup example.org IP_СЕРВЕРА

Запрос должен появиться в журнале AdGuard Home.

Безопасная настройка на публичном VPS

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

Для теста разрешите доступ только со своего публичного IP. Если UFW не установлен, сначала добавьте его командой sudo apt install -y ufw.

sudo ufw allow OpenSSH
sudo ufw allow from ВАШ_IP to any port 3000 proto tcp
sudo ufw allow from ВАШ_IP to any port 53 proto udp
sudo ufw allow from ВАШ_IP to any port 53 proto tcp
sudo ufw enable

Сначала разрешите SSH, иначе можно потерять доступ к VPS. Если IP часто меняется, подключайте устройства через WireGuard, Tailscale или другой VPN.

Для постоянной работы из разных сетей лучше настроить домен, TLS-сертификат и защищенный DNS:

  • 443/TCP для DNS-over-HTTPS;
  • 853/TCP для DNS-over-TLS;
  • ограничение клиентов и частоты запросов в настройках AdGuard Home.

Панель администратора также следует закрыть firewall или VPN. Журнал содержит домены, к которым обращались устройства, поэтому храните его только необходимый срок.

Ошибка «порт 53 уже занят»

На Ubuntu порт 53 часто занимает systemd-resolved. Проверить слушающие процессы можно так:

sudo ss -lntup | grep ':53'

Если служба слушает только 127.0.0.53, сначала попробуйте привязать AdGuard Home к конкретному IP VPS, а не ко всем интерфейсам.

Если конфликт остается, отключите локальную DNS-заглушку:

sudo mkdir -p /etc/systemd/resolved.conf.d

printf '[Resolve]\nDNS=127.0.0.1\nDNSStubListener=no\n' | \
sudo tee /etc/systemd/resolved.conf.d/adguardhome.conf

sudo mv /etc/resolv.conf /etc/resolv.conf.backup
sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
sudo systemctl reload-or-restart systemd-resolved
sudo /opt/AdGuardHome/AdGuardHome -s restart

Не закрывайте SSH-сессию, пока не убедитесь, что сервер снова разрешает доменные имена и AdGuard Home работает.

Обновление и резервная копия

Обновиться можно из панели или командой:

cd /opt/AdGuardHome
sudo ./AdGuardHome --update

Перед крупными изменениями сохраните файл /opt/AdGuardHome/AdGuardHome.yaml и каталог /opt/AdGuardHome/data/. В них находятся настройки, клиенты, фильтры и рабочие данные.

Какой VPS выбрать для AdGuard Home

Для семьи или небольшой команды обычно достаточно 1 vCPU и 1 ГБ RAM. Если вместе с AdGuard Home будут работать VPN, мониторинг или другие приложения, предусмотрите дополнительную память.

Для этой задачи подойдет VPS от tropic.host: можно установить Ubuntu или Debian, получить отдельный IP и держать DNS-сервер доступным круглосуточно без домашнего компьютера. При размещении в интернете обязательно используйте firewall, защищенный DNS или VPN.

Ограничения AdGuard Home

DNS-фильтрация не заменяет браузерный блокировщик, антивирус или firewall. Она не может надежно убрать рекламу, которая загружается с того же домена, что и основной контент. Поэтому на уровне DNS нельзя надежно убрать видеорекламу YouTube и Twitch или рекламные публикации внутри социальных сетей, не нарушив работу самих сервисов.

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

Краткий вывод

AdGuard Home централизованно блокирует значительную часть рекламы и трекеров на компьютерах, телефонах и других устройствах. На VPS он устанавливается за несколько минут и не требует больших ресурсов.

После установки настройте клиентов и фильтры, защитите панель и не оставляйте порт 53 открытым всему интернету. Для доступа из мобильных и внешних сетей используйте VPN, DNS-over-HTTPS или DNS-over-TLS.

FAQ

AdGuard Home бесплатный?

Да. AdGuard Home распространяется бесплатно и не требует подписки. Оплачивается только устройство или VPS, на котором он работает.

Блокирует ли AdGuard Home рекламу на YouTube?

Нет. Реклама и видео могут загружаться с общих доменов, поэтому DNS-блокировка нарушила бы работу самого YouTube.

Работает ли фильтрация через мобильный интернет?

Да, если настроить DNS-over-TLS, DNS-over-HTTPS, совместимый профиль или VPN. Изменение DNS в параметрах Wi-Fi действует только в этой сети.

Сколько RAM требуется?

Для личного использования обычно достаточно 512 МБ–1 ГБ RAM. Дополнительная память понадобится при большом числе клиентов, крупных фильтрах или запуске других сервисов.

Что делать, если после включения фильтра не открывается сайт?

Откройте журнал запросов, повторите проблемное действие и найдите заблокированный домен. Добавьте точечное исключение вместо отключения всей фильтрации.