Inhaltsverzeichnis

Nervende Werbung im Internet mit dnsmasq stoppen

Eine der besten Lösungen, um Werbung im Internet (z.B. beim Browsen) zu verhindern, ist der Eintrag aller Werbeserver in die hosts Datei des Clients. Damit werden alle Request nach solchen Werbedomains mit der lokalen IP 127.0.0.1 beantwortet und damit kann diese nicht erreicht werden. Der Nachteil dieser Lösung ist es, dass man diese Datei auf jedem beteiligten Client anlegen und pflegen muss.

Hier kommt der dnsmasq zum Zuge. Die Werbeserver werden einfach in seine /etc/hosts Datei einge- tragen und damit gilt die Datei für alle DNS Requests aller Clients. Der Vorteil gegenüber einer Browser- lösung wie z.B. AdBlock ist es, dass damit alle Protokolle welche auf DNS aufsetzen gefiltert werden (als z.B. auch Werbung in Emails). Zusätzlich kann man diese zentrale hosts Datei um bekannte Spammer-, Hacker- und Virendomains ergänzen und hat damit sogar einen primitiven Virenschutz.

Installation

(Installation von dnsmasq)

Zuerst braucht man ein hosts File mit den bekannten Werbehostern. Dieses gibt es z.B. hier (http://www.mvps.org/winhelp2002/hosts.zip) oder hier (http://hostsfile.mine.nu/downloads/). Diese beiden Dateien muss man dann in die /etc/hosts des DNS-Servers einpflegen. Das dauert ein bisschen weil die Files sehr gross sind (bei mir z.Z. 110'000 Zeilen!!). Anschliessend den dnsmasq Server neustarten und auf eine bekannte Werbedomain gehen. Eigentlich sollte dann nichts mehr angezeigt werden können resp. dürfte die Domain überhaupt nicht aufgelöst werden können.

Dann müsst ihr nur noch sicherstellen, dass alle Clients die IP des DNS Servers erhalten und benutzen. Damit ist Werbung im Internet dann Geschichte ;-)

Konfiguration

dnsmasq bietet mehrere Möglichkeiten die Blacklists einzubauen

HOSTS Format

Einerseits gibt es das Hosts Format wie es z.B. in /etc/hosts eingesetzt wird. Der Nachteil am direkten Eintragen in hosts ist es, dass die Synology Firmware Änderungen in dieser Datei (zumindest jene die den Host selber betreffen) wieder entfernt. Für Daten im Hosts-Format ist es daher besser in /opt/etc/dnsmasq.conf folgende Variable zu verwenden, um ein externes File zusätzlich einzulesen

addn-hosts=/opt/etc/banner_add_hosts

Dieses File ist vor der Firmware geschützt und sollte Einträge in folgender Form enthalten

127.0.0.1 HOST-DOMAIN-NAME

dnsmasq Format

Zusätzlich zu Dateien im Hosts Format kann dnsmasq auch Dateien im eigenen Format einlesen. Diese Datei(en) muss dann Adress Einträge für den DNS Server in der Form

address="/HOST-DOMAIN-NAME/127.0.0.1"

enthalten. Files im dsnmasq Format werden über die Variable

conf-file=/opt/etc/dnsmasq.more.conf

definiert. Man kann auch mehere Files angeben, die hintereinander eingelesen werden, indem man conf-file einfach mehrfach verwendet