Реклама в браузере, трекеры в приложениях, навязчивые уведомления замедляют работу и собирает данные о вас. AdGuard Home решает эту проблему на уровне сети. Можно один раз настроить DNS-сервер, и рекламы не будет на всех устройствах сразу.
AdGuard Home это DNS-сервер с функциями блокировки рекламы, трекеров, фишинговых сайтов и вредоносных доменов. В отличие от браузерных расширений, он работает на уровне DNS: когда устройство запрашивает адрес сайта, AdGuard проверяет его по чёрным спискам и либо возвращает реальный IP, либо блокирует запрос.
Почему это удобно:
Почему именно на VDS, а не на домашнем сервере?
sudo apt update && sudo apt upgrade -y
Docker упрощает установку: AdGuard Home запускается в контейнере, не загрязняет систему и легко обновляется.
apt install -y docker.io docker-compose-v2
Проверяем, что Docker работает:
docker --version
docker compose version
Должны увидеть версии Docker и Docker Compose. Если команды не найдены, то проверьте, что пакеты установились корректно.

Этот шаг требуется если у вас включен firewall, сели он выключен, то его можно пропустить
ufw status
# Если Status: inactive, то можно пропустить
AdGuard Home требует открытых портов 53 (UDP и TCP) для DNS-запросов и порт 80/443 для веб-интерфейса.
Если у вас UFW (стандартный firewall в Ubuntu):
sudo ufw allow 53/udp
sudo ufw allow 53/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw reload
Если у вас firewalld (часто в CentOS/Rocky):
sudo firewall-cmd --permanent --add-service=dns
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
Создадим папку, где будут лежать конфиги и данные AdGuard Home:
mkdir -p ~/adguardhome/data
mkdir -p ~/adguardhome/work
cd ~/adguardhome
data — для конфигов и статистики,
work — для временных файлов.
Создайте файл docker-compose.yml в папке \~/adguardhome:
nano docker-compose.yml
Вставьте содержимое:
services:
adguardhome:
image: adguard/adguardhome:latest
container_name: adguardhome
restart: unless-stopped
ports:
- "53:53/tcp"
- "53:53/udp"
- "80:80/tcp"
- "3000:3000/tcp"
volumes:
- ./data:/opt/adguardhome/conf
- ./work:/opt/adguardhome/work
environment:
- TZ=Europe/Moscow
systemctl disable --now systemd-resolved
rm -f /etc/resolv.conf
echo "nameserver 1.1.1.1" > /etc/resolv.conf
docker compose up -d
Флаг -d запускает контейнер в фоновом режиме. Проверьте, что всё работает:
docker compose ps

Должны увидеть статус Up для контейнера adguardhome. Если статус Exited, то посмотрите логи:
docker compose logs adguardhome
В браузере перейдите по адресу:
http://<IP-вашего-сервера>:3000
Если вы настроили домен и SSL, используйте https\://<ваш-домен>.
Вы увидите мастер настройки AdGuard Home.

Мастер предложит настроить адрес и порт веб-интерфейса. По умолчанию:
Если вы планируете использовать HTTPS, укажите порт 443. Если нет, оставьте 80.

Логин и пароль:
Задайте логин и пароль для входа в панель. Не используйте простые пароли, т.к. панель доступна из интернета

Мастер предложит выбрать DNS-серверы для перенаправления запросов (upstream DNS). По умолчанию AdGuard предлагает:
Что выбрать:
Можно указать несколько серверов для резервирования. Например:
1.1.1.1
8.8.8.8
AdGuard будет использовать первый, а если он не ответит, то переключится на второй.

Например для Windows


Обновите DNS Windows в командной строке Windows
ipconfig /flushdns

nslookup example.com ip-вашего-сервера
Должен вывестись ваш ip

AdGuard Home по умолчанию включает несколько списков блокировки.
Оставьте их включёнными для базовой защиты. Если хотите добавить свои списки, это можно сделать позже в панели.
После завершения мастер предложит перейти в панель управления. Войдите с логином и паролем, которые вы задали.
Откройте терминал на своём компьютере и выполните:
nslookup example.com <IP-вашего-сервера>
Или:
dig @<IP-вашего-сервера> example.com
Если вы видите ответ с IP-адресом, то DNS работает. Если запрос завис или вернул ошибку проверьте, что порт 53 открыт и контейнер запущен.
В панели AdGuard Home перейдите в раздел Фильтры → Списки блокировки. Вы увидите, какие списки включены и сколько доменов в них заблокировано.
Перейдите в Запросы → Все запросы. Вы увидите, какие домены запрашиваются с ваших устройств. Заблокированные запросы помечены красным.
Попробуйте открыть сайт с рекламой — например, новостной портал. В панели AdGuard вы увидите, какие рекламные домены были заблокированы.

Если у вас есть домен, настройте HTTPS для веб-интерфейса. Это защитит логин и пароль от перехвата.
В панели AdGuard Home перейдите в Настройки → Шифрование.
Включите HTTPS и укажите:
AdGuard сам запросит сертификат у Let's Encrypt и настроит автообновление.
Если вы увидите ошибку «не удалось получить сертификат»:
Проверьте, что порт 80/443 открыт:
sudo ufw status
И что контейнер запущен:
docker-compose ps
Если контейнер в статусе Exited, посмотрите логи:
docker-compose logs adguardhome
Убедитесь, что:
AdGuard Home на VDS это простой способ заблокировать рекламу и трекеры на всех устройствах сразу.