Tutorial
Bloquer les pubs sur MikroTik avec AdList
Bloquez les publicités au niveau DNS sur les routeurs MikroTik avec la fonction AdList native de RouterOS v7.15+ — sans Pi-hole ni matériel extra.
Résumé MikroTik AdList (RouterOS v7.15+) bloque les publicités au niveau DNS pour tous les appareils du LAN, sans Pi-hole ni matériel supplémentaire. Ce guide couvre les prérequis, la configuration de blocklists publiques et personnalisées, les tests, la mise en liste blanche et les limites à anticiper (les pubs in-app et les pubs vidéo YouTube restent hors de portée d’un filtrage DNS).
Pourquoi AdList plutôt que Pi-hole ?
AdList est le bloqueur de publicités basé sur le DNS intégré à MikroTik. Contrairement à un conteneur Pi-hole, AdList tourne nativement dans RouterOS et n’exige ni machine séparée, ni runtime de conteneur, ni reconfiguration DNS. Une fois activé, il filtre les requêtes vers les serveurs publicitaires connus (enregistrements A et AAAA) en renvoyant 0.0.0.0 au lieu de l’IP réelle. Chaque téléphone, TV, console et objet IoT du LAN hérite automatiquement du blocage tant qu’il utilise le MikroTik comme DNS.
Comparé au déploiement d’un Pi-hole, AdList gagne sur trois plans opérationnels : la configuration tient dans un seul panneau de IP → DNS au lieu de provisionner un hôte séparé ; les mises à jour suivent celles de RouterOS plutôt qu’un cycle apt parallèle ; et il y a un point de défaillance unique en moins sur le réseau. Le compromis se joue sur la RAM — les grandes listes mangent du cache, il faudra peut-être l’augmenter.
Préparer le routeur
Deux prérequis doivent être en place avant qu’AdList ne soit utile :
Passer à RouterOS v7.15 ou plus récent. AdList est arrivé en v7.15. Allez dans System → Packages → Check for updates et installez la version stable la plus récente. Les anciennes versions n’exposent tout simplement pas le chemin /ip dns adlist.
Augmenter la taille du cache DNS. Les adlists vivent dans le cache DNS ; la taille par défaut est trop petite pour toute liste sérieuse et provoque l’erreur adlist read: max cache size reached. Dans IP → DNS, portez Cache size à une valeur suffisante pour vos listes — pour un routeur de 128 Mo de RAM avec une ou deux listes, 30–40 Mo est une cible raisonnable.
/ip/dns set cache-size=40000
Vérifiez que Allow Remote Requests est activé, pour que les appareils du LAN puissent interroger le routeur en DNS.
Ajouter une adlist publique
Les blocklists publiques comme le fichier hosts de StevenBlack offrent une large couverture publicité et trackers dès le premier jour. Dans IP → DNS → Adlist, cliquez sur +, collez l’URL de la liste et désactivez SSL Verify sauf si vous avez déjà importé l’autorité de certification. La liste apparaît avec un match-count et un name-count une fois analysée.
Équivalent en CLI :
/ip/dns/adlist add \ url=https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts \ ssl-verify=noPour voir combien de domaines ont été chargés et combien de requêtes ont été bloquées :
/ip/dns/adlist/printmatch-count est le nombre de requêtes bloquées ; name-count est le nombre d’entrées que contient la liste.
Liste blanche et forwarders
Il arrive qu’un domaine que vous voulez réellement atteindre figure dans une blocklist publique. Ajoutez une entrée statique de forward pour qu’AdList ignore ce nom précis :
/ip/dns/static add name=example.com type=FWDLes forwarders permettent aussi de définir des résolveurs amont (Quad9, Cloudflare) pour des domaines spécifiques. Définissez d’abord le pool de forwarder, puis pointez les entrées statiques dessus :
/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-fwdCréer et importer une blocklist personnalisée
Pour plus de contrôle, montez votre propre liste. Chaque ligne utilise le format 0.0.0.0 domaine :
0.0.0.0 adverts.com0.0.0.0 click.adclick.com0.0.0.0 malware-site.com0.0.0.0 fraud.scam.comCréez ou téléversez le fichier dans RouterOS :
/file/add name=adbl.txt/file/edit adbl.txt contentsSaisissez la liste de domaines, sauvegardez avec Ctrl-O, puis rattachez le fichier à AdList :
/ip/dns/adlist add file=adbl.txtVérifiez l’analyse du fichier en consultant name-count via /ip/dns/adlist/print.
Tester et diagnostiquer
Videz le cache DNS d’un client et interrogez un domaine publicitaire connu :
ipconfig /flushdnsnslookup someadserver.comLa réponse doit renvoyer 0.0.0.0 au lieu de l’IP réelle.
Surveillez match-count dans le temps pour voir si la liste rend vraiment service. Si vous voyez adlist read: max cache size reached, augmentez le cache ou retirez une liste. Pour un durcissement DNS plus poussé qui complète tout cela, voyez nos guides sur la configuration DNS over HTTPS et sur le blocage du trafic vers un pays.
Maintenance et limites
- Mises à jour automatiques. RouterOS rafraîchit les adlists toutes les quatre heures. Le rechargement manuel via
/ip/dns/adlist/reloadest disponible mais rarement nécessaire. - Budget mémoire. Les grosses listes consomment de la RAM. Calibrez le nombre et la taille des listes sur la mémoire libre de l’équipement ; un hAP ac² n’a pas du tout la même marge qu’un RB5009.
- Blocage DNS uniquement. AdList ne peut pas bloquer les pubs servies depuis le même hôte que le contenu (les pubs vidéo YouTube en particulier). Doublez avec une extension de navigateur si elles vous gênent.
- Contournement DoH/DoT. Les clients équipés de leurs propres résolveurs DoH ou DoT contournent entièrement le DNS du routeur. Bloquez le DNS sortant vers tout sauf le routeur via une règle pare-feu pour imposer la politique.
Mettez le blocage de pubs à l’échelle sur tous les sites
Maintenir AdList sur un routeur est facile. Le maintenir sur une flotte — avec des listes blanches par client, des budgets de taille de liste par modèle d’équipement et la dérive inévitable entre sites — est plus difficile qu’il n’y paraît.
MKController pousse en une seule opération la même configuration AdList, les listes personnalisées et les règles de forwarder sur chaque MikroTik de votre inventaire. Quand match-count chute brutalement ou quand les erreurs max cache size commencent à apparaître dans les logs, le tableau de bord met en avant les équipements concernés pour que vous interveniez avant que les clients ne s’en aperçoivent.