Pular para o conteúdo
InstagramYouTubeFacebook

Tutorial

Bloquear Anúncios no MikroTik com AdList

Bloqueie anúncios na camada DNS em roteadores MikroTik com o AdList nativo do RouterOS v7.15+ — sem Pi-hole nem hardware extra.

Resumo O MikroTik AdList (RouterOS v7.15+) bloqueia anúncios na camada DNS para todos os dispositivos da LAN, sem precisar de Pi-hole nem hardware extra. Este guia cobre os pré-requisitos, a configuração de blocklists públicas e personalizadas, testes, whitelisting e as limitações esperadas (anúncios dentro de apps e vídeos do YouTube estão fora do alcance da filtragem por DNS).

Por que usar o AdList em vez do Pi-hole?

AdList é o bloqueador de anúncios baseado em DNS embutido no MikroTik. Diferente de um container Pi-hole, o AdList roda nativamente no RouterOS e não exige dispositivo separado, runtime de container nem reconfiguração de DNS. Uma vez ativado, ele filtra consultas para servidores de anúncios conhecidos (registros A e AAAA) retornando 0.0.0.0 em vez do IP real. Cada celular, TV, console e dispositivo IoT da LAN herda o bloqueio enquanto usar o MikroTik como DNS.

Comparado a manter um Pi-hole, o AdList vence em três frentes operacionais: a configuração é um único painel dentro de IP → DNS em vez de provisionar um host separado; as atualizações vêm junto com os upgrades do RouterOS em vez de um ciclo paralelo de apt; e há um ponto único de falha a menos na rede. O custo é a RAM — listas grandes consomem espaço de cache, então pode ser necessário aumentá-lo.

Prepare o roteador

Dois pré-requisitos precisam estar prontos antes de o AdList ser útil:

Atualize para RouterOS v7.15 ou superior. O AdList chegou na v7.15. Vá em System → Packages → Check for updates e instale a versão estável mais recente. Releases anteriores simplesmente não expõem o caminho /ip dns adlist.

Aumente o tamanho do cache DNS. As adlists vivem dentro do cache DNS; o tamanho padrão do cache é pequeno demais para qualquer lista significativa e produz o erro adlist read: max cache size reached. Em IP → DNS, aumente o Cache size para um valor grande o suficiente para acomodar suas listas — para um roteador com 128 MB de RAM rodando uma ou duas listas, 30–40 MB é um alvo razoável.

/ip/dns set cache-size=40000
Painel IP DNS do MikroTik com cache-size definido em 40 MB

Verifique se Allow Remote Requests está habilitado para que os dispositivos da LAN consigam consultar o DNS do roteador.

Adicione uma adlist pública

Blocklists públicas como o hosts file do StevenBlack já entregam cobertura ampla de anúncios e rastreadores logo no primeiro dia. Em IP → DNS → Adlist, clique em +, cole a URL da lista e desabilite SSL Verify a menos que você já tenha importado a autoridade certificadora. A lista vai aparecer com contagem de matches e de nomes após o parse.

Equivalente via CLI:

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

Para conferir quantos domínios foram carregados e quantas consultas foram bloqueadas:

/ip/dns/adlist/print

match-count é o número de consultas bloqueadas; name-count é o número de entradas que a lista contém.

Terminal do RouterOS mostrando a saída de /ip/dns/adlist/print com match-count e name-count

Whitelisting e forwarders

Às vezes um domínio que você de fato quer está em uma blocklist pública. Adicione uma entrada estática de forward para fazer o AdList ignorar aquele nome específico:

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

Forwarders também permitem definir resolvers upstream (Quad9, Cloudflare) para domínios específicos. Defina primeiro o pool de forwarder, depois aponte as entradas estáticas para ele:

/ip/dns/forwarders add dns-servers=1.1.1.1,8.8.8.8 name=my-fwd
/ip/dns/static add name=example.com type=FWD forward-to=my-fwd

Crie e importe uma blocklist personalizada

Para mais controle, monte sua própria lista. Cada linha usa o formato 0.0.0.0 domínio:

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

Crie ou faça upload do arquivo no RouterOS:

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

Digite a lista de domínios, pressione Ctrl-O para salvar e anexe o arquivo ao AdList:

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

Confirme que o arquivo foi processado conferindo name-count em /ip/dns/adlist/print.

Arquivo de adlist personalizada do RouterOS carregado com name-count visível

Teste e diagnostique

Limpe o cache DNS no cliente e consulte um domínio de anúncio conhecido:

ipconfig /flushdns
nslookup someadserver.com

A resposta deve retornar 0.0.0.0 em vez do IP real.

Resultado de nslookup mostrando 0.0.0.0 para um domínio de anúncio bloqueado

Acompanhe o match-count ao longo do tempo para ver se a lista está fazendo trabalho útil. Se aparecer adlist read: max cache size reached, aumente o cache ou retire uma lista. Para um hardening de DNS mais profundo que combina com isto, veja nossos guias de como configurar DNS over HTTPS e de como bloquear tráfego para um país.

Manutenção e limitações

  • Atualizações automáticas. O RouterOS atualiza as adlists a cada quatro horas. O reload manual via /ip/dns/adlist/reload está disponível, mas raramente é necessário.
  • Orçamento de memória. Listas grandes consomem RAM. Ajuste o número e o tamanho das listas à memória livre do dispositivo; um hAP ac² tem folga bem diferente de um RB5009.
  • Bloqueio apenas via DNS. O AdList não consegue bloquear anúncios servidos a partir do mesmo host do conteúdo (anúncios em vídeo do YouTube em especial). Combine com uma extensão de navegador se eles ainda incomodarem.
  • Bypass por DoH/DoT. Clientes com seus próprios resolvers DoH ou DoT contornam totalmente o DNS do roteador. Bloqueie o DNS de saída para qualquer destino que não seja o roteador, com uma regra de firewall, para garantir a política.

Escale o bloqueio em todos os sites

Manter o AdList em um roteador é fácil. Mantê-lo em uma frota inteira — com whitelists personalizadas por cliente, orçamentos de tamanho de lista por modelo de dispositivo e a inevitável divergência entre sites — é mais difícil do que se imagina.

O MKController aplica a mesma configuração de AdList, listas personalizadas e regras de forwarder em todos os MikroTik do seu inventário em uma única operação. Quando o match-count despenca ou erros de max cache size começam a aparecer no log, o dashboard sinaliza os dispositivos afetados para você corrigi-los antes que o cliente perceba.

Comece seu trial gratuito do MKController