bolt Выделенные серверы Valebyte — bare metal, защита от DDoS, по всему миру.

Смотреть серверы arrow_forward
eco Начальный Туториал

Настройка AdGuard Home на VPS для блокировки рекламы и трекеров во всей сети

calendar_month Jul 15, 2026 schedule 20 мин. чтения visibility 21 просмотров
Настройка AdGuard Home на VPS для блокировки рекламы и трекеров во всей сети
info

Нужен сервер для этого гайда? Мы предлагаем выделенные серверы и VPS в 50+ странах с мгновенной настройкой.

Нужен сервер для этого гайда?

Deploy a dedicated server in minutes.

Настройка AdGuard Home на VPS для блокировки рекламы и трекеров во всей сети

TL;DR

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

  • Установка AdGuard Home на Ubuntu Server 24.04 LTS.
  • Настройка блокировки рекламы, трекеров и вредоносных доменов на уровне DNS.
  • Защита веб-интерфейса AdGuard Home с помощью HTTPS и автоматических сертификатов Let's Encrypt через Caddy.
  • Обеспечение безопасности сервера с помощью Fail2Ban, UFW и SSH-ключей.
  • Рекомендации по резервному копированию и обслуживанию AdGuard Home.
  • Подробный раздел с устранением неполадок и ответами на часто задаваемые вопросы.

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

Схема: Что мы настраиваем и зачем
Схема: Что мы настраиваем и зачем

В современном интернете реклама и трекеры стали неотъемлемой частью пользовательского опыта, часто замедляя загрузку страниц, потребляя трафик и нарушая конфиденциальность. AdGuard Home — это мощное и бесплатное программное обеспечение с открытым исходным кодом, которое действует как DNS-сервер, фильтрующий интернет-трафик на уровне доменных имен. Установив его на свой VPS, вы сможете централизованно блокировать рекламу, трекеры, вредоносные сайты и даже контент для взрослых для всех устройств, подключенных к вашей сети (будь то домашний роутер, смартфон, компьютер или IoT-устройство).

В итоге, по завершении этого руководства, у вас будет собственный, полностью контролируемый DNS-сервер с AdGuard Home, который будет:

  • Блокировать подавляющее большинство рекламы и всплывающих окон.
  • Защищать от сбора данных трекерами и аналитическими системами.
  • Предотвращать доступ к известным вредоносным и фишинговым сайтам.
  • Улучшать скорость загрузки веб-страниц за счет сокращения объема загружаемого контента.
  • Предоставлять детальную статистику по DNS-запросам и заблокированным доменам.
  • Обеспечивать централизованное управление фильтрацией для всех устройств в вашей сети.

Альтернативы: Cloud-managed vs. Self-hosted на VPS

Существует несколько способов блокировки рекламы и трекеров. Вы можете использовать расширения для браузеров (AdBlock Plus, uBlock Origin), которые работают только в конкретном браузере, или платные VPN-сервисы, предлагающие блокировку рекламы. Также есть облачные DNS-сервисы с фильтрацией (например, сам AdGuard DNS, Cloudflare DNS), которые просты в настройке, но не дают вам полного контроля над списками фильтров и не предоставляют детальной статистики по вашим запросам.

Self-hosted решение на VPS, напротив, предлагает максимальный контроль и гибкость. Вы сами выбираете списки блокировки, можете добавлять свои правила, интегрировать AdGuard Home с другими сервисами (например, с VPN-сервером на том же VPS) и иметь полный доступ к логам и статистике. Это идеальный вариант для тех, кто ценит приватность, производительность и полный контроль над своей сетевой инфраструктурой, а также для тех, кто хочет иметь единую точку фильтрации для всех устройств, включая те, где установка расширений или приложений невозможна (например, Smart TV, игровые консоли).

Какой VPS-конфиг нужен под эту задачу

Схема: Какой VPS-конфиг нужен под эту задачу
Схема: Какой VPS-конфиг нужен под эту задачу

AdGuard Home — это относительно легкое приложение, которое не требует значительных ресурсов, особенно если вы планируете использовать его для небольшой домашней или офисной сети (до 50-100 устройств). Однако, если вы ожидаете высокую нагрузку или хотите запускать дополнительные сервисы на том же VPS, требования могут возрасти.

Минимальные требования для AdGuard Home (актуально на 2026 год):

  • CPU: 1 ядро (x64-совместимый процессор). AdGuard Home не сильно нагружает процессор, большую часть времени он будет простаивать.
  • RAM: 512 МБ. AdGuard Home потребляет от 50 до 200 МБ оперативной памяти в зависимости от количества используемых списков фильтров и объема кеша DNS-запросов. 512 МБ будет достаточно для комфортной работы.
  • Диск: 10 ГБ SSD. Большая часть этого объема будет занята операционной системой и кешем. Сам AdGuard Home занимает несколько десятков мегабайт. SSD настоятельно рекомендуется для быстрой работы DNS-сервера.
  • Сеть: 100 Мбит/с. DNS-запросы потребляют очень мало трафика, поэтому даже базового сетевого канала будет более чем достаточно.

Рекомендуемый VPS-план для типичного использования:

Для стабильной работы AdGuard Home и возможности запускать другие небольшие сервисы на том же VPS, а также для обеспечения запаса ресурсов, рекомендуется следующий конфиг:

Критерий Рекомендуемое значение
CPU 2 ядра (Intel Xeon E3/E5 или AMD EPYC)
RAM 1 ГБ
Диск 25 ГБ SSD
Сеть 1 Гбит/с порт, безлимитный трафик (или большой объем, например, 1-2 ТБ/мес)
ОС Ubuntu Server 24.04 LTS (или новее)

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

Когда нужен dedicated, а не VPS

Dedicated сервер для AdGuard Home обычно не требуется. Однако, если вы планируете:

  • Обслуживать AdGuard Home для очень крупной организации (тысячи клиентов).
  • Запускать на том же сервере множество ресурсоемких приложений (облачные хранилища, тяжелые базы данных, игровые серверы с высокой нагрузкой).
  • Требуется исключительная производительность ввода-вывода или особые аппаратные конфигурации.

В этих редких случаях можно рассмотреть аренду подходящего dedicated сервера, но для большинства пользователей VPS будет оптимальным и более экономичным решением.

Локация: на что влияет

Выбор локации VPS имеет значение для DNS-сервера:

  • Задержка (Latency): Чем ближе ваш VPS к вам географически, тем ниже будет задержка при обработке DNS-запросов. Для DNS это важно, так как каждый запрос должен быть обработан как можно быстрее. Разница в 50-100 мс может быть ощутима. Выбирайте локацию, которая находится максимально близко к вашему физическому местоположению.
  • Доступность контента: Некоторые сервисы могут предлагать разный контент или иметь разные ограничения в зависимости от IP-адреса, с которого пришел запрос. Если вы используете VPS для обхода гео-ограничений, убедитесь, что его локация соответствует вашим целям.
  • Законодательство: В некоторых юрисдикциях могут быть свои правила относительно хранения логов или обработки трафика. Учитывайте это при выборе страны для вашего VPS.

Подготовка сервера

Схема: Подготовка сервера
Схема: Подготовка сервера

Перед установкой AdGuard Home необходимо выполнить базовую настройку и усиление безопасности вашего VPS. Мы будем использовать Ubuntu Server 24.04 LTS.

1. Подключение к серверу по SSH

После получения данных для доступа к VPS (обычно IP-адрес, логин root и пароль), подключитесь к нему:


ssh root@ВАШ_IP_АДРЕС_VPS
    

При первом подключении вам может быть предложено подтвердить отпечаток сервера. Введите yes.

2. Обновление системы

Всегда начинайте с обновления пакетного менеджера и установленных пакетов до последних версий:


sudo apt update         # Обновляем список доступных пакетов
sudo apt upgrade -y     # Обновляем все установленные пакеты
sudo apt autoremove -y  # Удаляем ненужные зависимости
    

3. Создание нового пользователя с правами sudo

Работать под учетной записью root небезопасно. Создадим нового пользователя и предоставим ему права sudo:


adduser ваш_пользователь          # Создаем нового пользователя
usermod -aG sudo ваш_пользователь # Добавляем пользователя в группу sudo
    

После создания пользователя, задайте ему надежный пароль. Теперь вы можете выйти из сессии root и войти под новым пользователем:


exit
ssh ваш_пользователь@ВАШ_IP_АДРЕС_VPS
    

4. Настройка аутентификации по SSH-ключам (рекомендуется)

Использование SSH-ключей значительно повышает безопасность по сравнению с паролями. Если у вас еще нет пары SSH-ключей, сгенерируйте их на вашем локальном компьютере:


ssh-keygen -t rsa -b 4096 -C "ваш[email protected]"
    

Затем скопируйте публичный ключ на ваш VPS:


ssh-copy-id ваш_пользователь@ВАШ_IP_АДРЕС_VPS
    

После успешной настройки, отключите аутентификацию по паролю для root и нового пользователя. Отредактируйте файл конфигурации SSH-сервера:


sudo nano /etc/ssh/sshd_config
    

Найдите и измените следующие строки:


#PermitRootLogin yes
PermitRootLogin no

#PasswordAuthentication yes
PasswordAuthentication no
    

Сохраните изменения (Ctrl+O, Enter) и выйдите (Ctrl+X). Перезапустите SSH-сервис:


sudo systemctl restart sshd
    

Важно: Перед тем как закрыть текущую SSH-сессию, откройте новое окно терминала и попробуйте подключиться к VPS с использованием SSH-ключа. Убедитесь, что все работает, чтобы не потерять доступ к серверу.

5. Настройка брандмауэра UFW (Uncomplicated Firewall)

UFW — это простой в использовании интерфейс для iptables. Настроим его, чтобы разрешить только необходимый трафик:


sudo apt install ufw -y                 # Устанавливаем UFW
sudo ufw default deny incoming          # Запрещаем весь входящий трафик по умолчанию
sudo ufw default allow outgoing         # Разрешаем весь исходящий трафик по умолчанию

sudo ufw allow ssh                      # Разрешаем SSH (порт 22)
sudo ufw allow 80/tcp                   # Разрешаем HTTP (для Caddy/AdGuard Home web interface)
sudo ufw allow 443/tcp                  # Разрешаем HTTPS (для Caddy/AdGuard Home web interface)
sudo ufw allow 53/tcp                   # Разрешаем DNS (для AdGuard Home)
sudo ufw allow 53/udp                   # Разрешаем DNS (для AdGuard Home)
sudo ufw enable                         # Включаем брандмауэр
sudo ufw status verbose                 # Проверяем статус
    

Если вы используете нестандартный порт для SSH, разрешите его вместо 22. После включения UFW система может спросить подтверждение, введите y.

6. Установка Fail2Ban

Fail2Ban сканирует логи сервера на предмет подозрительной активности (например, многократные неудачные попытки входа по SSH) и автоматически блокирует IP-адреса нарушителей с помощью брандмауэра.


sudo apt install fail2ban -y            # Устанавливаем Fail2Ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local # Создаем локальную копию конфига
sudo nano /etc/fail2ban/jail.local      # Редактируем конфигурацию
    

В файле jail.local вы можете настроить параметры, например, bantime (время блокировки) и findtime (период, за который считаются неудачные попытки). Убедитесь, что секция [sshd] активна (enabled = true). Также можно добавить свой IP-адрес в ignoreip, чтобы вас никогда не блокировало:


[DEFAULT]
ignoreip = 127.0.0.1/8 ::1 ВАШ_ДОМАШНИЙ_IP
bantime = 1d
findtime = 10m
maxretry = 5

[sshd]
enabled = true
port = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s
    

Сохраните изменения и перезапустите Fail2Ban:


sudo systemctl enable fail2ban          # Включаем автозапуск при старте системы
sudo systemctl restart fail2ban         # Перезапускаем сервис
sudo fail2ban-client status             # Проверяем статус
    

Ваш сервер теперь базово настроен и защищен. Можно переходить к установке AdGuard Home.

Установка ПО — пошагово

Схема: Установка ПО — пошагово
Схема: Установка ПО — пошагово

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

1. Установка необходимых утилит

Для загрузки и распаковки архивов нам понадобятся wget или curl, а также unzip:


sudo apt install wget unzip -y  # Устанавливаем необходимые утилиты
    

2. Загрузка последней версии AdGuard Home

По состоянию на 2026 год, AdGuard Home активно развивается. Мы предположим, что актуальная стабильная версия будет примерно v0.108.2 или v0.109.0. Вы всегда можете проверить последнюю версию на странице релизов GitHub: https://github.com/AdguardTeam/AdGuardHome/releases.

Определите архитектуру вашего VPS (обычно linux-amd64):


dpkg --print-architecture # Выводит архитектуру, например, amd64
    

Загрузим архив. Замените v0.108.2 и linux-amd64 на актуальные значения, если они отличаются:


wget https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.108.2/AdGuardHome_linux_amd64.zip # Загружаем архив AdGuard Home
    

3. Распаковка и установка AdGuard Home

Распакуем архив в директорию /opt/AdGuardHome. Это общепринятое место для стороннего ПО.


sudo mkdir -p /opt/AdGuardHome              # Создаем директорию для AdGuard Home
sudo unzip AdGuardHome_linux_amd64.zip -d /opt/AdGuardHome # Распаковываем архив в созданную директорию
rm AdGuardHome_linux_amd64.zip              # Удаляем загруженный архив
    

4. Установка AdGuard Home как системного сервиса

AdGuard Home поставляется с удобным скриптом для установки его в качестве системного сервиса (systemd). Это гарантирует, что AdGuard Home будет автоматически запускаться при старте сервера и может управляться стандартными командами systemctl.


sudo /opt/AdGuardHome/AdGuardHome -s install # Устанавливаем AdGuard Home как systemd-сервис
    

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

5. Проверка статуса AdGuard Home

Убедитесь, что сервис AdGuard Home запущен и работает корректно:


sudo systemctl status AdGuardHome # Проверяем статус сервиса AdGuard Home
    

Вывод должен показать Active: active (running). Если сервис не запущен, вы можете попробовать запустить его вручную:


sudo systemctl start AdGuardHome # Запускаем сервис AdGuard Home
    

6. Первоначальная настройка AdGuard Home через веб-интерфейс

По умолчанию, AdGuard Home запускает свой веб-интерфейс на порту 3000. Откройте его в браузере, используя IP-адрес вашего VPS:


http://ВАШ_IP_АДРЕС_VPS:3000
    

На первом шаге вам будет предложено выбрать сетевые интерфейсы, на которых AdGuard Home будет слушать DNS-запросы и веб-интерфейс. Для DNS-сервера выберите 0.0.0.0 (все интерфейсы) для прослушивания на порту 53. Для веб-интерфейса также выберите 0.0.0.0 и укажите порт 80 (или оставьте 3000, если будете использовать обратный прокси, как мы сделаем позже с Caddy).

Затем создайте имя пользователя и надежный пароль для доступа к панели управления AdGuard Home. Сохраните эти данные в безопасном месте.

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

Конфигурация

Схема: Конфигурация
Схема: Конфигурация

После базовой установки AdGuard Home необходимо выполнить дополнительную настройку для обеспечения безопасности и оптимальной работы. Мы настроим HTTPS для веб-интерфейса с помощью Caddy и проверим работоспособность.

1. Настройка DNS-сервера на устройствах

Чтобы AdGuard Home начал фильтровать трафик, вам нужно указать его IP-адрес в качестве DNS-сервера на ваших устройствах или в роутере:

  • На роутере: Это предпочтительный метод, так как он применит фильтрацию ко всем устройствам в вашей сети автоматически. Зайдите в настройки вашего роутера (обычно 192.168.0.1 или 192.168.1.1), найдите раздел "Настройки WAN" или "Настройки DHCP/DNS" и укажите IP-адрес вашего VPS в качестве основного DNS-сервера. Можно также указать вторичный DNS-сервер (например, 1.1.1.1 или 8.8.8.8) на случай недоступности вашего AdGuard Home.
  • На компьютере (Windows/macOS/Linux): В сетевых настройках вашей операционной системы вручную установите IP-адрес VPS как основной DNS-сервер.
  • На смартфоне/планшете: В настройках Wi-Fi сети можно указать статический IP-адрес и DNS-сервер.

После изменения DNS-сервера, очистите DNS-кеш на устройстве (например, ipconfig /flushdns в Windows или перезагрузите устройство).

2. Установка и настройка Caddy для HTTPS

Для безопасного доступа к веб-интерфейсу AdGuard Home через HTTPS, мы будем использовать Caddy — современный веб-сервер, который автоматически управляет сертификатами Let's Encrypt. Это значительно проще, чем настраивать Certbot с Nginx/Apache.

2.1. Установка Caddy

Добавим репозиторий Caddy и установим его:


sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https # Устанавливаем необходимые пакеты
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg # Добавляем GPG ключ
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list # Добавляем репозиторий
sudo apt update                                 # Обновляем список пакетов
sudo apt install caddy -y                       # Устанавливаем Caddy
    
2.2. Конфигурация Caddyfile

Мы настроим Caddy как обратный прокси для AdGuard Home. Предположим, у вас есть доменное имя (например, adguard.yourdomain.com), которое указывает на IP-адрес вашего VPS. Если домена нет, вы можете использовать только IP-адрес, но HTTPS будет работать только с самоподписанным сертификатом, либо не будет работать вовсе. Для полноценного Let's Encrypt нужен домен.

Отредактируйте файл /etc/caddy/Caddyfile:


sudo nano /etc/caddy/Caddyfile
    

Замените существующее содержимое на следующее (замените adguard.yourdomain.com на ваш реальный домен):


adguard.yourdomain.com {
    reverse_proxy 127.0.0.1:3000
    tls {
        dns cloudflare {ВАШ_CLOUDFLARE_API_ТОКЕН} # Опционально: если ваш домен на Cloudflare и вы хотите DNS-01 аутентификацию
    }
}
    

Пояснения:

  • adguard.yourdomain.com: Ваше доменное имя, по которому будет доступен AdGuard Home. Caddy автоматически получит для него сертификат Let's Encrypt.
  • reverse_proxy 127.0.0.1:3000: Caddy будет перенаправлять запросы с порта 80/443 на локальный порт 3000, где работает веб-интерфейс AdGuard Home.
  • tls { dns cloudflare {ВАШ_CLOUDFLARE_API_ТОКЕН} }: Эта секция опциональна. Она нужна, если вы хотите использовать DNS-01 аутентификацию для Let's Encrypt (например, если ваш сервер находится за NAT или вы хотите получить wildcard-сертификат). Для этого вам нужно установить плагин Caddy для Cloudflare и получить API-токен. Если вы просто используете домен, указывающий на ваш VPS, эту секцию можно убрать, Caddy по умолчанию использует HTTP-01 аутентификацию.

Сохраните изменения и выйдите. Теперь проверьте конфигурацию Caddy и перезапустите его:


sudo caddy validate --config /etc/caddy/Caddyfile # Проверяем синтаксис Caddyfile
sudo systemctl reload caddy                        # Перезагружаем Caddy для применения изменений
    

Теперь вы сможете получить доступ к веб-интерфейсу AdGuard Home по адресу https://adguard.yourdomain.com.

3. Проверка работоспособности

После всех настроек убедимся, что AdGuard Home работает и фильтрует трафик:

  • Проверка DNS-запросов:

    На локальном компьютере, который использует ваш AdGuard Home как DNS, выполните команду:

    
    nslookup example.com ВАШ_IP_АДРЕС_VPS # Проверяем, что запросы идут через ваш AdGuard Home
                

    Вы также можете проверить это на сайте вроде dnsleaktest.com.

  • Проверка блокировки рекламы:

    Откройте в браузере сайт с большим количеством рекламы (например, новостной портал) и убедитесь, что реклама не отображается. В панели управления AdGuard Home (https://adguard.yourdomain.com) перейдите в раздел "Запросы" (Query Log) и убедитесь, что там отображаются заблокированные домены.

  • Проверка доступности веб-интерфейса:

    Убедитесь, что вы можете зайти в панель управления AdGuard Home по HTTPS через ваш домен и авторизоваться.

4. Дополнительные настройки AdGuard Home (в веб-интерфейсе)

  • Списки фильтров (Filters -> DNS blocklists): Добавьте дополнительные списки блокировки. Рекомендуемые: OISD, AdAway, Easylist. Не переусердствуйте, слишком много списков могут замедлить работу.
  • Настройки DNS (Settings -> DNS settings):
    • Upstream DNS servers: Укажите надежные и быстрые DNS-серверы для разрешения запросов, которые AdGuard Home не может заблокировать (например, Cloudflare DNS 1.1.1.1 и 1.0.0.1, Google DNS 8.8.8.8 и 8.8.4.4, или Quad9 9.9.9.9 и 149.112.112.112). Рекомендуется использовать DNS-over-HTTPS (DoH) или DNS-over-TLS (DoT) для повышения приватности, например: https://cloudflare-dns.com/dns-query или tls://dns.quad9.net.
    • Bootstrap DNS servers: Для разрешения имен upstream-серверов. Можно оставить по умолчанию или указать тот же Cloudflare/Google.
    • Enable DNSSEC: Включите для дополнительной безопасности.
    • Enable EDNS Client Subnet (ECS): Отключите, чтобы скрыть вашу подсеть от upstream-серверов и улучшить приватность (может повлиять на CDN).
  • Настройки DHCP (Settings -> DHCP settings): Если вы хотите, чтобы AdGuard Home управлял DHCP в вашей сети, вы можете включить его здесь. Однако, это требует отключения DHCP на вашем роутере. Для большинства пользователей проще оставить DHCP на роутере и просто указать AdGuard Home как DNS-сервер.
  • Клиенты (Clients): Вы можете добавлять и настраивать правила для отдельных клиентов (устройств) в вашей сети, чтобы применять разные правила фильтрации.

Бэкапы и обслуживание

Схема: Бэкапы и обслуживание
Схема: Бэкапы и обслуживание

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

1. Что бэкапить

Основной каталог данных AdGuard Home находится по умолчанию в /opt/AdGuardHome/data. Он содержит:

  • Файл конфигурации (AdGuardHome.yaml)
  • Базы данных статистики и логов DNS-запросов
  • Списки фильтров, пользовательские правила и другие настройки

Все эти данные необходимы для полного восстановления AdGuard Home. Также полезно иметь бэкап файла Caddyfile, если вы используете Caddy.

2. Простой скрипт автобэкапа

Создадим простой скрипт для архивирования каталога данных AdGuard Home и Caddyfile. Мы будем использовать tar для архивирования.


sudo nano /usr/local/bin/backup_adguard.sh
    

Добавьте следующий код (замените ваш_пользователь на имя вашего пользователя):


#!/bin/bash

# Каталог, где будут храниться бэкапы
BACKUP_DIR="/home/ваш_пользователь/adguard_backups"
# Каталог данных AdGuard Home
ADGUARD_DATA_DIR="/opt/AdGuardHome/data"
# Файл конфигурации Caddy
CADDYFILE="/etc/caddy/Caddyfile"
# Имя файла бэкапа
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
BACKUP_FILE="${BACKUP_DIR}/adguard_home_backup_${TIMESTAMP}.tar.gz"

echo "Starting AdGuard Home backup at ${TIMESTAMP}..."

# Создаем директорию для бэкапов, если ее нет
mkdir -p "${BACKUP_DIR}"

# Создаем архив
sudo tar -czf "${BACKUP_FILE}" "${ADGUARD_DATA_DIR}" "${CADDYFILE}"

# Проверяем успешность создания архива
if [ $? -eq 0 ]; then
    echo "Backup created successfully: ${BACKUP_FILE}"
    # Удаляем старые бэкапы (оставляем только последние 7 дней)
    find "${BACKUP_DIR}" -type f -name "adguard_home_backup_.tar.gz" -mtime +7 -delete
    echo "Old backups cleaned up."
else
    echo "Error creating backup!"
fi

echo "Backup process finished."
    

Сделайте скрипт исполняемым:


sudo chmod +x /usr/local/bin/backup_adguard.sh
    

3. Настройка Cron для автоматического запуска

Добавим задание в Cron для ежедневного запуска скрипта бэкапа. Например, в 3:00 ночи:


sudo crontab -e
    

Добавьте следующую строку в конец файла:


0 3    /usr/local/bin/backup_adguard.sh >> /var/log/adguard_backup.log 2>&1
    

Это будет запускать скрипт ежедневно в 03:00 и записывать вывод в лог-файл /var/log/adguard_backup.log.

4. Куда складывать бэкапы (внешнее хранилище)

Хранить бэкапы на том же VPS, что и исходные данные, рискованно. Если VPS выйдет из строя, вы потеряете и данные, и бэкапы. Рекомендуется использовать внешнее хранилище:

  • S3-совместимое хранилище: Облачные сервисы типа Amazon S3, DigitalOcean Spaces, Backblaze B2, Scaleway Object Storage. Вы можете использовать утилиты типа s3cmd или rclone для автоматической загрузки бэкапов.
  • Отдельный VPS: Арендовать небольшой, дешевый VPS для хранения бэкапов и использовать rsync или scp для их передачи.
  • Локальный сервер/NAS: Если у вас есть домашний сервер или сетевое хранилище, можно настроить rsync для синхронизации бэкапов с VPS.

Например, для S3 с rclone (после его установки и настройки):


# Добавьте в скрипт backup_adguard.sh после создания архива
rclone copy "${BACKUP_FILE}" "remote_s3_storage:adguard-backups/"
    

5. Обновления: Rolling vs. Maintenance Window

Регулярные обновления важны для безопасности и получения новых функций.

  • Обновление операционной системы: Выполняйте sudo apt update && sudo apt upgrade -y не реже одного раза в месяц. Перезагрузка сервера может потребоваться после обновлений ядра.
  • Обновление AdGuard Home:

    AdGuard Home имеет встроенный механизм обновления через веб-интерфейс (раздел "Settings" -> "General settings" -> "Update channel"). Выберите "Stable" канал и регулярно проверяйте наличие обновлений. Обновление обычно занимает несколько секунд и перезапускает сервис.

    Альтернативно, можно обновить вручную, скачав новую версию и заменив бинарник, затем перезапустив сервис. Перед ручным обновлением всегда делайте бэкап!

    
    sudo systemctl stop AdGuardHome # Останавливаем сервис
    wget https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.109.0/AdGuardHome_linux_amd64.zip # Загружаем новую версию
    sudo unzip -o AdGuardHome_linux_amd64.zip -d /opt/AdGuardHome # Распаковываем с заменой
    rm AdGuardHome_linux_amd64.zip # Удаляем архив
    sudo systemctl start AdGuardHome # Запускаем сервис
                
  • Обновление Caddy: Caddy обновляется вместе с системными пакетами через apt upgrade, так как мы добавили его репозиторий.

Для критически важных сервисов обновления лучше проводить в "окно обслуживания" (maintenance window), когда нагрузка минимальна, и у вас есть время на проверку и откат в случае проблем. Для AdGuard Home в домашней сети это не так критично, но всегда рекомендуется сначала сделать бэкап.

Troubleshooting + FAQ

AdGuard Home не блокирует рекламу

Что проверить: Убедитесь, что IP-адрес вашего VPS корректно указан как DNS-сервер на ваших устройствах или роутере. Проверьте, что AdGuard Home запущен (sudo systemctl status AdGuardHome) и слушает на порту 53 (sudo netstat -tulnp | grep 53). Зайдите в веб-интерфейс AdGuard Home и проверьте "Журнал запросов" (Query Log) — должны отображаться DNS-запросы и их статус (заблокированы/разрешены). Убедитесь, что у вас включены списки блокировки в "DNS-фильтры".

Как фиксить: Перезапустите AdGuard Home (sudo systemctl restart AdGuardHome). Очистите DNS-кеш на вашем устройстве. Попробуйте использовать другой список блокировки или добавьте домен вручную в "Пользовательские правила фильтрации". Убедитесь, что UFW разрешает трафик на порту 53 (TCP/UDP).

Не могу получить доступ к веб-интерфейсу AdGuard Home по HTTPS

Что проверить: Убедитесь, что Caddy запущен и активен (sudo systemctl status caddy). Проверьте файл /etc/caddy/Caddyfile на наличие синтаксических ошибок (sudo caddy validate --config /etc/caddy/Caddyfile). Убедитесь, что доменное имя, которое вы используете, корректно указывает на IP-адрес вашего VPS. Проверьте логи Caddy (sudo journalctl -u caddy -f) на предмет ошибок получения сертификата Let's Encrypt. Убедитесь, что UFW разрешает трафик на портах 80 и 443.

Как фиксить: Исправьте ошибки в Caddyfile. Если проблема с сертификатом, убедитесь, что ваш домен корректно настроен и доступен из интернета. Попробуйте временно отключить UFW (sudo ufw disable) для проверки, не является ли он причиной (но не забудьте включить обратно!).

Какой VPS-конфиг минимально подойдёт?

Что проверить: Для AdGuard Home минимально достаточен VPS с 1 ядром CPU, 512 МБ ОЗУ и 10 ГБ SSD. Этого хватит для обслуживания небольшой домашней сети (до 50 устройств) с базовым набором списков фильтров. Однако, для более комфортной работы и возможности запуска дополнительных сервисов на том же VPS, рекомендуется 2 ядра CPU, 1 ГБ ОЗУ и 25 ГБ SSD. Это обеспечит запас производительности и стабильность.

Как фиксить: Если ваш текущий VPS не соответствует минимальным требованиям, рассмотрите возможность апгрейда тарифного плана или перехода на более мощный VPS. Недостаток ресурсов может приводить к замедлению работы DNS-сервера и нестабильности.

Что выбрать — VPS или dedicated для этой задачи?

Что проверить: Для настройки AdGuard Home в подавляющем большинстве случаев (домашняя сеть, малый бизнес, личное использование) VPS является оптимальным выбором. Он значительно дешевле, проще в управлении и предоставляет более чем достаточные ресурсы. Dedicated серверы требуются для очень крупных, высоконагруженных проектов или специфических требований к оборудованию.

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

AdGuard Home потребляет слишком много памяти/CPU

Что проверить: Зайдите в веб-интерфейс AdGuard Home и проверьте количество активных списков фильтров. Слишком большое количество списков или очень объемные списки (например, с миллионами записей) могут потреблять значительные ресурсы. Проверьте "Журнал запросов" на предмет аномально большого количества запросов или DDoS-атаки на ваш DNS-сервер.

Как фиксить: Уменьшите количество активных списков фильтров. Отключите те, которые вам не нужны или которые сильно пересекаются. Очистите DNS-кеш AdGuard Home. Если нагрузка вызвана внешними запросами, проверьте настройки UFW и убедитесь, что доступ к порту 53 открыт только для доверенных IP-адресов (если это не публичный DNS). Если это постоянно высокая нагрузка от легитимных клиентов, возможно, вам потребуется VPS с большим объемом ОЗУ.

Не могу обновить AdGuard Home через веб-интерфейс

Что проверить: Убедитесь, что у AdGuard Home есть права на запись в каталог, где он установлен (/opt/AdGuardHome). Проверьте логи AdGuard Home на предмет ошибок при попытке обновления. Убедитесь, что сервер имеет доступ к GitHub для загрузки обновлений.

Как фиксить: Попробуйте выполнить обновление вручную, как описано в разделе "Бэкапы и обслуживание". Убедитесь, что пользователь, под которым запущен AdGuard Home (обычно adguardhome), имеет необходимые права. Если проблема сохраняется, возможно, это временная проблема с серверами обновлений AdGuard Home или GitHub.

Выводы и следующие шаги

Схема: Выводы и следующие шаги
Схема: Выводы и следующие шаги

Поздравляем! Вы успешно развернули и настроили AdGuard Home на своем VPS, создав мощный и приватный DNS-сервер для блокировки рекламы и трекеров. Теперь все устройства в вашей сети, использующие ваш AdGuard Home, будут работать быстрее и безопаснее, а вы получите полный контроль над фильтрацией трафика.

Следующие шаги:

  • Интеграция с VPN: Если у вас есть VPN-сервер на том же или другом VPS (например, WireGuard или OpenVPN), настройте его так, чтобы он использовал ваш AdGuard Home в качестве DNS. Это позволит вам пользоваться преимуществами блокировки рекламы даже за пределами вашей домашней сети.
  • Мониторинг и оптимизация: Регулярно просматривайте статистику AdGuard Home, добавляйте или удаляйте списки фильтров, тонко настраивайте правила для достижения оптимального баланса между блокировкой и отсутствием ложных срабатываний.
  • Расширенные функции: Изучите дополнительные возможности AdGuard Home, такие как DNS-over-HTTPS (DoH), DNS-over-TLS (DoT) или DNSCrypt для повышения приватности и безопасности ваших DNS-запросов к upstream-серверам.

Поделиться этой записью:

настройка adguard home на vps для блокировки рекламы и трекеров во всей сети
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.