Перейти к содержимому

Блокировка рекламы на MikroTik с помощью AdList

Кратко
Функция AdList в MikroTik (RouterOS v7.15+) позволяет блокировать рекламу на уровне DNS на всей вашей сети. В этом руководстве объясняется принцип работы, подготовка роутера, добавление публичных и пользовательских списков блокировки, тестирование, белые списки и ограничения.

Зачем использовать AdList вместо Pi‑hole?

AdList — это встроенный блокировщик рекламы на основе DNS в MikroTik. В отличие от контейнера Pi‑hole, AdList работает нативно на RouterOS и не требует дополнительного оборудования или контейнеризации. После активации он фильтрует запросы к известным рекламным серверам (A и AAAA записи), возвращая 0.0.0.0 вместо реального IP.

Преимущества перед Pi‑hole:

  • Простая настройка. Добавляете списки блокировки — и система сразу начинает работать.
  • Без контейнеров. Нет необходимости включать контейнеризацию или поддерживать внешний сервер Pi‑hole.
  • Интегрированный DNS. Используется встроенный DNS-резолвер RouterOS — не нужно менять настройки DNS роутера.
  • Широкая совместимость. Работает на всех MikroTik с RouterOS v7.15 и выше.

Поскольку AdList изменяет DNS-ответы, он блокирует рекламу на смартфонах, телевизорах и устройствах IoT, использующих сетевые DNS-настройки. Учтите, что такой метод не блокирует рекламу в видео YouTube или аналогичные встроенные объявления в приложениях.


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

Перед добавлением списков блокировки обновите роутер до последней версии RouterOS v7. AdList доступен в версии v7.15 и выше【263718328550380†L40-L41】. Для обновления перейдите в System → Packages → Check for updates и установите последнюю стабильную версию.

Увеличение размера кеша DNS

AdList хранится в кеше DNS; при слишком маленьком кеше будут появляться ошибки «max cache size reached». В разделе IP → DNS установите параметр Cache size достаточно большим для ваших списков. Например, на роутере с 128 МБ ОЗУ и одним-двумя списками кеш можно задать около 30–40 МБ. Сделать это можно через WinBox или CLI:

Terminal window
/ip/dns set cache-size=40000

Title

Убедитесь, что включена функция Allow Remote Requests, чтобы роутер отвечал на DNS-запросы из локальной сети.


Добавление публичного списка блокировки

Вы можете импортировать популярные публичные списки, например, hosts-файл StevenBlack. В WinBox перейдите в IP → DNS → Adlist и нажмите +. Вставьте URL списка (например, https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts) и отключите опцию SSL Verify, если вы не импортировали сертификат центра сертификации. После обработки список отобразится со счётчиками совпадений и записей.

Эквивалент CLI:

Terminal window
/ip/dns/adlist add \
url=https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts \
ssl-verify=no

Чтобы узнать количество загруженных и сопоставленных доменов, выполните:

Terminal window
/ip/dns/adlist/print

Это выведет match-count (заблокированные запросы) и name-count (записи в списке).

Title

Добавление в белый список и переадресация

Иногда нужно разрешить конкретный домен, который есть в списке блокировки. Для обхода AdList создайте статическую запись типа forward. Например:

Terminal window
/ip/dns/static add name=example.com type=FWD

Это перенаправит запросы к example.com на следующий DNS-сервер【702850675801765†L430-L435】. Переадресация позволяет также назначать upstream resolver’ы (Quad9, Cloudflare). Используйте /ip dns forwarders add dns-servers=1.1.1.1,8.8.8.8 name=my-fwd и затем указывайте forward-to=my-fwd в статических записях.


Создание и импорт собственного списка блокировки

Для большей гибкости создайте свой текстовый файл с доменами, которые хотите блокировать. Каждая строка в формате 0.0.0.0 domain. Например:

0.0.0.0 adverts.com
0.0.0.0 click.adclick.com
0.0.0.0 malware-site.com
0.0.0.0 fraud.scam.com

Загрузите файл или создайте его напрямую в RouterOS следующими командами:

Terminal window
/file/add name=adbl.txt
/file/edit adbl.txt contents

Введите список доменов и нажмите Ctrl‑O для сохранения. Затем добавьте его в DNS adlists:

Terminal window
/ip/dns/adlist add file=adbl.txt

Проверьте распознавание файла, выполнив /ip/dns/adlist/print и посмотрев name-count.

Title


Тестирование и устранение неполадок

Проверка DNS-ответов

После настройки списков очистите кеш DNS на клиентском устройстве и выполните DNS-запрос. В Windows выполните ipconfig /flushdns, затем nslookup someadserver.com. Запрос должен вернуть 0.0.0.0 или 127.0.0.1, а не реальный IP.

Title

Проверка совпадений и использования кеша

Отслеживайте параметр match-count, чтобы видеть количество заблокированных рекламных запросов. Если появляются ошибки adlist read: max cache size reached, увеличьте размер кеша или удалите большие списки【702850675801765†L400-L405】. Помните, что списки хранятся в оперативной памяти, поэтому убедитесь, что роутер располагает достаточным свободным объемом.


Обслуживание и ограничения

  • Автоматические обновления. Записи в списках обновляются автоматически; RouterOS проверяет обновления каждые четыре часа. Также можно вручную перезагрузить списки командой /ip/dns/adlist/reload, но обычно это не требуется.
  • Использование памяти. Большие списки блокировки потребляют ОЗУ и место для хранения. Не добавляйте больше списков, чем может обработать ваш роутер.
  • Блокировка только на уровне DNS. Поскольку AdList работает на уровне DNS, он не блокирует рекламу, исходящую с того же хоста, что и видео (например, YouTube). Для блокировки встроенной рекламы в приложениях или YouTube могут потребоваться расширения браузера или Pi‑hole.
  • Сетевая конфигурация. Убедитесь, что все устройства сети используют IP роутера как DNS-сервер. Клиенты, применяющие DoH/DoT (DNS по HTTPS/TLS), могут обходить блокировку; рассмотрите настройку правил фаервола для принудительной маршрутизации DNS-трафика через роутер.

О MKController

Надеемся, что эти рекомендации помогли вам лучше ориентироваться в мире MikroTik и Интернета! 🚀
Будь вы тонко настраиваете конфигурации или просто приводите порядок в сети, MKController упростит вашу работу.

С централизованным облачным управлением, автоматическими обновлениями безопасности и удобной панелью, легко осваиваемой каждым, мы готовы помочь вывести вашу сеть на новый уровень.

👉 Начните бесплатный 3-дневный пробный период на mkcontroller.com и ощутите настоящий комфорт в управлении сетью.