Как установить AdGuard на Ubuntu 24.04
Дата публикации: 2025-10-20T11:28:21
Теги: ["ubuntu", "Adguard"]
Существуют различные способы блокировки интернет-рекламы (рекламы). Одним из самых популярных является использование расширения браузера. Но что происходит, когда вы хотите использовать рекламу, которая работает в других приложениях или даже в мобильных играх? В таком случае нужно блокировать объявления из их источника, то есть непосредственно в сети. Именно здесь появляется AdGuard. С помощью AdGuard вы можете блокировать все или большинство объявлений, заставляя AdGuard действовать в качестве посредника (сервера DNS), который фильтрует контент между вашей сетью и Интернетом.
В этой статье вы установите и настроите AdGuard Home на Ubuntu 24.04, включите шифрование TLS с автоматическим обновлением и настройте пользовательские настройки DNS.
Предпосылки
- Сервер с Ubuntu 24.04 в качестве ОС
- Права пользователя: пользователь root или обычный пользователь с привилегиями sudo.
Конвенции
# - данные команды должны выполняться с правами root либо непосредственно от имени пользователя root, либо с помощью команды sudo. $ - данные команды должны выполняться от имени обычного пользователя.
Шаг 1. Обновите систему
Свежая установка Ubuntu 24.04 требует обновления пакетов до последних доступных версий.
$ sudo apt update -y && sudo apt upgrade -y
Система может нуждаться в перезагрузке после обновления.
$ sudo reboot -f
Шаг 2. Свободный порт 53 от systemd-resolved
Ubuntu 24.04 использует `systemd-resolved` для локального кэширования DNS и разрешения, которое связывается с портом `53` по умолчанию. Страж для домашнего использования требуется порт DNS. Выполните следующие действия, чтобы перенастроить `systemd-resolved` и свободный порт `53`.
Создайте каталог для хранения нового файла конфигурации.
$ sudo mkdir -p /etc/systemd/resolved.conf.d
Создание и редактирование нового файла конфигурирования.
$ sudo nano /etc/systemd/resolved.conf.d/adguardhome.conf
Создание нового файла конфигурации вместо редактирования существующего гарантирует, что изменения не будут перезаписаны во время обновления системы.
Добавьте в файл следующее содержимое.
[Resolve] DNS=127.0.0.1 DNSStubListener=no
Сохраните и закройте файл.
Далее сохраните существующий файл `resolv.conf`.
$ sudo mv /etc/resolv.conf /etc/resolv.conf.backup
Создайте новый симлинк.
$ sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
Перезапуск `systemd-resolved` для применения изменений.
$ sudo systemctl restart systemd-resolved
Проверить порт 53 можно бесплатно.
$ sudo lsof -i :53
Шаг 3. Настройка правил Firewall
Настройте UFW для подключения к требуемым портам AdGuard Home перед установкой и настройкой.
$ sudo ufw allow 53 $ sudo ufw allow 853 $ sudo ufw allow 3000/tcp $ sudo ufw allow 80/tcp $ sudo ufw allow 443/tcp $ sudo ufw reload
Шаг 4. Установите AdGuard Home
Следуйте шагам ниже, чтобы установить AdGuard Home с помощью официального скрипта установки.
$ curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v
Создание каталогов для сертификатов и сценариев.
$ sudo mkdir -p /opt/AdGuardHome/{certs,scripts}
Проверьте статус сервиса AdGuard Home.
$ sudo /opt/AdGuardHome/AdGuardHome -s status
Выход должен включать строку, указывающую, что услуга работает.
Шаг 5. Установите SSL-сертификат
Мы установим бесплатный SSL-сертификат от Let’s Encrypt с помощью certbot. Certbot - это инструмент ACME для создания SSL-сертификатов, предоставляемых Let’s Encrypt. Прежде чем создать новый SSL-сертификат для вашего `adguard.example.com`, убедитесь, что вы уже указали запись DNS домена/субдомена на ваш IP-адрес сервера.
$ sudo apt install certbot python3-certbot-nginx -y
После установки вы можете запустить эту команду для выдачи SSL-сертификата.
$ sudo certbot
Вам будет предложено несколько вопросов, и вы увидите такой выход:
Saving debug log to /var/log/letsencrypt/letsencrypt.log Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): you@example.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.5-February-24-2025.pdf. You must agree in order to register with the ACME server. Do you agree? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: y - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing, once your first certificate is successfully issued, to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: n Account registered. Which names would you like to activate HTTPS for? We recommend selecting either all domains, or all domains in a VirtualHost/server block. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: adguard.example.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate numbers separated by commas and/or spaces, or leave input blank to select all options shown (Enter 'c' to cancel): 1 Requesting a certificate for adguard.example.com Successfully received certificate. Certificate is saved at: /etc/letsencrypt/live/adguard.example.com/fullchain.pem Key is saved at: /etc/letsencrypt/live/adguard.example.com/privkey.pem This certificate expires on 2025-10-20. These files will be updated when the certificate renews. Certbot has set up a scheduled task to automatically renew this certificate in the background. Deploying certificate Successfully deployed certificate for adguard.example.com to /etc/nginx/conf.d/adguard.example.com.conf Congratulations! You have successfully enabled HTTPS on https://adguard.example.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - If you like Certbot, please consider supporting our work by: * Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate * Donating to EFF: https://eff.org/donate-le - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Если есть проблема при создании SSL-сертификата или Certbot не может генерировать сертификат, вполне вероятно, что обновление DNS не полностью распространяется.
Создайте сценарий копии сертификата на основе вашего метода установки.
$ sudo nano /opt/AdGuardHome/scripts/copy-certs.sh
Добавьте содержимое сертификата копии сценария. Замените `adguard.example.com` своим фактическим доменом.
#!/bin/bash DOMAIN="adguard.example.com" CERT_DIR="/opt/AdGuardHome/certs" cp /etc/letsencrypt/live/$DOMAIN/fullchain.pem $CERT_DIR/cert.pem cp /etc/letsencrypt/live/$DOMAIN/privkey.pem $CERT_DIR/key.pem chmod 644 $CERT_DIR/cert.pem chmod 600 $CERT_DIR/key.pem /opt/AdGuardHome/AdGuardHome -s restart
Сделайте сценарий исполняемым и запустите его.
$ sudo chmod +x /opt/AdGuardHome/scripts/copy-certs.sh $ sudo /opt/AdGuardHome/scripts/copy-certs.sh
Проверьте сертификаты.
$ sudo ls -la /opt/AdGuardHome/certs/
Вы должны увидеть `cert.pem` и `key.pem`. Файлы с правильными разрешениями.
Шаг 6. Настройка автоматического обновления сертификата
Срок действия сертификатов шифрования истекает каждые 90 дней. В этом разделе настройте автоматическое обновление сертификатов TLS.
Создайте сценарий обновления Certbot.
$ sudo nano /etc/letsencrypt/renewal-hooks/deploy/adguard-renewal.sh
Добавьте в файл следующее содержимое.
#!/bin/bash /opt/AdGuardHome/scripts/copy-certs.sh
Сохраните и закройте файл.
Сделайте сценарий исполняемым.
$ sudo chmod +x /etc/letsencrypt/renewal-hooks/deploy/adguard-renewal.sh
Чтобы справиться с конфликтами порта 80 во время обновления (поскольку AdGuard Home связывается с портом 80 после установки), создайте сценарии остановки и запуска, а затем добавьте предварительные и пост-обманки в конфигурацию обновления Certbot. Это временно останавливает AdGuard Home перед попыткой обновления и начинает ее после.
Создайте стоп-сценарий.
$ sudo nano /opt/AdGuardHome/scripts/stop-adguard.sh
Добавьте в файл следующее содержимое.
#!/bin/bash /opt/AdGuardHome/AdGuardHome -s stop > /dev/null 2>&1
Создайте стартовый сценарий.
$ sudo nano /opt/AdGuardHome/scripts/start-adguard.sh
Добавьте в файл следующее содержимое.
#!/bin/bash /opt/AdGuardHome/AdGuardHome -s start > /dev/null 2>&1
Сделайте их исполняемыми.
$ sudo chmod +x /opt/AdGuardHome/scripts/{stop-adguard.sh,start-adguard.sh}
Отредактируйте конфигурацию обновления Certbot, чтобы добавить хуки. Замените `adguard.example.com` своим доменом.
$ sudo nano /etc/letsencrypt/renewal/adguard.example.com.conf
Добавить или обновить в разделе `[renewalparams]`:
pre_hook = /opt/AdGuardHome/scripts/stop-adguard.sh post_hook = /opt/AdGuardHome/scripts/start-adguard.sh
Сохраните и закройте файл.
Проверьте процесс автоматического обновления.
$ sudo certbot renew --dry-run
Результат:
... Congratulations, all simulated renewals succeeded ...
Шаг 7. Настройка начальной настройки AdGuard Home
Доступ к веб-интерфейсу AdGuard Home для завершения начальной конфигурации.
Откройте свой веб-браузер и перейдите к интерфейсу настройки.
http://YOUR_SERVER_IP:3000
Нажмите Get Started на странице приветствия.
AdGuard Home Setup Добро пожаловать
Настройка веб-интерфейса Admin:
Listen Interface: Выберите Все интерфейсы
Порт: `80`
Настройка DNS-сервера:
Listen Interface: Выберите Все интерфейсы
Порт: `53`
Нажмите Далее и создайте учетную запись администратора с именем пользователя и надежным паролем.
Нажмите Далее. Вы попадете на страницу Настройка устройств, где вы увидите настройки конфигурации для различных типов устройств. Нажмите Далее.
Нажмите Open Dashboard для доступа к основному интерфейсу.
Удалите порт `3000` из межсетевого экрана после завершения начальной конфигурации.
$ sudo ufw delete allow 3000/tcp $ sudo ufw reload
Шаг 8. Настройка TLS Шифрование
Настройка доступа HTTPS с использованием сертификатов TLS для безопасного доступа к панели инструментов.
Доступ к панели инструментов AdGuard Home и вход в панель инструментов с учетными данными, которые вы установили ранее.
http://YOUR_SERVER_IP
Нажмите кнопку «Настройки» в верхнем меню навигации и нажмите «Настройки шифрования».
настройка_меню
Настройте следующие настройки шифрования:
Включите шифрование: Проверьте, чтобы включить.
Имя сервера: Введите свое доменное имя.
Перенаправить на HTTPS автоматически: Включить.
Порт HTTPS: `443`
Порт DNS-over-HTTPS: `443`
DNS-over-TLS порт: `853`
DNS-over-QUIC порт: `853`
Настройка траекторий сертификатов:
Выбрать Установите опцию пути файла сертификата.
Путь сертификатов: `/opt/AdGuardHome/certs/cert.pem`
Путь закрытого ключа: `/opt/AdGuardHome/certs/key.pem`
Нажмите сохранить, чтобы применить настройки шифрования. После включения шифрования, доступ к AdGuard Home с помощью `https://adguard.example.com`.
Шаг 9. Настройка DNS Настройки конфиденциальности
AdGuard Home поддерживает зашифрованные DNS-протоколы. Настройте вышестоящие DNS-серверы, которые поддерживают DNS-over-HTTPS (DoH) или DNS-over-TLS (DoT) для повышения конфиденциальности.
Нажмите кнопку «Настройки» в верхнем меню навигации и нажмите «Настройки DNS».
В поле Upstream DNS-серверов добавьте зашифрованные DNS-провайдеры по вашему выбору, такие как:
https://dns.cloudflare.com/dns-query https://dns.google/dns-query https://dns.quad9.net/dns-query tls://1.1.1.1 tls://8.8.8.8
Эти вышестоящие серверы используют шифрование HTTPS или TLS для защиты DNS-запросов между AdGuard Home и вышестоящими провайдерами.
Настройка DNS-серверов Fallback для резервирования. Эти серверы используются, когда зашифрованные вышестоящие серверы недоступны. Добавьте DNS-серверы по вашему выбору
1.1.1.1 8.8.8.8 9.9.9.9
Резервные серверы обычно используют стандартный незашифрованный DNS (порт 53), потому что они служат в качестве аварийного резервного копирования при отказе зашифрованных соединений. Во время нормальной работы AdGuard Home использует только зашифрованные серверы.
Включите следующие функции DNS:
Параллельные запросы: Возможность одновременного запроса нескольких серверов для более быстрых ответов
Включение DNSSEC: проверка DNS-ответов на подлинность
Включите подсеть клиента EDNS: Улучшение производительности CDN
Отключить IPv6: Включить только в том случае, если ваша сеть не поддерживает IPv6.
Нажмите сохранить, чтобы применить конфигурацию DNS.
Шаг 10. Настройка Blocklist
AdGuard имеет встроенный DNS-фильтр, но вы можете расширить его возможности, добавив дополнительные блок-списки. Эти общедоступные списки содержат десятки тысяч известных доменов рекламы, трекера, вредоносных программ и телеметрии.
Из верхнего меню навигации нажмите Фильтры и выберите блок-списки DNS.
Щелкнуть Добавьте блок-лист и нажмите Выберите из списка.
Выберите опции на изображении ниже, затем нажмите Сохранить.
Добавить в блок-лист.
Просмотрите интернет некоторое время, а затем проверьте панель инструментов AdGuard Home в своем браузере.
http://SERVER-IP
Вы увидите все сайты, трекеры и объявления, которые были заблокированы.
Шаг 11. Пользовательский DNS
Переписывание DNS - это правила, которые отменяют стандартное разрешение DNS, отображая конкретные доменные имена на пользовательские IP-адреса. AdGuard поддерживает переписывание DNS, что позволяет отображать доменные имена на конкретные IP-адреса в вашей сети. Это работает как мини-локальный DNS-сервер для внутреннего использования. Например, вы можете создать карту `Adguard Home` для `SERVER-IP`, чтобы получить доступ к панели инструментов AdGuard. Следуйте шагам ниже, чтобы получить доступ к панели инструментов AdGuard Home с помощью Adguard. Домашний, а не серверный IP-адрес.
Из верхнего меню навигации нажмите Фильтры и выберите DNS-перезаписи.
щелкнуть Добавьте DNS-переписку.
Введите домен и IP-адрес вашего сервера, а затем нажмите «Сохранить».
Шаг 12. Настройка клиентских устройств
Вы можете настроить свои устройства на использование AdGuard Home в качестве DNS-сервера. Конфигурация варьируется между различными типами устройств. В разделе ниже описывается настройка маршрутизатора для использования сервера AdGuard Home в качестве DNS-сервера.
Шаг 13. Конфигурация маршрутизатора
Настройте маршрутизатор, чтобы автоматически применять AdGuard Home DNS ко всем подключенным устройствам.
Доступ к веб-странице администратора вашего маршрутизатора обычно `http://192.168.1.1`.
Перейдите в раздел настроек DHCP или DNS.
Включите пользовательский DNS и добавьте IP-адрес вашего сервера AdGuard Home или замените существующие адреса DNS-сервера IP-адресом вашего сервера AdGuard Home.
Сохраните и примените настройки.
Вы можете найти настройки конфигурации для большинства типов устройств из опции «Руководство по настройке» в верхнем меню навигации панели инструментов AdGuard Home.
Шаг 14. Мониторинг и обслуживание
AdGuard Home показывает статистику запросов DNS на своей панели инструментов.
Шаг 15. Посмотреть статистику
Доступ к панели инструментов по адресу `https://adguard.example.com`. Вы должны увидеть журналы запросов DNS, которые достигли вашего DNS-сервера AdGuard Home.
Завершение
Вы успешно развернули AdGuard Home на Ubuntu 24.04 с автоматическим обновлением сертификата TLS и зашифрованными протоколами DNS с использованием официального скрипта установки. Чтобы узнать больше о его использовании, обратитесь к странице AdGuard Home Wiki.
Если вам понравился этот пост, пожалуйста, поделитесь им со своими друзьями или оставьте комментарий ниже.