Многие сайты и приложения для телефона показывают рекламу, и делают это настолько часто, что реклама мешает использованию программы по назначению. На компьютере часто используются расширения браузера AdBlock, AdGuard или uBlock Origin для того, чтобы удалять навязчивую рекламу. Но на телефоне ситуация сложнее, поскольку большинство мобильных браузеров расширения не поддерживают.
Но и для этой проблемы есть решение. В этой статье мы рассмотрим как настроить AdGuard Home для того чтобы заблокировать рекламу для всех устройств в вашей локальной сети. В дополнение к блокировке рекламы вы получаете домашний DNS сервер, с помощью которого сможете прописать удобные адреса для доступа к программам запущенным на домашнем сервере.
Содержание статьи
Как это работает?
Когда вы просматриваете веб-страницы, сайты и приложения обычно загружают рекламу с отдельных доменов рекламных сетей. Это можно увидеть, например, открыв techradar.com и посмотрев какие запросы выполняются к серверам в Wireshark. Как видите, есть много DNS запросов к домену s.amazon-adsystem.com, с которого загружается реклама:
AdGuard Home это DNS сервер, который будет использоваться устройствами в вашей локальной сети и когда любой программе нужно будет узнать IP адрес для домена, операционная система будет обращаться к AdGuard. И если с домена раздается реклама и он находится в черном списке, то для него программа не предоставит IP адрес. Вот так это выглядит для домена doubleclick.net:
nslookup s.amazon-adsystem.com
Таким образом реклама даже не загрузится и программе будет сложно понять что это был блокировщик рекламы, так как сам контент страницы не будет модифицироваться. Разумеется, для того чтобы это работало вам нужно будет настроить IP DNS сервера на вашем роутере.
К минусам такого подхода можно отнести то, что AdGuard Home может пропускать некоторую рекламу, которую расширения вырезали бы со страницы. Кроме того, при использовании VPN, Cloudflare WARP или DNS over HTTPS некоторые запросы могут проходить мимо AdGuard.
Поэтому расширения для браузера часто удобнее, с их помощью вы можете достаточно быстро включать/выключать блокировку для некоторых сайтов, а также блокировать отдельные блоки на странице визуально в реальном времени. Поэтому вы можете использовать и AdGuard Home и uBlock Origin вместе.
Установка и настройка AdGuard Home
Для запуска программы вам нужно отдельное устройство, например, домашний сервер, старый ноутбук или Raspberry Pi. Достаточно чтобы на нем был установлен Linux и Docker. А дальше установить и настроить программу будет довольно просто.
Установка в Docker Compose
Если все готово к установке, авторизуйтесь по SSH на вашем устройстве и создайте файл docker-compose.yaml со следующим содержимым:
services:
adguardhome:
image: adguard/adguardhome
ports:
- 53:53/tcp # plain dns over tcp
- 53:53/udp # plain dns over udp
- 80:80/tcp # http web interface
- 3000:3000/tcp # initial setup web interface
volumes:
- ./config:/opt/adguardhome/conf
- ./work:/opt/adguardhome/work
restart: unless-stopped
Здесь мы открываем порты 53 (UDP и TCP) для работы DNS сервера, 80 для веб-интерфейса и 3000 для интерфейса установки. Также монтируем папки для хранения данных программы и указываем, что контейнер должен быть запущен постоянно.
Перед запуском Docker Compose нужно создать папки для данных от имени обычного пользователя:
mkdir ./{config,work}
После этого запустите контейнер:
docker compose up
Первоначальная настройка
Для первоначальной настройки программы необходимо открыть IP адрес вашего устройства и порт 3000. Например: 192.168.1.115:3000. Откроется вот такая страница. Здесь можно изменить язык в правом нижнем углу, или просто нажать кнопку Get Started:
На следующем шаге установщик предложит выбрать для каких интерфейсов будет доступен веб-интерфейс и DNS сервер. Поскольку это докер, то можно выбрать что для всех:
Далее необходимо задать логин и пароль для веб-интерфейса:
Фактически это все. Следующий шаг сообщает что нужно настроить роутер, что мы сделаем в следующем разделе статьи, а затем программа предложит открыть веб-интерфейс управления.
Настройка DNS на роутере
Для того чтобы все устройства в сети использовали AdGuard в качестве DNS сервера необходимо настроить роутер. Обычно роутер имеет IP адрес 192.168.1.1 или 192.168.0.1. Достаточно открыть его чтобы попасть в веб-интерфейс настройки роутера. Далее нужно найти настройки DHCP и указать там DNS сервер. Протокол DHCP используется для получения IP адреса компьютером при подключении к сети. Но вместе с IP адресом будет отправлен также и DNS сервер.
Для роутеров TP-Link нужно открыть раздел DHCP, затем DHCP Settings и в строке Primary DNS Server указать IP адрес устройства на котором работает Wireguard. В моем случае это 192.168.1.115:
Тут также есть Secondary DNS Server. Это сервер, который будет использоваться, если основной не работает. Большинство устройств всегда используют основной. Если хотите, чтобы точно все запросы шли через AdGuard, то можете оставить это поле пустым. Или укажите там любой другой DNS на случай, если ваш не будет работать.
Остается нажать Save. Поскольку данные DHCP обновляются раз в 24 часа, настройки могут применяться не сразу, но если переподключиться к интернету, то все должно заработать.
Настройка статического адреса на роутере
Допустим, сейчас у устройства с установленным AdGuard адрес 192.168.1.115, но поскольку устройства получают адреса от роутера по DHCP, этот адрес может измениться. Чтобы он всегда оставался неизменным, стоит настроить это на роутере. Конечно, существуют и другие способы, но вариант настройки роутера таким образом, чтобы он выдавал устройству с определенным MAC-адресом всегда один и тот же IP-адрес, является самым простым.
Для этого снова откройте секцию DHCP и раздел DHCP Clients. Здесь найдите MAC-адрес устройства с IP-адресом 192.168.1.115:
Далее нужно открыть Address Reservation List и добавить правило с IP-адресом и MAC-адресом из предыдущего шага:
После этого роутер всегда будет присваивать такой адрес этому устройству.
Авторизация в веб-интерфейсе
После этого можно авторизоваться. Для этого просто откройте IP адрес устройства с AdGuard и введите логин и пароль.
Информационная панель будет выглядеть так:
Здесь можно увидеть общее количество запросов, количество заблокированных запросов, а также IP адреса клиентов, которые обращались к DNS серверу.
Проверка блокировки
Например, вот так выглядит веб-сайт Techradar с рекламой:
А вот так все будет выглядеть, когда реклама заблокирована:
Если что-то не работает, вы можете посмотреть в Linux какой DNS сервер используется с помощью resolvctl:
sudo resolvctl status
Если там не то, что вы настраивали, значит настройки не применились.
Списки блокировки
По умолчанию в программу добавлен список блокировки, содержащий 142,327 доменов, с которых распространяется реклама. Просмотреть списки можно открыв Filters -> DNS Blocklists.
Вы можете добавить сюда дополнительные списки блокировки. Например, список от HaGeZi, который содержит еще почти 300 тысяч доменов. Для этого нажмите Add Blocklist -> Create From the List, а затем отметьте нужные списки:
После этого новый пункт появится в списке. Кроме того, вы можете добавить любой совместимый список по URL.
Блокировка сервисов
Помимо доменов с рекламой можно блокировать отдельные сервисы, такие как ChatGPT/Claude, Facebook, Google и многие другие. Threads пока только нет. Для этого откройте Filters -> Blocked Services:
Здесь можно выбрать сервисы которые нужно заблокировать, а внизу страницы настроить расписание когда сервисы блокировать, а когда нет.
Переопределение DNS записей
Помимо блокировки вы можете переопределять IP адреса для нужных доменов. Таким образом можно настроить довольно удобный доступ к сервисам, запущенным на домашнем сервере. Например, давайте сделаем так, чтобы веб-интерфейс AdGuard открывался не по IP адресу, а на домене adguard.home.arpa. Сам домен home.arpa специально предназначен для использования в домашних сетях: RFC 8375
Для этого откройте Filters -> DNS Rewrites и нажмите Add DNS Rewrite. Далее заполните домен: adguard.home.arpa и IP адрес своего устройства. Например:
После этого он появится в списке и вы уже можете попробовать им воспользоваться:
Расширения для ПК
Также, для большего удобства можно использовать расширение для браузера Adguard Home Control Firefox Chrome, которое позволяет отключать блокировку рекламы на определенный период времени:
Просмотр лога запросов
Для того чтобы проверить как все работает и какие запросы блокируются можно посмотреть журнал запросов к DNS. Для этого откройте вкладку Query Log:
Здесь отображаются все полученные запросы, включая те, которые были заблокированы. Кроме того, вы можете видеть, по какому списку они были заблокированы.
Также здесь можно добавить заблокированные домены в белый список, как в общий, так и для определенного клиента. Для этого выберите нужный пункт в контекстном меню:
Все эти правила появятся в разделе Filters -> Custom Filtering Rules.
Собственные правила
Вы можете создавать собственные правила блокировки или разблокировки доменов. Для этого откройте Filters -> Custom Filtering Rules.
Здесь поддерживается синтаксис файла /etc/hosts, а также синтаксис списков фильтрации AdBlock. Запись состоит из операции и регулярного выражения домена:
- || - заблокировать
- @@|| - разблокировать
Например, для того чтобы разблокировать домен и его поддомены, например mediavine.com нужно добавить такую строку:
@@||mediavine.com^
Обратите внимание, что в отличие от расширения вы разблокируете не сайт на котором показывается реклама, а домен с которого реклама загружается.
А для того чтобы заблокировать домен и все поддомены используйте:
@@||google-analytics.com^
Выводы
Теперь вы знаете как установить и настроить AdGuard Home. Хотя программа не решает на 100% все проблемы с рекламой на ПК, она однозначно уменьшает количество рекламы на смартфонах, а также полезна для тех, у кого есть домашний сервер и кто хочет организовать удобный доступ к запущенным там сервисам.
Конечно, здесь еще можно многое настраивать. Например, можно указать какой DNS сервер будет использовать сам AdGuard, настроить DNS over HTTPS, развернуть несколько сервисов AdGuard Home для большей надежности. Но того, что показано в статье, вполне достаточно чтобы посмотреть как это все работает и начать блокировать рекламу в локальной сети.
Proton VPN — это сервис от создателей Proton Mail с надежным шифрованием и политикой нулевого хранения логов. Безопасно пользуйтесь интернетом, обходите географические ограничения и защищайте свои данные от слежки. Неограниченный трафик, серверы в 120+ странах и подключение до 10 устройств одновременно — для вашего спокойствия и цифровой свободы. Посмотреть детали
























