Установка и настройка AdGuard Home на VPS: создание личного DNS-сервера с DoH и защитой от рекламы
TL;DR
В данном руководстве мы разберем процесс развертывания AdGuard Home на виртуальном сервере для создания персонального, высокопроизводительного DNS-сервера. Это решение позволяет блокировать рекламу и трекеры на уровне сетевых запросов для всех ваших устройств одновременно, обеспечивая при этом приватность через современные протоколы шифрования DNS-over-HTTPS (DoH) и DNS-over-TLS (DoT). В итоге вы получите полный контроль над своим трафиком, ускорите загрузку страниц и защитите свои данные от перехвата провайдером.
- Цель: Полная блокировка рекламы и трекеров на уровне DNS.
- Протоколы: Настройка DoH, DoT и DNS-over-QUIC для максимальной безопасности.
- Платформа: VPS под управлением Ubuntu 24.04 LTS или 26.04 LTS.
- Результат: Единая точка фильтрации для смартфонов, ПК и умных устройств.
- Сложность: Средняя (требуются базовые навыки работы с терминалом Linux).
1. Что мы настраиваем и зачем: философия приватного DNS
DNS (Domain Name System) — это "телефонная книга" интернета. Каждый раз, когда вы вводите адрес сайта, ваше устройство спрашивает DNS-сервер: "Какой IP-адрес у google.com?". Традиционно эти запросы отправляются в открытом виде через серверы вашего интернет-провайдера (ISP). Это создает две критические проблемы: провайдер видит все ваши действия в сети, а рекламные сети могут использовать DNS-запросы для отслеживания ваших интересов.
AdGuard Home — это сетевой программный комплекс для блокировки рекламы и слежки. В отличие от браузерных расширений, он работает на уровне системы. Если приложение на вашем смартфоне пытается отправить аналитику на сервер разработчика, AdGuard Home просто возвращает пустой ответ (IP 0.0.0.0), и запрос блокируется до того, как он покинет вашу сеть.
Почему стоит выбрать self-hosted решение на VPS вместо использования публичных DNS (например, AdGuard DNS или Cloudflare)?
- Полный контроль: Вы сами решаете, какие списки фильтрации использовать и какие домены вносить в белый список.
- Конфиденциальность: Ваши логи запросов не хранятся на сторонних серверах. Вы можете полностью отключить логирование.
- Гибкость: Возможность настройки DNS-over-HTTPS (DoH), что делает ваш DNS-трафик неотличимым от обычного HTTPS-трафика, обходя блокировки и цензуру.
- Производительность: Собственный сервер на качественном канале связи часто отвечает быстрее, чем перегруженные публичные узлы.
В 2026 году, когда количество трекеров в мобильных приложениях и Smart TV достигло пика, наличие собственного DNS-фильтра становится не роскошью, а базовым элементом цифровой гигиены.
2. Какой VPS-конфиг нужен под эту задачу
AdGuard Home — крайне эффективное и нетребовательное к ресурсам приложение, написанное на языке Go. Оно способно обрабатывать тысячи запросов в секунду даже на самом скромном железе. Однако для стабильной работы с включенным шифрованием и объемными списками фильтрации (более 500 000 правил) требуются определенные параметры.
| Ресурс |
Минимальные требования |
Рекомендуемые (для 50+ устройств) |
| Процессор (CPU) |
1 ядро (Shared) |
1-2 ядра (Dedicated предпочтительнее) |
| Оперативная память (RAM) |
512 МБ |
1 ГБ - 2 ГБ |
| Дисковое пространство |
10 ГБ SSD/NVMe |
20 ГБ NVMe (для хранения логов) |
| Сеть |
100 Мбит/с, IPv4 + IPv6 |
1 Гбит/с, низкий пинг до вашей локации |
Для большинства сценариев (личное использование + семья) идеально подойдет облачный сервер начального уровня. Вы можете выбрать VPS с указанными характеристиками в локации, максимально близкой к вашему физическому местоположению. Пинг (задержка) — критический фактор для DNS. Если сервер находится в 200 мс от вас, каждая загрузка сайта будет начинаться с этой задержки.
Когда нужен Dedicated сервер? Только если вы планируете поднять публичный DNS-сервер для большой аудитории или корпоративной сети с тысячами пользователей, где важна аппаратная изоляция и отсутствие "шумных соседей" по гипервизору.
3. Подготовка сервера: безопасность и системные утилиты
После аренды VPS и получения доступа по SSH, первым делом необходимо обезопасить систему. Мы будем использовать Ubuntu 24.04/26.04 LTS.
Обновим системные пакеты до актуальных версий 2026 года:
sudo apt update && sudo apt upgrade -y
Установим базовый набор утилит, которые понадобятся нам для диагностики и работы:
sudo apt install -y curl wget git ufw tar net-tools dnsutils build-essential
Настроим базовый файрвол (UFW). Нам нужно открыть порты для SSH, веб-интерфейса AdGuard Home и самих протоколов DNS:
# Разрешаем SSH (убедитесь, что ваш порт 22, если не меняли)
sudo ufw allow 22/tcp
# Порт для начальной настройки AdGuard Home
sudo ufw allow 3000/tcp
# Стандартный DNS (UDP/TCP)
sudo ufw allow 53/udp
sudo ufw allow 53/tcp
# DNS-over-TLS (DoT)
sudo ufw allow 853/tcp
# DNS-over-HTTPS (DoH) и веб-интерфейс (HTTPS)
sudo ufw allow 443/tcp
sudo ufw allow 80/tcp
# DNS-over-QUIC (DoQ)
sudo ufw allow 7844/udp
# Включаем файрвол
sudo ufw enable
Совет: Рекомендуется также настроить авторизацию по SSH-ключам и отключить вход по паролю в /etc/ssh/sshd_config для предотвращения брутфорс-атак.
4. Решение конфликта с systemd-resolved на порту 53
В современных дистрибутивах Ubuntu служба systemd-resolved по умолчанию занимает порт 53, используя его для локального резолвинга. Это не позволит AdGuard Home запуститься. Нам нужно освободить этот порт.
Создадим директорию для конфигурации, если она отсутствует, и отредактируем файл:
sudo mkdir -p /etc/systemd/resolved.conf.d
sudo nano /etc/systemd/resolved.conf
Внесите следующие изменения в файл /etc/systemd/resolved.conf:
[Resolve]
DNS=127.0.0.1
DNSStubListener=no
Теперь создадим симлинк для корректной работы /etc/resolv.conf и перезапустим службу:
sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
sudo systemctl restart systemd-resolved
Проверьте, что порт 53 теперь свободен командой sudo lsof -i :53. Если вывод пуст — всё сделано верно.
5. Установка AdGuard Home: пошаговый алгоритм
Мы будем использовать официальный метод установки через автоматизированный скрипт, который скачивает актуальную бинарную сборку, настраивает права и создает системную службу systemd.
Выполните команду установки:
curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v
Эта команда выполнит следующие действия:
- Определит архитектуру вашего процессора (x86_64, ARM и т.д.).
- Скачает последнюю стабильную версию AdGuard Home (актуальную на 2026 год).
- Распакует файлы в директорию
/opt/AdGuardHome.
- Зарегистрирует сервис
AdGuardHome в системе.
Проверьте статус службы, чтобы убедиться, что она работает:
sudo systemctl status AdGuardHome
Если вы видите active (running), значит сервер готов к первичной конфигурации.
6. Первоначальная настройка через веб-интерфейс
Теперь откройте ваш браузер и перейдите по адресу: http://IP_ВАШЕГО_СЕРВЕРА:3000.
Вас встретит мастер настройки AdGuard Home:
- Начало: Нажмите "Начать".
- Настройка интерфейсов:
- Веб-интерфейс: выберите "Все интерфейсы" (All Interfaces) и порт 3000 (или 80, если он свободен).
- DNS-сервер: выберите "Все интерфейсы" и порт 53.
- Создание администратора: Введите логин и надежный пароль. Эти данные будут использоваться для входа в панель управления.
- Завершение: Система покажет вам инструкции по настройке DNS на различных устройствах.
После завершения панель управления станет доступна по адресу http://IP_ВАШЕГО_СЕРВЕРА:3000. Войдите, используя созданные учетные данные.
7. Настройка шифрования: SSL, DoH и DoT
Использовать обычный DNS через порт 53 в открытом интернете небезопасно — любой промежуточный узел может перехватить или подменить ваши запросы. В 2026 году стандартом является использование шифрованных протоколов.
Получение SSL-сертификата (Let's Encrypt)
Для работы DoH и DoT вам понадобится доменное имя, направленное на IP вашего VPS. Мы будем использовать certbot для получения бесплатного сертификата:
# Установка certbot
sudo apt install -y certbot
# Получение сертификата (замените dns.example.com на ваш домен)
sudo certbot certonly --standalone -d dns.example.com
Ваши сертификаты будут сохранены в /etc/letsencrypt/live/dns.example.com/.
Настройка в AdGuard Home
Перейдите в раздел "Настройки" -> "Настройки шифрования" в веб-интерфейсе:
- Поставьте галочку "Включить шифрование".
- Имя сервера: введите ваш домен (например,
dns.example.com).
- HTTPS порт: 443.
- DNS-over-TLS порт: 853.
- Путь к файлу сертификата:
/etc/letsencrypt/live/dns.example.com/fullchain.pem.
- Путь к файлу закрытого ключа:
/etc/letsencrypt/live/dns.example.com/privkey.pem.
Нажмите "Сохранить конфигурацию". Теперь ваш сервер поддерживает:
- DoH:
https://dns.example.com/dns-query
- DoT:
tls://dns.example.com
8. Тонкая настройка фильтров и оптимизация производительности
Перейдите в раздел "Фильтры" -> "DNS-фильтры". По умолчанию включен только AdGuard DNS filter, но для максимальной эффективности стоит добавить дополнительные списки.
Рекомендуемые списки (2026):
- OISD (Big): Один из самых полных и качественных списков, минимизирующий ложные срабатывания.
- Steven Black's List: Отличная база для блокировки рекламы и вредоносных сайтов.
- NoTrack: Специализированный список против трекеров.
Настройка вышестоящих (Upstream) серверов
В разделе "Настройки" -> "Настройки DNS" укажите, куда AdGuard Home будет пересылать разрешенные запросы. Для максимальной приватности используйте шифрованные апстримы:
https://dns.cloudflare.com/dns-query
https://dns.google/dns-query
tls://9.9.9.9
Выберите метод "Параллельный опрос" (Parallel requests), чтобы минимизировать задержку: AdGuard Home отправит запрос всем апстримам одновременно и выберет самый быстрый ответ.
Кэширование
Установите размер кэша не менее 64 МБ (или больше, если позволяет RAM). Это позволит мгновенно отдавать ответы на повторные запросы популярных доменов без обращения к внешним серверам.
9. Бэкапы, обновление и обслуживание системы
AdGuard Home хранит все настройки и данные в одной директории /opt/AdGuardHome. Это упрощает процесс резервного копирования.
Скрипт автоматического бэкапа
Создадим простой скрипт, который будет архивировать конфигурацию и отправлять её в безопасное место:
#!/bin/bash
BACKUP_DIR="/home/user/backups"
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
mkdir -p $BACKUP_DIR
# Останавливаем сервис для консистентности данных
sudo systemctl stop AdGuardHome
tar -czf $BACKUP_DIR/agh_backup_$TIMESTAMP.tar.gz /opt/AdGuardHome
sudo systemctl start AdGuardHome
# Удаляем бэкапы старше 30 дней
find $BACKUP_DIR -type f -mtime +30 -delete
Добавьте этот скрипт в crontab -e, чтобы он запускался раз в неделю.
Обновление AdGuard Home
Обновление происходит прямо из веб-интерфейса. Когда выходит новая версия, в верхней части панели появляется кнопка "Обновить". Процесс занимает около 10 секунд и проходит в автоматическом режиме.
10. Troubleshooting + FAQ: решение типичных проблем
Какая ошибка возникает чаще всего при установке?
Самая частая проблема — bind: address already in use на порту 53. Это почти всегда означает, что systemd-resolved или другой DNS-резолвер (например, dnsmasq) все еще запущен. Проверьте это командой sudo netstat -tulpn | grep :53 и убедитесь, что вы выполнили шаги из раздела 4 данного гайда.
Что делать, если некоторые сайты перестали открываться?
Это называется "overblocking". Зайдите в раздел "Журнал запросов", найдите заблокированный домен (он будет подсвечен красным) и нажмите кнопку "В список исключений". AdGuard Home автоматически добавит правило в ваш персональный белый список.
Какой VPS-конфиг минимально подойдёт?
Для стабильной работы одного пользователя достаточно 512 МБ оперативной памяти и 1 ядра CPU. Однако, если вы планируете хранить логи за длительный период (несколько месяцев), вам потребуется больше дискового пространства (от 20 ГБ) и желательно 1 ГБ RAM для комфортной работы веб-интерфейса при просмотре больших журналов.
Что выбрать — VPS или dedicated для этой задачи?
Для личного DNS-сервера VPS — идеальный выбор. Dedicated сервер будет избыточен по мощности и стоимости. Единственный случай, когда выделенный сервер оправдан — это создание публичного DNS-сервиса с защитой от DDoS-атак на канальном уровне и необходимостью обработки миллионов запросов в час.
Как проверить, что DoH работает?
Вы можете использовать онлайн-сервисы проверки DNS (например, dnsleaktest.com) или консольную утилиту kdig:
kdig -d @dns.example.com +https / google.com
Если вы видите успешный ответ с IP-адресом, значит шифрование настроено верно.
Влияет ли AdGuard Home на скорость интернета?
На саму пропускную способность (Мбит/с) — нет. На скорость загрузки страниц — да, положительно. Блокируя тяжелые рекламные скрипты и баннеры до их загрузки, вы экономите трафик и ресурсы процессора вашего устройства. Задержка (latency) может незначительно вырасти при первом запросе, но за счет кэширования последующие запросы будут выполняться мгновенно.
11. Выводы и следующие шаги
Установка AdGuard Home на собственный VPS — это мощный шаг к обеспечению цифровой приватности и безопасности. Вы создали надежный барьер против рекламы и слежки, который работает на всех ваших устройствах, от ноутбука до умной лампочки.
Что делать дальше?
- Интеграция с Unbound: Вы можете установить
unbound на этот же VPS, чтобы превратить AdGuard Home в полноценный рекурсивный DNS-сервер. Это позволит вам не доверять даже апстримам вроде Google или Cloudflare.
- Настройка мобильных устройств: Добавьте ваш DoH-адрес в настройки "Частный DNS" на Android или используйте профили конфигурации для iOS.
- Мониторинг: Настройте уведомления в Telegram через API AdGuard Home, если сервер станет недоступен или количество заблокированных угроз резко возрастет.
Регулярно проверяйте актуальность ваших списков фильтрации и не забывайте обновлять систему безопасности вашего VPS. Теперь ваш интернет стал чище и безопаснее.