Zum Inhalt springen
InstagramYouTubeFacebook

Tutorial

Werbung auf MikroTik mit AdList blockieren

Blockiere Werbung auf DNS-Ebene auf MikroTik-Routern mit der nativen AdList-Funktion in RouterOS v7.15+ — ohne Pi-hole oder Extra-Hardware.

Zusammenfassung MikroTik AdList (RouterOS v7.15+) blockiert Werbung auf DNS-Ebene für jedes Gerät im LAN — ohne Pi-hole und ohne Zusatz-Hardware. Diese Anleitung deckt die Voraussetzungen, das Einrichten öffentlicher und eigener Blocklisten, das Testen, Whitelisting und die zu erwartenden Grenzen ab (In-App-Werbung und YouTube-Videoanzeigen liegen außerhalb der DNS-basierten Filterung).

Warum AdList statt Pi-hole?

AdList ist MikroTiks integrierter, DNS-basierter Werbeblocker. Anders als ein Pi-hole-Container läuft AdList nativ in RouterOS und braucht weder ein separates Gerät noch eine Container-Runtime oder eine DNS-Umstellung. Einmal aktiviert, filtert er Anfragen an bekannte Werbeserver (A- und AAAA-Records), indem er 0.0.0.0 anstelle der echten IP zurückgibt. Jedes Handy, jeder Fernseher, jede Konsole und jedes IoT-Gerät im LAN bekommt die Sperre automatisch, solange der MikroTik als DNS dient.

Im Vergleich zum Betrieb von Pi-hole punktet AdList in drei operativen Dimensionen: das Setup ist ein einziges Panel innerhalb von IP → DNS statt der Bereitstellung eines separaten Hosts; Updates kommen mit den RouterOS-Upgrades mit, nicht über einen parallelen apt-Zyklus; und im Netzwerk gibt es einen Single Point of Failure weniger. Der Trade-off ist RAM — große Listen verbrauchen Cache-Platz, daher musst du ihn eventuell erhöhen.

Router vorbereiten

Zwei Voraussetzungen müssen erfüllt sein, bevor AdList nützlich wird:

Auf RouterOS v7.15 oder neuer aktualisieren. AdList wurde in v7.15 eingeführt. Gehe zu System → Packages → Check for updates und installiere die aktuelle stable Version. Ältere Releases zeigen den Pfad /ip dns adlist schlicht nicht an.

DNS-Cache-Größe erhöhen. Die Adlists leben im DNS-Cache; die Standardgröße ist für jede ernsthafte Liste zu klein und produziert den Fehler adlist read: max cache size reached. Hebe in IP → DNS den Wert Cache size so weit an, dass deine Listen hineinpassen — für einen Router mit 128 MB RAM und einer oder zwei Listen sind 30–40 MB ein vernünftiges Ziel.

/ip/dns set cache-size=40000
MikroTik IP DNS-Panel mit cache-size auf 40 MB gesetzt

Stelle sicher, dass Allow Remote Requests aktiviert ist, damit LAN-Geräte den Router nach DNS fragen können.

Eine öffentliche Adlist hinzufügen

Öffentliche Blocklisten wie die Hosts-Datei von StevenBlack liefern dir am ersten Tag breite Werbe- und Tracker-Abdeckung. Unter IP → DNS → Adlist klickst du auf +, fügst die Listen-URL ein und deaktivierst SSL Verify, sofern du nicht bereits die zugehörige Zertifikatsautorität importiert hast. Nach dem Parsen erscheint die Liste mit einem Match- und einem Name-Count.

CLI-Äquivalent:

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

So prüfst du, wie viele Domains geladen wurden und wie viele Anfragen bereits blockiert wurden:

/ip/dns/adlist/print

match-count ist die Anzahl blockierter Anfragen; name-count ist die Anzahl der Einträge in der Liste.

RouterOS-Terminal zeigt die Ausgabe von /ip/dns/adlist/print mit match-count und name-count

Whitelisting und Forwarder

Manchmal landet eine Domain, die du eigentlich erreichen willst, in einer öffentlichen Blockliste. Lege einen statischen Forward-Eintrag an, damit AdList genau diesen Namen umgeht:

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

Forwarder erlauben dir außerdem, für bestimmte Domains eigene Upstream-Resolver (Quad9, Cloudflare) zu definieren. Definiere zuerst den Forwarder-Pool, dann zeigt der statische Eintrag darauf:

/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

Eigene Blockliste erstellen und importieren

Für mehr Kontrolle baust du dir deine eigene Liste. Jede Zeile lautet 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

Datei in RouterOS anlegen oder hochladen:

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

Trage die Domain-Liste ein, speichere mit Ctrl-O und hänge die Datei an AdList:

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

Bestätige das Parsen über den name-count mit /ip/dns/adlist/print.

Eigene RouterOS-Adlist-Datei geladen mit sichtbarem name-count

Testen und Fehler finden

Leere den DNS-Cache auf einem Client und schlage eine bekannte Werbedomain nach:

ipconfig /flushdns
nslookup someadserver.com

Die Antwort sollte als 0.0.0.0 zurückkommen statt als echte IP.

nslookup-Ergebnis zeigt 0.0.0.0 für eine blockierte Werbedomain

Beobachte den match-count über die Zeit, um zu sehen, ob die Liste tatsächlich Wirkung zeigt. Erscheint adlist read: max cache size reached, erhöhe den Cache oder lass eine Liste weg. Für tiefergehendes DNS-Härten als Ergänzung siehe unsere Guides zur DNS-over-HTTPS-Konfiguration und zum Sperren von Traffic in ein Land.

Wartung und Grenzen

  • Automatische Updates. RouterOS aktualisiert Adlists alle vier Stunden. Ein manuelles Reload über /ip/dns/adlist/reload ist möglich, aber selten nötig.
  • Speicherbudget. Große Listen kosten RAM. Passe Anzahl und Größe der Listen an den freien Speicher des Geräts an; ein hAP ac² hat einen ganz anderen Spielraum als ein RB5009.
  • Blockade nur per DNS. AdList kann keine Werbung blockieren, die vom selben Host wie der Content kommt (insbesondere YouTube-Videoanzeigen). Bei Bedarf eine Browser-Erweiterung dazu nutzen.
  • DoH/DoT-Bypass. Clients mit eigenen DoH- oder DoT-Resolvern umgehen das Router-DNS komplett. Sperre ausgehendes DNS zu allem außer dem Router per Firewall-Regel, um die Richtlinie durchzusetzen.

Werbeblockade über alle Standorte skalieren

AdList auf einem Router zu pflegen ist einfach. Es auf einer Flotte zu pflegen — mit kundenspezifischen Whitelists, Listengrößen-Budgets pro Gerätemodell und der unvermeidlichen Drift zwischen Standorten — ist schwieriger, als man denkt.

MKController spielt dieselbe AdList-Konfiguration, eigene Listen und Forwarder-Regeln in einer einzigen Operation an jeden MikroTik in deinem Inventar aus. Wenn der match-count einbricht oder max cache size-Fehler im Log auftauchen, zeigt das Dashboard die betroffenen Geräte an, damit du sie reparierst, bevor Kunden es merken.

Starte deine kostenlose MKController-Testphase