Tracking - nein, danke

2013-12-21

Ich bin nach wie vor der Meinung, das man auch ohne Firewall und Anti-Virenscanner auskommt, wenn man ein paar einfache Regeln beachtet. Aber der Tracking- und AdSensewahn nervt mich. Natürlich kann man für den Browser Werbeblocker benutzen, müßte diese dann aber auf jedem Gerät installieren und Warten. Deshalb sollte eine zentrale Lösung her. Da mein Router keine „Blacklist“ Möglichkeit bietet, habe ich mich entschlossen das Problem über einen eigenen DNS Server mit Sperrliste zu lösen. Das ganze ist kein Hexenwerk und mit dnsmasq schnell umgesetzt.

Wie funktioniert’s ?

Ganz einfach. Bevor man sich mit einem Server verbinden kann, muss der Domain Name in eine IP Adresse aufgelöst werden. Dafür werden s.g. DNS- oder Nameserver verwendet. Benutzt man einen eigenen DNS Server hat man natürlich auch die Kontrolle und kann auf die Namensauflösung Einfluss nehmen. Und genau das passiert mit den zu sperrenden Domains, die werden einfach auf die lokale Loopback Adresse 127.0.0.1 umgeleitet. Alle anderen Domains werden entweder vom eigenen DNS Server aufgelöst oder die Anfrage an einen öffentlichen DNS Server weiter geleitet.

$ sudo apt-get install dnsmasq
$ vim /etc/dnsmasq.conf
# hier die eigene ip einsetzen
domain=192.168.2.152
resolv-file=/etc/resolv.dnsmasq
min-port=4096
cache-size=10000
no-dhcp-interface=

domain-needed
bogus-priv
no-poll
strict-order

# opendns
server=208.67.222.222
# google dns
server=8.8.8.8
#server=208.67.220.220
#server=8.8.4.4

# logging
#log-queries
#log-facility=/var/log/dnsmasq.log

# wer's brauch 
#pid-file=/var/run/dnsmasq.pid

# blacklist einbinden
conf-file=/etc/dnsmasq.block.conf

Die Daten für die zu sperrenden Domains holt man sich z.b. von hier (als Format logischerweiße dnsmasq wählen) und speichert das ganze unter /etc/dnsmasq.block.conf.

Den DNS Server neu starten …

$ sudo service dnsmasq restart

… und im Router oder in den einzelnen Geräten den eigenen DNS Server als Standard Nameserver konfigurieren.