Перейти до вмісту

Блокування реклами на 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-запити з LAN.

--- [to separe files]

Додайте публічний список AdList

Ви можете імпортувати популярні списки блокування, наприклад 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. Наприклад:

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

Це перенаправляє запити до example.com на наступний DNS-сервер【702850675801765†L430-L435】. Форвардери також використовуються для визначення зовнішніх резолверів (наприклад, Quad9, Cloudflare). Використайте /ip dns forwarders add dns-servers=1.1.1.1,8.8.8.8 name=my-fwd, а потім статичні записи з forward-to=my-fwd.

--- [to separe files]

Створіть і імпортуйте власний список блокування

Для більшого контролю створіть власний текстовий файл зі списком доменів для блокування. Кожен рядок має формат 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 AdList:

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

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

Title


Тестування та усунення проблем

Перевірка DNS-відповідей

Після налаштування AdList очистіть кеш 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, збільшіть розмір кешу DNS або видаліть великі списки【702850675801765†L400-L405】. Пам’ятайте, що списки зберігаються у внутрішній пам’яті - впевніться, що маршрутизатор має достатньо вільного простору.


Обслуговування й обмеження

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

Про MKController

Сподіваємось, ці поради допомогли вам краще освоїти світ Mikrotik і Інтернету! 🚀
Чи налаштовуєте складні конфіги, чи просто прагнете приборкати хаос мережі — MKController зробить ваше життя простішим.

З централізованим управлінням у хмарі, автоматичними оновленнями безпеки та панеллю, якою легко керувати, ми готові підняти вашу роботу на новий рівень.

👉 Почніть безкоштовний 3‑денний тест на mkcontroller.com — і побачте, як виглядає справжнє легке керування мережею.