Nackt oder angezogen?

Nachdem ja nun mein Raspberry als „Pi-Hole“ im Einsatz ist, brauche ich nun Ersatz für weitere Experimente. Für die, die nicht wissen, wie so ein „Pi“ aussieht wenn man in nach der Bestellung aus dem Kartönchen holt, hier mal ein Bild vom nackten Pi:

Foto einer Platine (Raspberry Pi)
Der nackte Raspberry Pi

Und wenn man ihn dann in ein Gehäuse eingebaut hat (bei diesem Gehäuse eher: Wenn man das Gehäuse um den Pi herum aufgebaut hat…), kann es so aussehen:

Foto eines im Gehäuse eingebauten Raspberry Pi
Der eingebaute Raspberry Pi

 

„PI-HOLE“ – oder: Wie man es schafft, das Internet zu Hause ein wenig schöner zu machen

Erstaunlich, was sich in meinem Heimnetzwerk nun so alles tummelt. Neben „den üblichen Verdächtigen“, also PC / Notebook / Tablett / Smartphone sind natürlich auch SAT-Receiver (…wegen HBBTV…), Verstärker (…wegen Airplay…) und noch ein paar andere Geräte aktiv. Klar, über die FritzBox sehe ich zumindest, welche Geräte im Netzwerk zu finden sind. Für diese könnte ich dort auch verschiedene Profile hinterlegen und diese pflegen. Aber… so richtig umfangreiche Black- bzw. Whitelists ließen sich da nur unschön pflegen. Schöner wäre es, wenn man da „was“ hätte, was automatisch und zuverlässig funktioniert – und auch etwas auskunftsfreudig ist. Denn es würde mich schon interessieren, wohin die jeweiligen Geräte sich verbinden möchten.

Wie funktioniert das überhaupt?
Um im Internet irgendwo hinzukommen, werden meist „URL“ verwendet (z.B. www.mozer.de). Mit diesen Namen kommt man aber nicht weit – es ist erst „die halbe Miete“. Denn: Die Rechner (oder andere Endgeräte) bauen in Wirklichkeit keine Verbindung zu www.mozer.de auf – sondern z.B. zu einer so genannten IP-Adresse – z.B. zu 81.169.145.160. Aber… woher kennt der Rechner diese Ziel-IP-Adresse? Er fragt dazu den sogenannten „Domain Name Server“ (DNS). Er fragt also nach: „Wie lautet die IP zu dem Namen www.mozer.de?“ und erhält dann z.B. die Antwort „81.169.145.160“. Erst dann versucht der Rechner die Verbindung dorthin herzustellen.
Und genau da setzt „Pi-Hole“ an: Es steht im lokalen Netzwerk als DNS-Server zur Verfügung. Alle Geräte im Heimnetzwerk fragen nun bei „Pi-Hole“ nach den IP-Adressen. Und „Pi-Hole“ lässt es zu, mehrere Black- bzw. Whitelists zu hinterlegen. Das sind Listen, in denen Namen (z.B. www.uebleseite.de) hinterlegt sind, die dann grundsätzlich verboten („Black“) oder eben erlaubt („White“) sind. Es gibt einige vorbereitete Listen die ständig aktualisiert werden und in denen sehr viele Werbungs- oder Trackingadressen hinterlegt sind. Sollte „Pi-Hole“ nun nach einer Adresse gefragt werden, die auf einer Blacklist zu finden ist, wird als IP-Adresse eben NICHT die wirkliche IP-Adresse, sondern die des „Pi-Hole“ zurückgegeben. Und so wird dann keine Werbung zurückgeliefert (oder nicht „getrackt“).

Was hat man davon?
Erstens: Grundsätzlich weniger Werbung. Ja, das ist teilweise
verwerflich, denn gerade die Betreiber kleinerer Seiten sind auf die Einnahmen durch die Werbung angewiesen. Andererseits sind oft genau diese Betreiber technisch nicht unbedingt in der Lage, die eingeblendete Werbung zu überwachen. Und es gibt durchaus Beispiele, in denen Rechner durch „Drive-By“-Infektionen plötzlich mit Malware infiziert wurden.
Zweitens: Weniger „Tracking“. So wird z.B. Google Analytics blockiert. Das
finden zwar die Marketingabteilungen doof – aber ich brauche das für meinen puren Selbstschutz. Ich habe schon Wünsche und Bedürfnisse genug – da brauche ich nicht auch noch zielgerichtete Werbung, die bei mir noch mehr Unzufriedenheit auslöst.
Drittens: Wer will hier „nach Hause“ telefonieren? Gerade wenn ich mir so
ansehe, zu welchen Stellen mein Fernseher sich verbindet werde ich ein wenig stutzig. Klar, für HBBTV und YouTube wird ein wenig Internet benötigt. Aber… zu was der ganze Rest? Das – und ein paar andere Geräte – will ich mir mal näher ansehen.

Wie geht´s?
Man nehme einen Raspberry Pi. Die Dinger sind nicht teuer und brauchen wenig Strom. Letztlich ist so ein „Pi“ ein vollwertiger Linux-Rechner – nur eben schön klein. Man benötigt eine Mikro-SD-Karte, um das Betriebssystem darauf zu installieren (mache ich hier unter Windows). Das Betriebssystem für den „Pi“ heißt aktuell „Raspbian Stretch“. Da ich den „Pi“ vielleicht auch noch anders nutzen möchte, habe ich mich für die volle Version (Raspbian Stretch with desktop) entschieden (https://www.raspberrypi.org/downloads/raspbian/). Nachdem der Download ewig zu dauern schien – und auch als „Torrent“ angeboten wurde, habe ich noch den „Deluge Torrent Client“ installiert (https://deluge-torrent.org/). Er scheint frei von nerviger Werbung zu sein. Mit ihm war es sehr flott möglich, die 1,7 GB herunterzuladen. Dieses „Image“ kann man dann „Etcher“ (https://etcher.io/) auf eine SD-Karte schreiben. Sobald „Etcher“ dann fertig ist (man sollte sich hier nicht über lustige Windows-Fehlermeldungen des Explorers wundern – auf der SD-Karte werden Partitionen angelegt, mit denen Windows eben nichts anfangen kann) legt man die SD-Karte in den „Pi“ und schaltet ihn an. Die Grundeinstellungen des „Pi“ mache ich gerne direkt am Gerät selbst (also mit am „Pi“ angeschlossenem Bildschirm und Tastatur). Hier kann man dann auch schön einstellen, über welche Methoden der „Pi“ dann zu erreichen ist (SSH, VNC…). Die weitere Einrichtung mache ich dann bequem vom großen Rechner aus, von dem ich über SSH auf den „Pi“ zugreife. Früher benötigte man dazu einen zusätzlichen SSH-Client (z.B. Putty). Seit irgendeiner WIN10-Version geht es auch direkt unter Windows. Beim gerade aktuellen Release 1803 von Windows 10 ist der SSH-Client sogar dem Beta-Stadium entwachsen. Nur… wo findet man den? Nein… nicht etwa in der Systemsteuerung unter „Programme und Features“ – sondern in den PC-Einstellungen (…das Zahnrad…), dort unter „Apps“. Hier dann „Optionale Features Verwalten“ auswählen und schon wird der OpenSSH-Client zur Installation angeboten. Mit diesem Client verbindet man sich dann mit dem „Pi“. Dort dann erst mal die Standard-Befehle zum Update / Upgrade:

sudo apt-get update
sudo apt-get upgrade

Nun kann man „Pi-Hole“ installieren:

curl -sSL https://install.pi-hole.net | bash

Während der Installation werden einige Fragen gestellt. In den meisten Fällen ist der Default-Wert richtig, so dass man einfach mit Enter bestätigen kann. An einer Stelle jedoch wird man nach der IP-Adresse des Übergeordneten DNS-Servers gefragt (denn… „Pi-Hole“ muss die Anfrage nach der Prüfung ja weiterreichen). Hier kann man die IP der FritzBox eingeben – oder gleich einen anderen DNS-Server verwenden (ChaosComputerClub, Quad9 oder andere). Am Ende der Installation erscheint ein Hinweisfenster. Dort ist das generierte Admin-Kennwort für die Pflege der Benutzeroberfläche zu lesen. Erstens hat es bei mir sowieso nicht funktioniert – und zweitens… warum nicht gleich ein persönliches Kennwort setzen? Das macht man mit:

sudo pihole -a -p

„Pi-Hole” ist nun im lokalen Netz zu erreichen. Wenn man „Pi-Hole“ die IP 192.168.178.99 zugewiesen hat, gibt man im Internetbrowser also „192.168.178.99/admin“ ein. Und sollte so was sehen:

Über den Button „Login“ kann man sich dann anmelden und einige Dinge einstellen. Die wichtigsten Block-Lists sind bereits hinterlegt und aktiv. Nun muss man sich noch darum kümmern, dass die DNS-Anfragen auch wirklich bei „Pi-Hole“ landen (und nicht mehr direkt z.B. von der FritzBox verarbeitet werden). Klar, man kann in den Netzwerkeinstellungen der jeweiligen Endgeräte die IP des „Pi-Hole“-Rechners eintragen. Aber das wäre – finde ich – zu viel Arbeit. Wieder einmal finde ich die FritzBox toll! Denn hier kann man in den Netzwerkeinstellungen der FritzBox DIREKT eine lokale IP für den DNS-Server für Anfragen aus dem eigenen Netz eintragen. Das bedeutet, dass jedes Gerät, dass seine IP-Einstellungen über DHCP erhält, automatisch „Pi-Hole“ verwenden wird! Und: JA! Es funktioniert. Und nun füllt sich das Query-Log und es macht Spaß, einfach mal zuzusehen, was sich da so alles tut.

Fazit
Aktuell habe ich noch keine Einschränkungen feststellen können. SEHR positiv fällt mir auf, dass einige Webseiten nun ganz frei von Werbung sind. Im Gegensatz zu „Ad-Blockern“ scheint diese Lösung besser zu sein. Denn einige Seiten, die sich normalerweise mit einem im Browser aktiven AdBlocker nicht aufrufen lassen, laufen mit dem „Pi-Hole“ einwandfrei (…nur eben ohne Werbung…). Also… aktuell möchte ich nicht mehr darauf verzichten!