<p>Поднял точку раздачи на новом объекте. Клиент через час пишет: «на телевизоре реклама лезет из каждой щели, у роутера же должна быть защита». А защиты нет — потому что adlist никто не включил. Знакомая ситуация?</p>
<p>Adlist на <a title="Настройка VLAN на MikroTik RouterOS 7 — полный гайд 2026" href="https://it-apteka.com/nastrojka-vlan-na-mikrotik-routeros-7-polnyj-gajd-po-bridge-trunk-i-wi-fi/" target="_blank" rel="noopener" data-wpil-monitor-id="3196">MikroTik —</a> это встроенный механизм DNS-фильтрации в RouterOS, который режет рекламные и трекинговые домены прямо на роутере, без Pi-hole, без контейнеров, без отдельного железа. <a title="QoS в MikroTik: настройка приоритизации и ограничений скорости" href="https://it-apteka.com/qos-v-mikrotik-nastrojka-prioritizacii-i-ogranichenij-skorosti/" target="_blank" rel="noopener" data-wpil-monitor-id="3197">Настройка блокировки рекламы adlist на mikrotik</a> занимает 10-15 минут, если делать по шагам и не тыкать наугад в Winbox.</p>
<p>Дальше <a title="Docker Compose — установка, команды и настройка контейнеров" href="https://it-apteka.com/docker-compose-ustanovka-komandy-i-nastrojka-kontejnerov/" target="_blank" rel="noopener" data-wpil-monitor-id="3169">— рабочий рецепт с командами</a>, которые можно вставлять в терминал построчно. Без теории ради теории.</p>
"Быстрый
<br />
Чтобы включить <a title="DNS -> Adlist на MikroTik: практические примеры" href="https://it-apteka.com/dns-adlist-na-mikrotik-prakticheskie-primery/" target="_blank" rel="noopener" data-wpil-monitor-id="3201">adlist на MikroTik</a>: увеличь размер DNS-кэша, добавь источник списка доменов через /ip/dns/adlist/add, проверь работу через /ip/dns/adlist/print и тестовый запрос к заблокированному домену. Список обновляется автоматически каждые 4 часа, реклама блокируется через null-route на 0.0.0.0. Работает на RouterOS 7.15 и новее.<br />
<h2>1. Диагноз: почему реклама долбит в каждое устройство в сети</h2>
<p>Ты поднял сеть. DHCP раздаёт адреса, интернет летает, всё стабильно. А потом смарт-ТВ на кухне включает рекламный ролик перед каждым фильмом, телефон жены захлёбывается баннерами в мобильном браузере, а плойка сына получает поп-ап посреди игры. Устройства разные, проблема одна — <a class="wpil_keyword_link" title="DNS" href="https://it-apteka.com/tag/dns/" target="_blank" rel="noopener" data-wpil-keyword-link="linked" data-wpil-monitor-id="3203">DNS</a>.</p>
<p>Adlist в RouterOS решает эту задачу централизованно: один раз настроил на роутере <a title="VPN на MikroTik: полный гайд 2026 — WireGuard, L2TP/IPsec, IKEv2, настройка сервера и клиента" href="https://it-apteka.com/vpn-na-mikrotik-polnyj-gajd-2026-wireguard-l2tp-ipsec-ikev2-nastrojka-servera-i-klienta/" target="_blank" rel="noopener" data-wpil-monitor-id="3170">— рекламные домены отсекаются для всех клиентов</a> сети, которые используют его как DNS-сервер. Не важно, смартфон это, приставка или консоль без возможности поставить блокировщик.</p>
<p>Что получишь на выходе:</p>
<ul>
<li>блокировку рекламных и трекинговых доменов на уровне <a class="wpil_keyword_link" title="Сети" href="https://it-apteka.com/category/networks/" target="_blank" rel="noopener" data-wpil-keyword-link="linked" data-wpil-monitor-id="3204">сети</a>, без установки чего-либо на клиентские устройства</li>
<li>автоматическое обновление списков без твоего участия</li>
<li>возможность добавить собственные списки или исключения</li>
<li>снижение паразитного трафика и нагрузки на канал</li>
<li>рабочий troubleshooting на случай, если что-то отвалится через месяц</li>
</ul>
<p>Время на настройку <a title="DynDNS: полный гайд по настройке динамического DNS на роутере, Keenetic и MikroTik — бесплатно и без боли" href="https://it-apteka.com/dyndns-polnyj-gajd-po-nastrojke-dinamicheskogo-dns-na-routere-keenetic-i-mikrotik-besplatno-i-bez-boli/" target="_blank" rel="noopener" data-wpil-monitor-id="3171">—</a> 10-15 минут при наличии доступа к роутеру. Понадобится: RouterOS 7.15 или новее, доступ по SSH или Winbox, немного свободной памяти под DNS-кэш.</p>
<h3>Системные требования</h3>
<table>
<tbody>
<tr>
<th>Компонент</th>
<th>Минимальная версия</th>
<th>Комментарий</th>
</tr>
<tr>
<td>RouterOS</td>
<td>7.15+</td>
<td>Adlist как нативная фича появился в этой ветке. На старых 7.x придётся городить костыль через static DNS</td>
</tr>
<tr>
<td>Свободная RAM</td>
<td>от 32 МБ</td>
<td>Зависит от размера списка. Список StevenBlack hosts — это больше 160 тысяч записей</td>
</tr>
<tr>
<td>Свободное место на диске</td>
<td>от 5 МБ</td>
<td>Adlist хранится во внутренней памяти устройства</td>
</tr>
</tbody>
</table>
<p>На момент публикации актуальна версия RouterOS 7.19.x. Перед <a title="Установка и настройка Uptime Kuma: self-hosted мониторинг сайтов за 5 минут" href="https://it-apteka.com/uptime-kuma-alerting-bez-zamorochek-dlja-admina-kotoryj-cenit-vremja/" target="_blank" rel="noopener" data-wpil-monitor-id="3198">установкой проверь свежие релизы на официальном сайте</a> MikroTik.</p>
<h2>2. Причины, по которым реклама проходит через обычную настройку роутера</h2>
<p>Ты не первый, кто удивляется, почему «просто DNS-сервер 8.8.8.8» не спасает от рекламы. Разберём по пунктам, что именно ломает картину.</p>
<table>
<tbody>
<tr>
<th>Причина</th>
<th>Почему не работает без adlist</th>
</tr>
<tr>
<td>Публичный DNS без фильтрации (Google, Cloudflare)</td>
<td>Резолвит любой домен, включая рекламные сети — фильтрации там нет по умолчанию</td>
</tr>
<tr>
<td>Клиенты используют DNS-over-HTTPS в браузере напрямую</td>
<td>Запрос уходит мимо роутера прямо к DoH-провайдеру, adlist роутера не видит трафик</td>
</tr>
<tr>
<td>Устаревший список доменов</td>
<td>Рекламные <a title="DHCP Snooping — что это такое и как защитить сеть от Rogue DHCP сервера" href="https://it-apteka.com/dhcp-snooping-chto-jeto-takoe-i-kak-zashhitit-set-ot-rogue-dhcp-servera-2/" target="_blank" rel="noopener" data-wpil-monitor-id="3172">сети постоянно меняют поддомены —</a> статичный список без обновлений быстро протухает</td>
</tr>
<tr>
<td>Маленький DNS-кэш</td>
<td>Список на 100+ тысяч записей не влезает, роутер сыпет ошибкой adlist read: max cache size reached</td>
</tr>
<tr>
<td>Клиент прописал DNS вручную (не через DHCP роутера)</td>
<td>Запросы идут напрямую в интернет, минуя фильтр — типичная ситуация с телефонами, где кто-то один раз поставил 1.1.1.1</td>
</tr>
<tr>
<td>Нет firewall-правила, блокирующего DNS на 53 порт наружу</td>
<td>Любое устройство может обратиться к стороннему DNS в обход роутера</td>
</tr>
</tbody>
</table>
<p>Ну и запросы у вас — сказала база рекламных доменов и продолжила резолвиться в обход. Разберём каждую причину по отдельности, начиная с самого частого случая — отсутствия правильного источника списка.</p>
<h2>3. Рецепт: настройка adlist на MikroTik пошагово</h2>
<h3>Подготовка</h3>
<p>Проверь версию RouterOS. Adlist как встроенная фича работает с 7.15 и выше.</p>
<pre><code class="language-bash">
/system resource print
</code></pre>
<p>Смотри строку version. Если <a title="Windows 12 — дата выхода, версии, 64 bit и что известно в 2026 году" href="https://it-apteka.com/windows-12-data-vyhoda-versii-64-bit-i-chto-izvestno-v-2026-godu/" target="_blank" rel="noopener" data-wpil-monitor-id="3177">версия ниже 7.15 —</a> обнови роутер перед продолжением. Про безопасное обновление — в разделе профилактики ниже.</p>
<p>Проверь текущий размер DNS-кэша. Adlist хранит записи именно там, и дефолтные 2048 KiB для крупного списка не хватит.</p>
<pre><code class="language-bash">
/ip dns print
</code></pre>
<p>Результат: увидишь текущий cache-size и cache-used. Если планируешь список на 100+ тысяч доменов — готовься увеличивать кэш до 16-32 МБ.</p>
<h3>Шаг 1. Увеличь размер DNS-кэша</h3>
<p>Без этого шага крупный список просто не влезет, и ты получишь ошибку в логах вместо рабочей блокировки.</p>
<pre><code class="language-bash">
/ip dns set cache-size=32768
</code></pre>
<p>Результат: cache-size вырастет до 32 МБ. Для среднего домашнего списка (10-20 тысяч доменов) хватит 8192-16384. Для агрегированных списков вроде StevenBlack hosts — бери 32768 и выше.</p>
<h3>Шаг 2. Добавь adlist по URL</h3>
<p>Это основной сценарий. Указываешь ссылку на готовый список — RouterOS сам скачивает, парсит и обновляет его по расписанию.</p>
<pre><code class="language-bash">
/ip/dns/adlist add url=https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts ssl-verify=no
</code></pre>
<p>Результат: список начнёт загружаться в фоне. Через пару минут проверь статус командой ниже.</p>
<pre><code class="language-bash">
/ip/dns/adlist/print
</code></pre>
<p>Ожидаемый вывод похож на это:</p>
<pre><code class="language-text">
Flags: X - disabled
0 url="https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts" ssl-verify=no match-count=0 name-count=164769
</code></pre>
<p>name-count показывает, сколько доменов реально загрузилось. Если там ноль — либо список ещё грузится, либо URL недоступен, смотри troubleshooting.</p>
<h3>Шаг 3. Альтернатива: локальный список из файла</h3>
<p>Если хочешь контролировать список сам, без внешнего URL — собери свой файл в формате hosts и загрузи его на роутер.</p>
<pre><code class="language-text">
0.0.0.0 example1.com
0.0.0.0 eu1.example.com
0.0.0.0 ads.trackernetwork.com
</code></pre>
<p>Файл можно загрузить через Winbox drag-and-drop в Files, либо создать прямо в терминале роутера:</p>
<pre><code class="language-bash">
/file/add name=host.txt
/file/edit host.txt contents
</code></pre>
<p>После вставки содержимого нажми Ctrl+O для сохранения. Дальше подключи файл к adlist:</p>
<pre><code class="language-bash">
/ip/dns/adlist/add file=host.txt
</code></pre>
<p>Результат: /ip/dns/adlist/print покажет name-count равный количеству строк в файле. Если там 0 — формат файла нарушен, проверь пробелы между IP и доменом.</p>
<h3>Шаг 4. Настрой Whitelist для важных доменов</h3>
<p>Рано или поздно adlist заблокирует что-то нужное — платёжный виджет, аналитику CRM клиента, домен корпоративного сервиса. Готовое решение — статичная запись типа FWD, которая имеет приоритет над adlist.</p>
<pre><code class="language-bash">
/ip/dns/static/add name=important-domain.com type=FWD
</code></pre>
<p>Результат: запросы к important-domain.com будут проходить мимо блокировки, обрабатываясь через обычные DNS-серверы роутера.</p>
<h3>Шаг 5. Убедись, что клиенты используют роутер как DNS</h3>
<p>Если DHCP-сервер не раздаёт адрес <a title="DynDNS: полный гайд по настройке динамического DNS на роутере, Keenetic и MikroTik — бесплатно и без боли" href="https://it-apteka.com/dyndns-polnyj-gajd-po-nastrojke-dinamicheskogo-dns-na-routere-keenetic-i-mikrotik-besplatno-i-bez-boli/" target="_blank" rel="noopener" data-wpil-monitor-id="3195">роутера как DNS — вся настройка</a> выше просто не будет использоваться клиентами.</p>
<pre><code class="language-bash">
/ip dhcp-server network print
</code></pre>
<p>Проверь колонку dns-server. Там должен стоять адрес самого роутера (обычно 192.168.88.1 или твой gateway), а не что-то стороннее.</p>
<h3>Шаг 6. Закрой обход через сторонний DNS</h3>
<p>Продвинутые пользователи и некоторые приложения (Chrome, Android) прописывают DNS вручную или используют DoH напрямую в обход роутера. Без блокировки прямого DNS-трафика наружу вся <a class="wpil_keyword_link" href="https://it-apteka.com/category/security/" target="_blank" rel="noopener" title="Безопасность" data-wpil-keyword-link="linked" data-wpil-monitor-id="3207">защита</a> превращается в решето.</p>
<pre><code class="language-bash">
/ip firewall filter add chain=forward protocol=udp dst-port=53 action=reject src-address=192.168.88.0/24 dst-address=!192.168.88.1 comment="block external DNS UDP"
/ip firewall filter add chain=forward protocol=tcp dst-port=53 action=reject src-address=192.168.88.0/24 dst-address=!192.168.88.1 comment="block external DNS TCP"
</code></pre>
<p>Результат: любой запрос на порт 53 к стороннему серверу будет отклонён, кроме запросов к самому роутеру. Замени 192.168.88.0/24 на свою подсеть.</p>
<p>Не перепутай порядок правил в firewall — если у тебя уже стоят разрешающие правила для forward выше по списку, эти два добавь именно перед ними или явно проверь итоговую очерёдность через /ip firewall filter print.</p>
<h2>4. Проверка: как убедиться, что adlist реально режет рекламу</h2>
<p><a title="DHCP Options в Cisco и MikroTik: Option 12, 42, 43, 60, 66, 67, 82 — примеры настройки" href="https://it-apteka.com/dhcp-options-v-cisco-i-mikrotik-option-12-42-43-60-66-67-82-primery-nastrojki/" target="_blank" rel="noopener" data-wpil-monitor-id="3173">Настройка без проверки —</a> это не настройка, это надежда. Три команды, которые покажут реальную картину.</p>
<pre><code class="language-bash">
/ip/dns/adlist/print
</code></pre>
<p>Смотри поля match-count и name-count. match-count растёт по мере того, как клиенты реально дёргают заблокированные домены. Если через сутки match-count всё ещё 0 — либо клиенты не используют роутер как DNS, либо список пустой.</p>
<pre><code class="language-bash">
/ip dns cache print
</code></pre>
<p>Список закэшированных ответов. Найди среди них известный рекламный домен и проверь, что он резолвится в 0.0.0.0.</p>
<pre><code class="language-bash">
/ip dns cache flush
</code></pre>
<p>Сброс кэша перед контрольным тестом — чтобы не смотреть на старые записи. После сброса с клиентского компьютера выполни резолв заведомо рекламного домена:</p>
<pre><code class="language-text">
nslookup doubleclick.net 192.168.88.1
</code></pre>
<p>Ожидаемый результат: адрес 0.0.0.0. Если возвращается реальный IP — домен не попал в список, либо клиент резолвит мимо роутера.</p>
<pre class="mermaid">%%{init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#ffffff',
'primaryTextColor': '#1e293b',
'primaryBorderColor': '#94a3b8',
'lineColor': '#64748b',
'fontSize': '15px',
'fontFamily': 'ui-sans-serif, system-ui, sans-serif'
},
'flowchart': {'curve': 'linear', 'nodeSpacing': 50, 'rankSpacing': 50}
}}%%
flowchart TD
A["Клиент запрашивает домен"] --> B["Роутер MikroTik DNS"]
B --> C{"Домен в adlist?"}
C -->|Да| D["Ответ 0.0.0.0"]
C -->|Нет| E["Запрос к upstream DNS"]
E --> F["Реальный IP клиенту"]
style A fill:#f8fafc,stroke:#3b82f6,stroke-width:2px,color:#1e40af
style D fill:#f8fafc,stroke:#ef4444,stroke-width:2px,color:#b91c1c
style F fill:#f8fafc,stroke:#22c55e,stroke-width:2px,color:#15803d
</pre>
<h2>5. Осложнения: что ломается и как это чинить</h2>
<p>Всё не так плохо, как ты думаешь. Всё намного хуже <a title="DHCP Snooping — что это такое и как защитить сеть от Rogue DHCP сервера" href="https://it-apteka.com/dhcp-snooping-chto-jeto-takoe-i-kak-zashhitit-set-ot-rogue-dhcp-servera-2/" target="_blank" rel="noopener" data-wpil-monitor-id="3199">— потому что рекламные сети</a> постоянно меняют домены, а память роутера не резиновая. Вот типичные проблемы.</p>
<h3>Ошибка: adlist read: max cache size reached</h3>
<p>Причина: DNS-кэш заполнен, список доменов не помещается целиком.</p>
<p>Решение: увеличь размер кэша, либо уменьши количество источников adlist.</p>
<pre><code class="language-bash">
/ip dns set cache-size=65536
</code></pre>
<h3>Ошибка: name-count остаётся 0 после добавления adlist по URL</h3>
<p>Причина: роутер не может достучаться до источника списка — либо нет интернета на момент добавления, либо проблема с SSL-сертификатом.</p>
<p>Решение: проверь доступность URL и попробуй временно отключить проверку сертификата.</p>
<pre><code class="language-bash">
/ip/dns/adlist/set 0 ssl-verify=no
/ip/dns/adlist/reload
</code></pre>
<h3>Проблема: заблокирован нужный сервис (платёжка, CRM, аналитика клиента)</h3>
<p>Причина: домен сервиса попал под фильтр слишком широкого списка.</p>
<p>Решение: временно отключи adlist, найди <a title="Почему VPN не работает: DPI, блокировки, утечки DNS и что реально помогает в 2025-2026" href="https://it-apteka.com/pochemu-vpn-ne-rabotaet-dpi-blokirovki-utechki-dns-i-chto-realno-pomogaet-v-2025-2026/" target="_blank" rel="noopener" data-wpil-monitor-id="3200">реальный IP через внешний DNS</a>, потом добавь исключение через FWD-запись.</p>
<pre><code class="language-bash">
/ip/dns/adlist/set 0 disabled=yes
</code></pre>
<p>После диагностики верни adlist обратно и добавь whitelist для конкретного домена, как показано в шаге 4 рецепта.</p>
<h3>Проблема: реклама всё ещё показывается на части устройств</h3>
<p>Причина: устройство использует не роутер как DNS, а зашитый DoH внутри приложения (типичный случай — Chrome, Firefox, Android 10+).</p>
<p>Решение: закрой сторонний DNS-трафик через firewall, как в шаге 6, либо отключи DoH внутри приложений вручную на клиентских устройствах.</p>
<h3>Проблема: роутер тормозит после добавления крупного списка</h3>
<p>Причина: на слабых моделях (RB750, hAP lite и подобные) большой объём записей в DNS-кэше съедает всю доступную память.</p>
<p>Решение: используй не агрегированный список на 160+ тысяч записей, а компактный список только рекламных доменов без трекеров и malware-доменов.</p>
<h2>6. Альтернативы: чем ещё можно резать рекламу в сети</h2>
<p>Adlist — не единственный вариант. Вот с чем его стоит сравнить перед принятием решения.</p>
<table>
<tbody>
<tr>
<th>Вариант</th>
<th>Плюсы</th>
<th>Минусы</th>
</tr>
<tr>
<td>Adlist на <a class="wpil_keyword_link" title="mikrotik" href="https://it-apteka.com/tag/mikrotik/" target="_blank" rel="noopener" data-wpil-keyword-link="linked" data-wpil-monitor-id="3206">MikroTik</a></td>
<td>Не требует отдельного железа, работает нативно, обновляется вместе с RouterOS</td>
<td>Нет визуального дашборда, whitelist только через ручные FWD-записи</td>
</tr>
<tr>
<td>Pi-hole на отдельном хосте</td>
<td>Подробная статистика, удобный веб-интерфейс, гибкие черные и белые списки</td>
<td>Нужен отдельный сервер или Raspberry Pi, лишняя точка отказа в сети</td>
</tr>
<tr>
<td>Статичные DNS-записи вручную (без adlist)</td>
<td>Полный контроль, работает даже на старых версиях RouterOS</td>
<td>Тысячи записей вручную не потянешь, список быстро устаревает</td>
</tr>
<tr>
<td>Блокировка через сторонний DNS-провайдер (NextDNS, AdGuard DNS)</td>
<td>Готовые списки, статистика в облаке, не грузит роутер</td>
<td>Зависимость от внешнего сервиса, приватность запросов уходит наружу</td>
</tr>
</tbody>
</table>
<p>Для домашней <a title="Автоудаление ошибочных ARP записей на mikrotik" href="https://it-apteka.com/avtoudalenie-oshibochnyh-arp-zapisej-na-mikrotik/" target="_blank" rel="noopener" data-wpil-monitor-id="3194">сети или небольшого офиса adlist на MikroTik</a> закрывает задачу полностью без лишних сущностей. Если нужна детальная аналитика по заблокированным доменам с графиками — тут придётся смотреть в сторону Pi-hole или облачного DNS-провайдера, потому что RouterOS такого дашборда не даст.</p>
<h2>7. Профилактика: чтобы блокировка не развалилась через месяц</h2>
<h3>Мониторинг</h3>
<p>Раз в неделю проверяй match-count и name-count через /ip/dns/adlist/print. Резкое падение name-count означает проблему с источником списка.</p>
<h3>Автообновление списков</h3>
<p>RouterOS проверяет обновления adlist каждые 4 часа автоматически. Ручной reload нужен редко — например, сразу после смены источника.</p>
<pre><code class="language-bash">
/ip/dns/adlist/reload
</code></pre>
<h3>Резервное копирование конфигурации</h3>
<p>Перед любыми изменениями DNS-настроек сделай бэкап. Хранить копию нужно не только на самом роутере, но и вне его.</p>
<pre><code class="language-bash">
/system backup save name=router-backup-before-adlist
/export file=router-config-export
</code></pre>
<p>Что бэкапить: полный <a class="wpil_keyword_link" title="Резервное копирование" href="https://it-apteka.com/category/rezervnoe-kopirovanie/" target="_blank" rel="noopener" data-wpil-keyword-link="linked" data-wpil-monitor-id="3205">backup</a> плюс текстовый export конфигурации. Как часто: перед каждым существенным изменением и раз в месяц по расписанию. Где хранить: вне роутера — на отдельном сервере или в облаке, локальная копия не спасёт при выходе устройства из строя. Как восстановить:</p>
<pre><code class="language-bash">
/system backup load name=router-backup-before-adlist
</code></pre>
<h3>Безопасность</h3>
<ul>
<li>ограничь доступ к DNS-серверу роутера по firewall только для локальной подсети</li>
<li>не открывай allow-remote-requests=yes на интерфейс, смотрящий в интернет</li>
<li>используй <a title="SSH-ключи: подключение без пароля — полный гайд для Linux, Windows и macOS" href="https://it-apteka.com/ssh-kljuchi-podkljuchaemsja-bez-parolja-i-ne-panikuem/" target="_blank" rel="noopener" data-wpil-monitor-id="3174">SSH-ключи вместо пароля</a> для управления роутером</li>
<li>настрой отдельного пользователя с ограниченными правами для повседневного администрирования вместо постоянной работы под admin</li>
<li>включи fail2ban-подобную защиту через встроенный address-list и правила firewall для брутфорс-попыток на management-порты</li>
<li>ограничь Winbox/API доступ по списку разрешённых IP-адресов</li>
<li>отключи неиспользуемые сервисы через /ip service print и /ip service disable</li>
</ul>
<h3>Обновление RouterOS</h3>
<p>Как обновлять безопасно: сначала бэкап, потом обновление на тестовом устройстве или в окне обслуживания, не в пятницу вечером. Что проверить до обновления: release notes на предмет изменений в DNS и adlist. Как откатиться: держи под рукой предыдущий образ <a title="Настройка VLAN на MikroTik RouterOS 7 — полный гайд 2026" href="https://it-apteka.com/nastrojka-vlan-na-mikrotik-routeros-7-polnyj-gajd-po-bridge-trunk-i-wi-fi/" target="_blank" rel="noopener" data-wpil-monitor-id="3175">RouterOS и созданный бэкап конфигурации —</a> откат делается через загрузку старого образа плюс restore backup.</p>
<h2>Таблица портов</h2>
<table>
<tbody>
<tr>
<th>Порт</th>
<th>Протокол</th>
<th>Назначение</th>
<th>Доступен снаружи?</th>
</tr>
<tr>
<td>53</td>
<td>UDP/TCP</td>
<td>DNS-запросы клиентов к роутеру</td>
<td>Нет, только для локальной подсети</td>
</tr>
<tr>
<td>443</td>
<td>TCP</td>
<td>Загрузка adlist по HTTPS-ссылке, DoH-запросы</td>
<td>Да, исходящий трафик от роутера наружу</td>
</tr>
<tr>
<td>8291</td>
<td>TCP</td>
<td>Winbox-доступ к роутеру</td>
<td>Нет, ограничить по address-list</td>
</tr>
</tbody>
</table>
<h2>8. FAQ</h2>
<h3>Почему блокировка рекламы не работает после настройки adlist?</h3>
<p>Чаще всего дело в том, что клиентские устройства используют не роутер как DNS-сервер, а сторонний DNS или встроенный DoH в браузере. Проверь настройки DHCP-сервера и раздачу DNS-адреса, а также firewall-правила на блокировку внешнего DNS-трафика.</p>
<h3>Как проверить что adlist работает правильно?</h3>
<p>Выполни /ip/dns/adlist/print и посмотри на name-count — там должно быть ненулевое количество доменов. Дальше проверь резолв заведомо рекламного домена командой nslookup с клиента на адрес роутера, ответ должен быть 0.0.0.0.</p>
<h3>Что делать если adlist заблокировал нужный сайт?</h3>
<p>Добавь статичную DNS-запись типа FWD для конкретного домена через /ip/dns/static/add name=домен type=FWD. Такая запись имеет приоритет над adlist и пропускает запрос дальше на обычный резолвинг.</p>
<h3>Чем adlist на MikroTik отличается от Pi-hole?</h3>
<p>Adlist работает <a title="VPN сервер на Ubuntu для нативного подключения" href="https://it-apteka.com/vpn-server-na-ubuntu-dlja-nativnogo-podkljuchenija/" target="_blank" rel="noopener" data-wpil-monitor-id="3176">нативно внутри RouterOS без отдельного сервера</a>, но не даёт визуальной статистики и подробных логов по каждому запросу. Pi-hole требует отдельного хоста, зато даёт удобный веб-интерфейс с графиками и историей заблокированных доменов.</p>
<h3>Сколько доменов можно добавить в adlist на MikroTik?</h3>
<p>Ограничение зависит от размера DNS-кэша, который ты выделил. Списки на 150-160 тысяч доменов (типа StevenBlack hosts) требуют кэша от 32 МБ и выше. На слабых моделях роутеров с малым объёмом памяти лучше использовать компактные списки.</p>
<h3>Как часто обновляется список adlist?</h3>
<p>RouterOS автоматически проверяет обновления каждые 4 часа. Принудительный reload через /ip/dns/adlist/reload запускает проверку немедленно, но обычно в этом нет необходимости.</p>
<h2>Прогноз</h2>
<p>После настройки реклама и трекеры отсекаются на уровне DNS для всей <a title="Network Test Portable: утилита для диагностики сети без установки" href="https://it-apteka.com/network-test-portable/" target="_blank" rel="noopener" data-wpil-monitor-id="3202">сети разом — без установки</a> чего-либо на телефоны, приставки и смарт-ТВ. Список обновляется сам каждые 4 часа, whitelist через FWD-записи закрывает редкие ложные срабатывания.</p>
<p>Дальше остаётся только следить за match-count раз в неделю и не забывать про бэкап перед апдейтом RouterOS. Если после всех шагов реклама всё равно лезет — пиши в комментарии, разберёмся, что именно не докрутили.</p>
Поднял точку раздачи на новом объекте. Клиент через час пишет: «на телевизоре реклама лезет из каждой щели, у роутера же должна быть защита». А защиты нет — потому что adlist никто не включил. Знакомая ситуация?
Adlist на MikroTik — это встроенный механизм DNS-фильтрации в RouterOS, который режет рекламные и трекинговые домены прямо на роутере, без Pi-hole, без контейнеров, без отдельного железа. Настройка блокировки рекламы adlist на mikrotik занимает 10-15 минут, если делать по шагам и не тыкать наугад в Winbox.
Дальше — рабочий рецепт с командами, которые можно вставлять в терминал построчно. Без теории ради теории.
Быстрый ответ
Чтобы включить
adlist на MikroTik: увеличь размер DNS-кэша, добавь источник списка доменов через /ip/dns/adlist/add, проверь работу через /ip/dns/adlist/print и тестовый запрос к заблокированному домену. Список обновляется автоматически каждые 4 часа, реклама блокируется через null-route на 0.0.0.0. Работает на RouterOS 7.15 и новее.
1. Диагноз: почему реклама долбит в каждое устройство в сети
Ты поднял сеть. DHCP раздаёт адреса, интернет летает, всё стабильно. А потом смарт-ТВ на кухне включает рекламный ролик перед каждым фильмом, телефон жены захлёбывается баннерами в мобильном браузере, а плойка сына получает поп-ап посреди игры. Устройства разные, проблема одна — DNS.
Adlist в RouterOS решает эту задачу централизованно: один раз настроил на роутере — рекламные домены отсекаются для всех клиентов сети, которые используют его как DNS-сервер. Не важно, смартфон это, приставка или консоль без возможности поставить блокировщик.
Что получишь на выходе:
- блокировку рекламных и трекинговых доменов на уровне сети, без установки чего-либо на клиентские устройства
- автоматическое обновление списков без твоего участия
- возможность добавить собственные списки или исключения
- снижение паразитного трафика и нагрузки на канал
- рабочий troubleshooting на случай, если что-то отвалится через месяц
Время на настройку — 10-15 минут при наличии доступа к роутеру. Понадобится: RouterOS 7.15 или новее, доступ по SSH или Winbox, немного свободной памяти под DNS-кэш.
Системные требования
| Компонент |
Минимальная версия |
Комментарий |
| RouterOS |
7.15+ |
Adlist как нативная фича появился в этой ветке. На старых 7.x придётся городить костыль через static DNS |
| Свободная RAM |
от 32 МБ |
Зависит от размера списка. Список StevenBlack hosts — это больше 160 тысяч записей |
| Свободное место на диске |
от 5 МБ |
Adlist хранится во внутренней памяти устройства |
На момент публикации актуальна версия RouterOS 7.19.x. Перед установкой проверь свежие релизы на официальном сайте MikroTik.
2. Причины, по которым реклама проходит через обычную настройку роутера
Ты не первый, кто удивляется, почему «просто DNS-сервер 8.8.8.8» не спасает от рекламы. Разберём по пунктам, что именно ломает картину.
| Причина |
Почему не работает без adlist |
| Публичный DNS без фильтрации (Google, Cloudflare) |
Резолвит любой домен, включая рекламные сети — фильтрации там нет по умолчанию |
| Клиенты используют DNS-over-HTTPS в браузере напрямую |
Запрос уходит мимо роутера прямо к DoH-провайдеру, adlist роутера не видит трафик |
| Устаревший список доменов |
Рекламные сети постоянно меняют поддомены — статичный список без обновлений быстро протухает |
| Маленький DNS-кэш |
Список на 100+ тысяч записей не влезает, роутер сыпет ошибкой adlist read: max cache size reached |
| Клиент прописал DNS вручную (не через DHCP роутера) |
Запросы идут напрямую в интернет, минуя фильтр — типичная ситуация с телефонами, где кто-то один раз поставил 1.1.1.1 |
| Нет firewall-правила, блокирующего DNS на 53 порт наружу |
Любое устройство может обратиться к стороннему DNS в обход роутера |
Ну и запросы у вас — сказала база рекламных доменов и продолжила резолвиться в обход. Разберём каждую причину по отдельности, начиная с самого частого случая — отсутствия правильного источника списка.
3. Рецепт: настройка adlist на MikroTik пошагово
Подготовка
Проверь версию RouterOS. Adlist как встроенная фича работает с 7.15 и выше.
/system resource print
Смотри строку version. Если версия ниже 7.15 — обнови роутер перед продолжением. Про безопасное обновление — в разделе профилактики ниже.
Проверь текущий размер DNS-кэша. Adlist хранит записи именно там, и дефолтные 2048 KiB для крупного списка не хватит.
/ip dns print
Результат: увидишь текущий cache-size и cache-used. Если планируешь список на 100+ тысяч доменов — готовься увеличивать кэш до 16-32 МБ.
Шаг 1. Увеличь размер DNS-кэша
Без этого шага крупный список просто не влезет, и ты получишь ошибку в логах вместо рабочей блокировки.
/ip dns set cache-size=32768
Результат: cache-size вырастет до 32 МБ. Для среднего домашнего списка (10-20 тысяч доменов) хватит 8192-16384. Для агрегированных списков вроде StevenBlack hosts — бери 32768 и выше.
Шаг 2. Добавь adlist по URL
Это основной сценарий. Указываешь ссылку на готовый список — RouterOS сам скачивает, парсит и обновляет его по расписанию.
/ip/dns/adlist add url=https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts ssl-verify=no
Результат: список начнёт загружаться в фоне. Через пару минут проверь статус командой ниже.
/ip/dns/adlist/print
Ожидаемый вывод похож на это:
Flags: X - disabled
0 url="https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts" ssl-verify=no match-count=0 name-count=164769
name-count показывает, сколько доменов реально загрузилось. Если там ноль — либо список ещё грузится, либо URL недоступен, смотри troubleshooting.
Шаг 3. Альтернатива: локальный список из файла
Если хочешь контролировать список сам, без внешнего URL — собери свой файл в формате hosts и загрузи его на роутер.
0.0.0.0 example1.com
0.0.0.0 eu1.example.com
0.0.0.0 ads.trackernetwork.com
Файл можно загрузить через Winbox drag-and-drop в Files, либо создать прямо в терминале роутера:
/file/add name=host.txt
/file/edit host.txt contents
После вставки содержимого нажми Ctrl+O для сохранения. Дальше подключи файл к adlist:
/ip/dns/adlist/add file=host.txt
Результат: /ip/dns/adlist/print покажет name-count равный количеству строк в файле. Если там 0 — формат файла нарушен, проверь пробелы между IP и доменом.
Шаг 4. Настрой Whitelist для важных доменов
Рано или поздно adlist заблокирует что-то нужное — платёжный виджет, аналитику CRM клиента, домен корпоративного сервиса. Готовое решение — статичная запись типа FWD, которая имеет приоритет над adlist.
/ip/dns/static/add name=important-domain.com type=FWD
Результат: запросы к important-domain.com будут проходить мимо блокировки, обрабатываясь через обычные DNS-серверы роутера.
Шаг 5. Убедись, что клиенты используют роутер как DNS
Если DHCP-сервер не раздаёт адрес роутера как DNS — вся настройка выше просто не будет использоваться клиентами.
/ip dhcp-server network print
Проверь колонку dns-server. Там должен стоять адрес самого роутера (обычно 192.168.88.1 или твой gateway), а не что-то стороннее.
Шаг 6. Закрой обход через сторонний DNS
Продвинутые пользователи и некоторые приложения (Chrome, Android) прописывают DNS вручную или используют DoH напрямую в обход роутера. Без блокировки прямого DNS-трафика наружу вся защита превращается в решето.
/ip firewall filter add chain=forward protocol=udp dst-port=53 action=reject src-address=192.168.88.0/24 dst-address=!192.168.88.1 comment="block external DNS UDP"
/ip firewall filter add chain=forward protocol=tcp dst-port=53 action=reject src-address=192.168.88.0/24 dst-address=!192.168.88.1 comment="block external DNS TCP"
Результат: любой запрос на порт 53 к стороннему серверу будет отклонён, кроме запросов к самому роутеру. Замени 192.168.88.0/24 на свою подсеть.
Не перепутай порядок правил в firewall — если у тебя уже стоят разрешающие правила для forward выше по списку, эти два добавь именно перед ними или явно проверь итоговую очерёдность через /ip firewall filter print.
4. Проверка: как убедиться, что adlist реально режет рекламу
Настройка без проверки — это не настройка, это надежда. Три команды, которые покажут реальную картину.
/ip/dns/adlist/print
Смотри поля match-count и name-count. match-count растёт по мере того, как клиенты реально дёргают заблокированные домены. Если через сутки match-count всё ещё 0 — либо клиенты не используют роутер как DNS, либо список пустой.
/ip dns cache print
Список закэшированных ответов. Найди среди них известный рекламный домен и проверь, что он резолвится в 0.0.0.0.
/ip dns cache flush
Сброс кэша перед контрольным тестом — чтобы не смотреть на старые записи. После сброса с клиентского компьютера выполни резолв заведомо рекламного домена:
nslookup doubleclick.net 192.168.88.1
Ожидаемый результат: адрес 0.0.0.0. Если возвращается реальный IP — домен не попал в список, либо клиент резолвит мимо роутера.
%%{init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#ffffff',
'primaryTextColor': '#1e293b',
'primaryBorderColor': '#94a3b8',
'lineColor': '#64748b',
'fontSize': '15px',
'fontFamily': 'ui-sans-serif, system-ui, sans-serif'
},
'flowchart': {'curve': 'linear', 'nodeSpacing': 50, 'rankSpacing': 50}
}}%%
flowchart TD
A["Клиент запрашивает домен"] --> B["Роутер MikroTik DNS"]
B --> C{"Домен в adlist?"}
C -->|Да| D["Ответ 0.0.0.0"]
C -->|Нет| E["Запрос к upstream DNS"]
E --> F["Реальный IP клиенту"]
style A fill:#f8fafc,stroke:#3b82f6,stroke-width:2px,color:#1e40af
style D fill:#f8fafc,stroke:#ef4444,stroke-width:2px,color:#b91c1c
style F fill:#f8fafc,stroke:#22c55e,stroke-width:2px,color:#15803d
5. Осложнения: что ломается и как это чинить
Всё не так плохо, как ты думаешь. Всё намного хуже — потому что рекламные сети постоянно меняют домены, а память роутера не резиновая. Вот типичные проблемы.
Ошибка: adlist read: max cache size reached
Причина: DNS-кэш заполнен, список доменов не помещается целиком.
Решение: увеличь размер кэша, либо уменьши количество источников adlist.
/ip dns set cache-size=65536
Ошибка: name-count остаётся 0 после добавления adlist по URL
Причина: роутер не может достучаться до источника списка — либо нет интернета на момент добавления, либо проблема с SSL-сертификатом.
Решение: проверь доступность URL и попробуй временно отключить проверку сертификата.
/ip/dns/adlist/set 0 ssl-verify=no
/ip/dns/adlist/reload
Проблема: заблокирован нужный сервис (платёжка, CRM, аналитика клиента)
Причина: домен сервиса попал под фильтр слишком широкого списка.
Решение: временно отключи adlist, найди реальный IP через внешний DNS, потом добавь исключение через FWD-запись.
/ip/dns/adlist/set 0 disabled=yes
После диагностики верни adlist обратно и добавь whitelist для конкретного домена, как показано в шаге 4 рецепта.
Проблема: реклама всё ещё показывается на части устройств
Причина: устройство использует не роутер как DNS, а зашитый DoH внутри приложения (типичный случай — Chrome, Firefox, Android 10+).
Решение: закрой сторонний DNS-трафик через firewall, как в шаге 6, либо отключи DoH внутри приложений вручную на клиентских устройствах.
Проблема: роутер тормозит после добавления крупного списка
Причина: на слабых моделях (RB750, hAP lite и подобные) большой объём записей в DNS-кэше съедает всю доступную память.
Решение: используй не агрегированный список на 160+ тысяч записей, а компактный список только рекламных доменов без трекеров и malware-доменов.
6. Альтернативы: чем ещё можно резать рекламу в сети
Adlist — не единственный вариант. Вот с чем его стоит сравнить перед принятием решения.
| Вариант |
Плюсы |
Минусы |
| Adlist на MikroTik |
Не требует отдельного железа, работает нативно, обновляется вместе с RouterOS |
Нет визуального дашборда, whitelist только через ручные FWD-записи |
| Pi-hole на отдельном хосте |
Подробная статистика, удобный веб-интерфейс, гибкие черные и белые списки |
Нужен отдельный сервер или Raspberry Pi, лишняя точка отказа в сети |
| Статичные DNS-записи вручную (без adlist) |
Полный контроль, работает даже на старых версиях RouterOS |
Тысячи записей вручную не потянешь, список быстро устаревает |
| Блокировка через сторонний DNS-провайдер (NextDNS, AdGuard DNS) |
Готовые списки, статистика в облаке, не грузит роутер |
Зависимость от внешнего сервиса, приватность запросов уходит наружу |
Для домашней сети или небольшого офиса adlist на MikroTik закрывает задачу полностью без лишних сущностей. Если нужна детальная аналитика по заблокированным доменам с графиками — тут придётся смотреть в сторону Pi-hole или облачного DNS-провайдера, потому что RouterOS такого дашборда не даст.
7. Профилактика: чтобы блокировка не развалилась через месяц
Мониторинг
Раз в неделю проверяй match-count и name-count через /ip/dns/adlist/print. Резкое падение name-count означает проблему с источником списка.
Автообновление списков
RouterOS проверяет обновления adlist каждые 4 часа автоматически. Ручной reload нужен редко — например, сразу после смены источника.
/ip/dns/adlist/reload
Резервное копирование конфигурации
Перед любыми изменениями DNS-настроек сделай бэкап. Хранить копию нужно не только на самом роутере, но и вне его.
/system backup save name=router-backup-before-adlist
/export file=router-config-export
Что бэкапить: полный backup плюс текстовый export конфигурации. Как часто: перед каждым существенным изменением и раз в месяц по расписанию. Где хранить: вне роутера — на отдельном сервере или в облаке, локальная копия не спасёт при выходе устройства из строя. Как восстановить:
/system backup load name=router-backup-before-adlist
Безопасность
- ограничь доступ к DNS-серверу роутера по firewall только для локальной подсети
- не открывай allow-remote-requests=yes на интерфейс, смотрящий в интернет
- используй SSH-ключи вместо пароля для управления роутером
- настрой отдельного пользователя с ограниченными правами для повседневного администрирования вместо постоянной работы под admin
- включи fail2ban-подобную защиту через встроенный address-list и правила firewall для брутфорс-попыток на management-порты
- ограничь Winbox/API доступ по списку разрешённых IP-адресов
- отключи неиспользуемые сервисы через /ip service print и /ip service disable
Обновление RouterOS
Как обновлять безопасно: сначала бэкап, потом обновление на тестовом устройстве или в окне обслуживания, не в пятницу вечером. Что проверить до обновления: release notes на предмет изменений в DNS и adlist. Как откатиться: держи под рукой предыдущий образ RouterOS и созданный бэкап конфигурации — откат делается через загрузку старого образа плюс restore backup.
Таблица портов
| Порт |
Протокол |
Назначение |
Доступен снаружи? |
| 53 |
UDP/TCP |
DNS-запросы клиентов к роутеру |
Нет, только для локальной подсети |
| 443 |
TCP |
Загрузка adlist по HTTPS-ссылке, DoH-запросы |
Да, исходящий трафик от роутера наружу |
| 8291 |
TCP |
Winbox-доступ к роутеру |
Нет, ограничить по address-list |
8. FAQ
Почему блокировка рекламы не работает после настройки adlist?
Чаще всего дело в том, что клиентские устройства используют не роутер как DNS-сервер, а сторонний DNS или встроенный DoH в браузере. Проверь настройки DHCP-сервера и раздачу DNS-адреса, а также firewall-правила на блокировку внешнего DNS-трафика.
Как проверить что adlist работает правильно?
Выполни /ip/dns/adlist/print и посмотри на name-count — там должно быть ненулевое количество доменов. Дальше проверь резолв заведомо рекламного домена командой nslookup с клиента на адрес роутера, ответ должен быть 0.0.0.0.
Что делать если adlist заблокировал нужный сайт?
Добавь статичную DNS-запись типа FWD для конкретного домена через /ip/dns/static/add name=домен type=FWD. Такая запись имеет приоритет над adlist и пропускает запрос дальше на обычный резолвинг.
Чем adlist на MikroTik отличается от Pi-hole?
Adlist работает нативно внутри RouterOS без отдельного сервера, но не даёт визуальной статистики и подробных логов по каждому запросу. Pi-hole требует отдельного хоста, зато даёт удобный веб-интерфейс с графиками и историей заблокированных доменов.
Сколько доменов можно добавить в adlist на MikroTik?
Ограничение зависит от размера DNS-кэша, который ты выделил. Списки на 150-160 тысяч доменов (типа StevenBlack hosts) требуют кэша от 32 МБ и выше. На слабых моделях роутеров с малым объёмом памяти лучше использовать компактные списки.
Как часто обновляется список adlist?
RouterOS автоматически проверяет обновления каждые 4 часа. Принудительный reload через /ip/dns/adlist/reload запускает проверку немедленно, но обычно в этом нет необходимости.
Прогноз
После настройки реклама и трекеры отсекаются на уровне DNS для всей сети разом — без установки чего-либо на телефоны, приставки и смарт-ТВ. Список обновляется сам каждые 4 часа, whitelist через FWD-записи закрывает редкие ложные срабатывания.
Дальше остаётся только следить за match-count раз в неделю и не забывать про бэкап перед апдейтом RouterOS. Если после всех шагов реклама всё равно лезет — пиши в комментарии, разберёмся, что именно не докрутили.