Mit dem Pi-hole einen Werbeblocker für das gesamte lokale Netz einrichten

Pi-hole – Das Schwarze Loch für Werbung im Internet
Pi-hole – Das Schwarze Loch für Werbung im Internet

Ich habe mal wieder ein neues Tool in das lokale Netzwerk eingebunden. Im letzten Jahr hatte ich ja das gesamte lokale Netz auf UniFi umgestellt und dadurch unter anderem einen viel besseren Überblick bekommen was im Netzwerk so los. Die Anzahl der Geräte, die mit dem Internet verbunden sind, steigt ja ständig und so sind hier inzwischen ca. 35 bis 40 Geräte ständig mit dem Internet verbunden. Diese habe ich je nach Anwendung gruppiert und eigene VLANs definiert. Neben dem ohnehin getrennten Gastnetz gibt es also VLANs für VoIP-Telefonie, für die Büro-Rechner, Smarthome-Geräte, etc. Über Firewall-Regeln ist dann definiert ob und in welcher Richtung sich die Geräte sehen dürfen – oder eben nicht. Ein feine Sache.

Weitere Filter, z.B. für Werbung oder als Kindersicherung gab es bisher nicht, oder wenn dann nur direkt auf den jeweiligen Geräten. Entsprechende Werbeblocker-Plugins wie Adblock Plus oder uBlock Origin nutzen ja sicher viele von Euch. Diese verrichten sehr zuverlässig ihren Job und machen insbesondere Websites mit vielen Werbebannern und Trackern nutzbarer und sicherer. Der Nachteil: Sie funktionieren nur in dem Browser oder auf dem Gerät, in dem das Plugin installiert ist.

Werbung und Tracker finden sich aber nicht nur auf Websites, sondern beispielsweise auch in vielen Smartphone-Apps. Auch Software auf dem PC oder auf Smart-TVs sowie Streaming-Boxen wie Apple TV oder Fire TV spielen Werbung aus oder setzen Tracker ein. Hier ist aber der Einsatz von Werbeblockern in der Regel gar nicht möglich. Und an dieser Stelle setzt nun der Pi-hole an. Auf den bin ich erst kürzlich in einem UniFi-Forum aufmerksam geworden und habe mir das Ding mal näher angesehen – Und kurzerhand eingerichtet.

Was ist der Pi-hole?

Die Pi-hole Webadmin-ConsoleDer Pi-hole ist ein Filter, der Werbung oder Tracker direkt im lokalen Netzwerk blockt. Umgesetzt wird das über die DNS-Auflösung. Hinter jeder Domain-Adresse verbirgt sich ja eine IP-Adresse und im Domain Name System (DNS) sind diese Verknüpfungen hinterlegt. Beim Aufruf einer Website fragt der Router also zunächst diese Informationen bei einem öffentlichen DNS-Server ab und gibt diese an den Browser zurück, damit dieser dann den Webserver kontaktieren kann. Meist ist das der DNS-Server des Zugangsproviders, sehr gerne wird aber auch der Google-DNS 8.8.8.8 verwendet. Genauso funktioniert die DNS-Auflösung natürlich bei allen anderen Domain-/IP-Basierten Internet-Anwendungen.

Der Pi-hole übernimmt nun die Aufgabe der DNS-Auflösung und gleicht vor der Weitergabe an die öffentlichen DNS-Server die anforderte Domain-Adresse mit den internen Filterlisten ab. Aktuell sind in den Filterlisten über 120.000 Domainnamen eingetragen, die Werbung ausliefern oder den User/das Gerät tracken. Steht eine Domain auf einer der Filterlisten, dann gibt der Pi-hole einfach seine eigene lokale IP-Adresse zurück. Und der im Pi-hole integrierte kleine Webserver liefert dann auf Anfrage eine leere Antwort. Anstelle eines Werbebanners erscheint somit auf der Website einfach gar nichts.

Der Pi-hole ist also ein kleiner DNS-Server, der einfach auf einem Raspberry Pi installiert wird und mittels Filterlisten Werbung und Tracker blockiert. Im Router muss man dazu einfach nur die lokalen IP-Adresse vom Pi-hole als DNS-Server eintragen. Fertig. Klingt einfach und ist es eigentlich auch.

Der größte Vorteil des Pi-hole ist, dass dieser Werbung und Tracker für alle Devices im gesamten lokalen Netz blockieren kann. Und zwar ohne, dass man dafür auf den einzelnen Geräten irgendetwas installieren oder konfigurieren muss.

Der Name Pi-hole setzt sich übrigens aus „Raspberry Pi“ und „Black hole“ zusammen. Sozusagen das Schwarze Loch für Online-Werbung. Den Namen mag ich übrigens.

Was benötigt man?

Zunächst benötigt man natürlich den kleinen Bastel-Computer Raspberry Pi, am besten mit einem passenden Gehäuse. Dazu eine 16GB Micro-SD-Karte und ein USB-Netzteil, dass mindestens 2,4A liefert. Es gibt auch komplette Starter-Kits, die alles Notwendige enthalten. Vorteil an den Starter-Kits ist, dass auf der Micro-SD bereits das RasPi Installations-Programm NOOBS vorinstalliert ist. Also einfach zusammenbauen und loslegen.

Naja fast. Zumindest für die Erstinstallation benötigt man noch einen Monitor oder Fernseher mit HDMI-Anschluss und eine USB-Tastatur. Wenn der der RasPi einmal eingerichtet ist, benötigt man Monitor und Tastatur nicht mehr. Man verbindet sich einfach von einem beliebigen PC per SSH auf die Konsole. Am einfachsten geht das mit PuTTY (Bitte nicht erschrecken – Ja, das ist die offizielle Website..!).

Auf der Raspberry-Pi-Website gibt es viele Anleitungen was genau zu tun ist, ich will jetzt hier nicht näher darauf eingehen. Es ist aber wirklich einfacher als es sich anhört. Und es macht Spaß. Installieren sollte man übrigens die aktuellste Version von Raspbian ohne Desktop auch Raspbian Stretch Lite genannt. Diese steht auch bei der Installation über NOOBS zur Auswahl.

Ich habe übrigens das ganz neue Modell 3B+ gewählt, das Vorgänger-Modell reicht aber auch völlig. Ein Gehäuse und alles andere hatte ich noch hier noch in der Schublade liegen.

Natürlich kann man auf auch auf einem bereits vorhandenen RasPi zusätzlich Pi-hole installieren. Ratsam ist aber, einen RasPi ausschließlich für diese neue Aufgabe zu verwenden. Der Pi-hole soll ja nicht durch andere Anwendungen oder Dienste versehentlich zur Bremse für das gesamte lokale Netz werden, weil dieser die DNS-Auflösung nicht schnell genug ausführen kann.

Pi-hole installieren

Wenn der RasPi eingerichtet ist und optimalerweise bereits eine feste IP-Adresse hat (entweder über den Router zugewiesen oder direkt auf dem RasPi konfiguriert) dann muss man nur einen Befehl auf der Konsole eingeben, um die Installation auszuführen:

curl -sSL [URL=https://install.pi-hole.net]https://install.pi-hole.net[/URL] | bash

Während der Installation muss man noch ein paar Dinge festlegen, aber in der Regel kann man die vorausgewählten Optionen einfach bestätigten. Nach Abschluss der Installation bekommt man die Adresse des Web-Interfaces sowie das zugehörige Passwort angezeigt. Wenn alles geklappt hat dann, dann sollte man den Pi-hole über die Adresse

[URL=http://pi.hole/admin]http://pi.hole/admin[/URL]

aufrufen können. Das was man dort einsehen kann bzw. einstellen kann, sollte zum größten Teil selbsterklärend sein. Damit wäre der erste Teil erledigt und der Pi-hole sollte einsetzbar sein.

Pi-hole verwenden

Konfiguration in der FRITZ!BoxNachdem die Installation abgeschlossen ist, müssen die Geräte im Netzwerk – bzw. im einfachsten Fall nur der Router – natürlich wissen, dass ab jetzt nur noch der Pi-hole als DNS-Server verwendet werden soll. Falls Ihr also bei Euren Geräten bisher keine gesonderte DNS-Konfiguration vorgenommen habt (wovon ich ausgehe), dann genügt es in der Tat, nur im Router diese Einstellung vorzunehmen. Als primären/bevorzugten DNS-Server gebt Ihr dann also die IP-Adresse Eures Pi-holes an. Der sekundäre/alternative DNS-Server kann leer bleiben oder man trägt dort als Backup einen öffentlichen DNS-Server wie den Google DNS 8.8.8.8 oder den ganz neuen Cloudflare DNS 1.1.1.1 ein.

Konfiguration eines Netzwerks im UniFi ControllerIn meiner UniFi-Umgebung hatte ich diese Einstellung für den ersten Test zunächst nur für einzelne VLANs vorgenommen, dann aber doch recht schnell komplett umgestellt. Also nicht nur für die einzelnen Netzwerke/VLANs, sondern auch bei den WAN-Einstellungen des USG, sodass wirklich die gesamten DNS-Abfragen über den Pi-hole laufen. Bisher konnte ich noch keine Probleme feststellen. Der Pi-hole läuft zuverlässig und stabil.

Einblicke und Statistiken

Auf dem Dashboard des Web-Interfaces sieht man eine Zusammenfassung der letzten 24 Stunden. Interessant sind vor allem die Gesamtzahl der DNS-Abfragen (hier aktuell ca. 45.000 - 50.000) und die Anzahl der geblockten Abfragen (ca. 10.000) aus der sich eine Blockquote von aktuell ca. 20% ergibt.

Diese hohe Quote hätte ich ehrlich gesagt so nicht erwartet. Vor allem wenn man bedenkt, dass immer noch alles funktioniert. Kein Gerät hat bisher seinen Dienst verweigert, keine App meckert und natürlich funktionieren auch alle Websites noch immer wie bisher. In Firefox und Chrome habe ich übrigens weiterhin uBlock Origin im Einsatz. Hier wird immer noch Einiges zusätzlich gefiltert. Die Algorithmen eines AdBlocker-Plugins erkennen ja noch ganz andere Muster, als nur einen reinen Domainnamen auf einer Blacklist.

Im Query Log erhält man dann noch weitere Einblicke die DNS-Abfragen. Wirklich interessant, welche Geräte da im Hintergrund so nach draußen kommunizieren wollen. Und natürlich kann man aus dem Query Log einzelne Einträge direkt in eine eigene Blacklist oder Whitelist übernehmen.

Filterlisten

Derzeit verwende ich nur die mitgelieferten Filterlisten, die übrigens einmal pro Woche automatisch aktualisiert werden. Darin sind aktuell gut 120.000 Domains eingetragen. Weitere Filterlisten kann man einfach im Web-Interface eintragen. Quellen dafür gibt es viele. Auf GitHub wurde eine umfangreiche Sammlung von Filterlisten zusammengetragen.

Upstream DNS-Server

Der Pi-hole hat natürlich selber keine vollständige Datenbank aller weltweit existieren Domains, sondern benötigt die Angabe von sogenannten Upstream DNS-Servern, also DNS-Server an die er die DNS-Abfragen weiterleitet, wenn die abzufragende Domain nicht auf einer der Filterlisten steht.

Im Web-Interface kann man dazu eine Reihe von vordefinierten öffentlichen DNS-Servern (Google, OpenDNS, Quad9, und noch ein paar andere) auswählen oder auch zwei eigene DNS-Server (z.B. die vom Zugangsprovider) eintragen. Ich habe aktuell alle ausgewählt und zusätzlich die beiden neuen Cloudflare DNS-Server eingetragen, da diese aktuell noch nicht in der Liste der vordefinierten Server stehen.

Die neuen Cloudflare-DNS-Server legen laut eigener Aussage sehr viel Wert auf Privacy und sollen die beste Performance haben. Beim Blick in die 24h-Statistik kann ich das bis jetzt sogar bestätigen. Die Cloudflare-Server verarbeiten die meisten Anfragen meines Pi-holes. Eine interessante Alternative also zum beliebten Google Public DNS. Ich werde das jetzt mal eine Weile beobachten und dann vermutlich nur noch die Cloudflare-Server nutzen.

Welche Möglichkeiten gibt es noch?

Der Pi-hole fungiert nun also als DNS-Server im gesamten lokalen Netz für alle angeschlossenen Geräte gleichwertig. Ein getrennte Zuweisung von Filterlisten für einzelne IP-Bereiche oder MAC-Adressen ist aktuell leider (noch?) nicht möglich.

Prinzipiell ließe sich der Pi-hole durch weitere Filterlisten ja auch als Kindersicherung oder Ähnliches einsetzen. Hierzu wäre dann aber nach aktuellem Stand ein weiterer Pi-hole notwendig, den man dann mit den entsprechenden Filterlisten ausstattet. In meinem UniFi-System wäre es damit z.B. möglich, für eines der Netzwerke/VLANs einen weiteren Pi-hole einzusetzen, der dann andere bzw. zusätzliche Filterlisten verwendet. Mal sehen, was die Zukunft bringt...

Update August 2018

Pi-hole v4.0 kombiniert mit Unbound als Allround-DNS-Lösung

Kürzlich wurde die Pi-hole Version 4.0 veröffentlicht. Dabei wurde insbesondere der integrierte DNS-Resolver – der FTLDNS (Faster Then Light DNS) – optimiert. Aber auch die Möglichkeiten für die Anbindung der Upstream-Server wurde erweitert. So ist es nun möglich zusätzlich den lokalen DNS-Server Unbound zu betreiben, der dann als eigener Upstream-Server fungiert.

Ich habe meinen Pi-hole also nun auf das nächste Level gehoben und somit die Sicherheit erhöht und den Privacy noch etwas erhöht. Wie funktioniert das Ganze nun?

Pi-hole mit externem Upstream-Server

In der Standard-Konfiguration leitet der Pi-hole alle Anfragen, die nicht auf einer Blocklisten stehen, an den oder die hinterlegten externen Upstream-Server (Google, Cloudflare, Provider, etc.) weiter. Der Ablauf ist dann wie folgt:

  • Der Client fragt den Pi-hole: „Welche IP-Adresse hat example.com?“
  • Der Pi-hole schaut im Cache nach und antwortet, falls die Adresse bereits bekannt ist.
  • Der Pi-hole schaut in die Blocklisten und antwortet, falls die Domain geblockt ist.
  • Wenn weder 2. oder 3. zu einer Antwort geführt haben, leitet der Pi-hole die Anfrage an den oder die konfigurierten Upstream-Server weiter.
  • Der Upstream-Server antwortet mit der IP-Adresse für example.com.
  • Die Antwort des Upstream-Servers leitet der Pi-hole dann an den Client weiter.
  • Der Pi-hole speichert die Antwort im Cache, um bei Bedarf schneller antworten zu können, wenn ein anderer Client dieselbe Domain anfragt.

Das ist der normale Ablauf. Alle DNS-Abfragen werden also an einen Upstream-Server weitergegeben und man muss darauf vertrauen, dass dieser eine korrekte Antwort zurück liefert. Dabei könnte der Betreiber dieses Upstream-Servers speichern, welche Adressen alle von Deinem lokalen Netz angefragt werden und somit eine Art Profiling betreiben.

Pi-hole mit Unbound als lokalem Upstream-Server

Hier kommt nun der lokale DNS-Server Unbound ins Spiel. Wenn dieser eingerichtet ist, dann übernimmt dieser die Aufgabe des Upstream-Servers. Das Alleine hätte nun noch keinen Vorteil, denn dieser muss ja auch irgendwo die Domains abfragen. Unbound ist aber ein rekursiver DNS-Server, daher ist der Ablauf ist nun etwas anders:

  • Der Client fragt den Pi-hole: „Welche IP-Adresse hat example.com?“
  • Der Pi-hole schaut im Cache nach und antwortet, falls die Adresse bereits bekannt ist.
  • Der Pi-hole schaut in die Blocklisten und antwortet, falls die Domain geblockt ist.
  • Wenn weder 2. oder 3. zu einer Antwort geführt haben, leitet der Pi-hole die Anfrage an den lokalen rekursiven DNS-Server Unbound weiter.
  • Der rekursive DNS-Server fragt den DNS-Root-Server: „Wer ist für die TLD .com zuständig?“
  • Der DNS-Root-Server antwortet mit der Liste der zuständigen DNS-Server für die TLD .com.
  • Der rekursive DNS-Server fragt einen dieser TLD-DNS-Server für .com: „Wer ist für example.com zuständig?“
  • Der TLD-DNS-Server ​antwortet mit der Liste der autoritativen DNS-Server für example.com.
  • Der rekursive DNS-Server fragt einen dieser autoritativen DNS-Server: „Welche IP-Adresse hat example.com?“
  • Der autoritative DNS-Server antwortet mit der IP-Adresse für example.com.
  • Der rekursive DNS-Server leitet die Antwort an den Pi-hole weiter.
  • Die Antwort des rekursiven DNS-Servers leitet der Pi-hole dann an den Client weiter.
  • Der Pi-hole speichert die Antwort im Cache, um bei Bedarf schneller antworten zu können, wenn ein anderer Client dieselbe Domain anfragt.

Der große Unterschied ist nun, dass die Anfragen immer vom autoritativen Nameserver der jeweiligen Domain beantwortet werden. Das erhöht zum Einen die Sicherheit, eine korrekte Antwort zu erhalten und sorgt gleichzeitig dafür, dass die Anfragen verteilt werden, sodass kein Nameserver alle Anfragen erhält und somit der Datenschutz ein wenig erhöht wird.

Die vielen Schritte über Root-Server, TLD-Server und autoritativen Server führen externe Upstream-Server wie Google oder Cloudflare genauso aus, allerdings haben diese natürlich einen viel größeren Cache, der dann als Geschwindigkeits-Vorteil beworben wird. Wir bewegen uns hier aber im Millisekundenbereich, der kaum ins Gewicht fallen sollte. Dieser ist also eher mess- als spürbar.

Was aber sehr wohl spürbar ist, ist was die Blocklisten wegfiltern. Insbesondere bei großen Nachrichtenseiten bei denen teilweise hunderte von externen Domains kontaktiert werden, ist das natürlich deutlich spürbar.

Die Kombination aus Pi-hole und Unbound ist also eine Allround-DNS-Lösung für das lokale Netzwerk.

Weitere Infos/Quellen:

Fazit nach vier Monaten mit dem Pi-hole

Die Pi-hole Webadmin-Console 4.0Den Pi-hole habe ich nun seit gut vier Monaten im Einsatz. Er verrichtet immer noch absolut zuverlässig seinen Dienst. Inzwischen habe ich die Blocklisten sogar noch weiter ergänzt, sodass ich nun fast 2,5 Millionen Domains in den Blocklisten habe.

Dabei komme ich aktuell trotz zusätzlich aktivierter AdBlocker in den Browsern auf eine Blockquote von 30-40%. Probleme konnte ich bisher trotzdem keine feststellen. In der manuellen Whitelist befinden sich nur ein paar Handvoll Domains, die sich angesammelt haben. Das sind z.B. einige URL-Shortener oder ein paar Domains die ich persönlich trotzdem für vertrauenswürdig halte.

Den Einsatz eines Pi-holes kann ich also nach wie vor uneingeschränkt empfehlen.

Die Pi-hole Webadmin-Console
Die Pi-hole Webadmin-Console
Konfiguration in der FRITZ!Box
Konfiguration in der FRITZ!Box
Konfiguration eines Netzwerks im UniFi Controller
Konfiguration eines Netzwerks im UniFi Controller
Die Pi-hole Webadmin-Console 4.0
Die Pi-hole Webadmin-Console 4.0
Bisher 23 Kommentare
  1. bruno jennrich

    bruno jennrich

     

    13. April 2018, 10:17 Uhr

    nice!

  2. Laura

    Laura

     

    4. Mai 2018, 23:22 Uhr

    Wenn der Pi-Hole denn mal richtig Programiert wird dann könnte er Toll sein, ist er aber nicht!

    in einem reinen IPv4 Netzwerk macht die Software nichts, da wird nichts gefiltert die anfragen werden Stumpf an den Router weitergeleitet. Der Pi-Hole leitet dann IPv6 Anfragen Stump ohne Überprüfung an den Router weiter.

    Eine kleine Option auf der Konfigurationsseite im Webmanagement vom Pi-Hole mit der Option IPv6 Anfragen weiterleiten
    An | Aus (diese möglichkeit gibt es nicht) Mein Pi-Hole hat schon keine IPv6 Adresse mehr, Anfragen werden trotzdem weitergereicht wie Toll.

    Momentan muss ich Client seitig alles was eine IPv6 Verbindung aufbaut davon abhalten, z.B. der Firefox der Standart mäßig erst eine IPv6 Verbindung aufbaut und wenn das gelingt dieses auch weiterhin benutzt.

    oder das Problem mit der Verbindung nach wpad.*

    Der Pi-Hole ist eher ein Bug-Hole nur das die Bugs nicht Verschwinden sondern enstehen.

  3. Thomas Mielke

    4. Mai 2018, 23:24 Uhr

    @Laura: Das klingt mir aber eher so, als wäre bei Dir etwas falsch konfiguriert. Grundsätzlich sollte der Router ja gar nicht als DNS-Server/Relay agieren, sondern dieser sollte ebenfalls alle Anfragen an den Pi-Hole stellen.

    Was hast Du denn überhaupt für einen Internet-Zugang? Läuft der auf IPv4 oder IPv6, oder kann der beides? Du schreibst, dass Du ein reines IPv4 Netzwerk hast, dann sollte IPv6 im Pi-hole eigentlich gar nicht aktiviert werden. Wenn Du ein reines IPv4-Netzwerk hast, dann solltest Du auf den Clients wenn möglich natürlich auch IPv6 deaktivieren.

    Führe am besten Mal ein ein Re-Configure mit diesem Befehl aus

    pihole -r

    und aktiviere dann nur IPv4. Falls das anschließend immer noch nicht funktioniert, kannst Du in die Datei /etc/pihole/pihole-FTL.conf folgendes eintragen (falls die Datei nicht existiert dann bitte neu anlegen):

    AAAA_QUERY_ANALYSIS=no

    Anschließend den Service neu starten:

    sudo service pihole-FTL restart

    Danach sollten im Query-Log keine IPv6-Einträge mehr auftauchen. Wichtig ist natürlich auch, dass im Router als DNS-Server auch der Pi-hole eingetragen ist.

  4. Friedbert

    Friedbert

     

    2. Juli 2018, 12:22 Uhr

    Hallo mich würde interessieren ob du eine Lösung für Speedport-Nutzer siehst. Bei den Speedports kann man den DNS Eintrag nämlich nicht editieren.
    Viele Grüße
    Friedbert
    p.s. Fritzbox kaufen ist keine Lösung

  5. Thomas Mielke

    2. Juli 2018, 13:48 Uhr

    @Friedbert: Wenn Du keine Möglichkeit hast, den DNS im Router zentral einzustellen, dann kannst Du das leider nur auf allen Geräten manuell machen.

  6. Thomas

    Thomas

     

    11. Juli 2018, 00:51 Uhr

    Den DHCP-Server des Pi-holes verwenden und den DHCP-Server im Speedport abschalten. Voilà, jetzt verteilt das Pi-hole die DNS-Informationen an die Clients. :-)

  7. Oli

    Oli

     

    16. August 2018, 10:17 Uhr

    Hey Thomas,
    ich hab bei mir das selbe System am laufen. Ich hab da mal ein paar fragen bzgl. deiner config.
    1. Hast du bei Pi-hole den DHCP laufen? oder geht das auch ohne?
    2. wie hast du den WAN umgeleitet? bei mir zeigt er auf die Fritzbox.

  8. Thomas Mielke

    16. August 2018, 10:19 Uhr

    @Oli: Nein, den DHCP-Server auf den Pi-hole habe ich deaktiviert. Erstens sehe ich nicht welchen Vorteil mir das bringen würde und zweitens habe ich über mein UniFi-System mehrere VLANs eingerichtet, die verschiedene IP-Bereiche/Netze haben und somit auch verschiedene DHCP-Bereiche. Das wäre mit dem Pi-hole gar nicht abzubilden.

    Der Pi-hole fungiert als reiner DNS-Server für das gesamte lokale Netz, das bedeutet ich habe – wie oben im Artikel beschrieben – im Router (bzw. in meinem UniFi-System) die IP-Adresse des Pi-hole als DNS-Server eingetragen.

  9. Tom

    Tom

     

    18. August 2018, 22:56 Uhr

    Pi-Hole ist wirklich ein tolles Projekt. Aber wenn man doch schon den Pi-Hole verwendet um Tracker- und Werbenetzwerke abzuwehren, dann macht es aus meiner Sicht absolut keinen Sinn einen DNS Server von Google einzutragen. Viele sind sich leider gar nicht im klaren, was DNS Requests von ihnen alles preisgeben. Es empfiehlt sich hier viel mehr öffentlich DNS Server zu verwenden, die keine Anfragen mitprotokollieren wie z.B. die DNS Server vom Chaos Computer Club oder Digitalcourage e.V. - siehe auch: https://www.kuketz-blog.de/dns-unzensierte-und-freie-dns-server-ohne-protokollierung/

  10. Thomas Mielke

    18. August 2018, 23:13 Uhr

    @Tom: Da gebe ich Dir völlig recht. Mit der aktuellen Version 4.0 des Pi-hole kann man den Datenschutz und die Sicherheit sogar noch etwas erhöhen. Zusammen mit Unbound, einem rekursiven DNS-Server benötigt man gar keinen öffentlichen DNS-Server. Unbound wird zusätzlich auf dem Pi-hole installiert und fungiert dann als Upstream DNS Server. Unbound macht im Grunde nichts anderes wie öffentliche DNS-Server auch: Er leitet die DNS-Requests jeweils an die autoritativen Nameserver der jeweiligen Domain weiter und speichert das Ergebnis in einem Cache zwischen. Damit wird zum Einen der Datenschutz erhöht, aber auch die Sicherheit einer korrekten DNS-Auflösung. Ich bin leider noch nicht dazu gekommen, meinen Blog-Artikel entsprechend zu ergänzen.

  11. Christoph

    Christoph

     

    23. August 2018, 15:51 Uhr

    Habe seit heute auch pi-hole in nutzung aber als docker container
    und ein vpn client im Router aktiv.
    So kann man in pi-hole den dns server des vpn anbieters einstellen und schon läuft alles über den vpn anbieter aber mit zusätzlichem Filter...

  12. John

    John

     

    23. August 2018, 20:42 Uhr

    Hallo, geht das auch mit ads über https oder wie kann man das einrichten? da müsste pihole ja auch das Zertifikat haben und ka ob das sicher wäre...
    https nimmt ja zu bei websites....sonst wäre pihole irgendwann nutzlos...

  13. Thomas Mielke

    23. August 2018, 22:52 Uhr

    @John: Wenn Du meinen Blog-Artikel gelesen hättest, dann wüsstest Du, dass das nichts mit https oder sonstwas zu tun hat. Der Pi-hole fungiert als DNS-Server und prüft lediglich die reine Domain. Das ist völlig unabhängig vom verwendeten Protokoll, vom Port, vom Dienst, noch von der URL... Wenn Dir das Verständnis dafür fehlt, dann ist der Pi-hole wohl eher nichts für Dich.

  14. Johannes

    Johannes

     

    2. September 2018, 14:59 Uhr

    Vielen Dank für diesen sehr informativen Artikel. Ich habe nach der Anleitung ohne Vorkenntnisse erfolgreich ein Pi-hole System eingerichtet. Seit einigen Wochen läuft das Ganze mit durchschnittlicher Block-Rate > 40%. Ich verwende die Blocklisten aus der Standard-Installation. Die Anzahl geblockter Domains liegt bei ca. 134K Domains. Darf ich fragen, welche Blocklisten Du ergänzt hast, um auf 2.5 Mio geblockte Domains zu kommen?

  15. Thomas Mielke

    2. September 2018, 23:46 Uhr

    @Johannes: Ich habe im Prinzip nur alle Listen von hier eingetragen (sowie noch ein paar kleine deutschsprachige Listen). Allerdings sollte man zusätzlich die dort angegeben Hinweise zum Whitelisting beachten.

  16. Christian

    Christian

     

    7. September 2018, 07:17 Uhr

    Ein sehr interessanter und ausführlicher Bericht über den pi-hole. Vielen Dank!
    Ich habe gestern meinen eigenen pi-hole installiert. Natürlich direkt die neuste Version 4.0. Was ich nun noch nicht verstehe, muss ich zusätzlich was für Unbound recursive DNS installieren? Oder kommt das mit der aktuellen Version alles mit?
    Zudem habe ich den pi-hole als DNS Server an der FritzBox nicht im Menü Internet/Zugangsdaten sondern unter Heimnetzwerk/Netzwereinstellungen hinterlegt.
    Können Sie einmal die weitere wichtige Einstellungen posten? Und ggf. die nötigen Setupbefehle für Unbound, sofern notwendig.

    Meine Konfig ist:
    FritzBox: InternetZugangsdatenDNS: "vom Provider übermittelt"
    FritzBox: HeimnetzwerkNetzwereinstellungDNS: pi-hole IP
    pi-hole: primär DNS Server: FritzBox IP

    es läuft alles, aber ist das so richtig?

    Gruß
    Christian

  17. Thomas Mielke

    7. September 2018, 07:56 Uhr

    @Christian: Unbound muss gesondert installiert werden. Oben im Artikel ist die Anleitung zur Installation verlinkt. Im Prinzip muss man einfach nur das Paket installieren:

    sudo apt install unbound

    Eventuell muss die

    /etc/unbound/unbound.conf.d/pi-hole.conf

    noch geringfügig angepasst werden. Wenn Inbound läuft und funktioniert, dann muss dieser nur noch in den Einstellungen der Upstream-Server des Pi-hole als Custom 1 (IPv4) eingetragen werden:

    127.0.0.1#5353

    Und natürlich müssen auch alle anderen vorkonfigurierten Upstream-Server deaktiviert werden.

    Bezüglich Deiner FritzBox-Konfiguration: Du musst unter InternetZugangsdatenDNS die Pi-hole IP eintragen (siehe auch Screenshot oben im Artikel). In der Pi-hole Konfiguration hat die FritzBox-IP allerdings nichts zu suchen. Falls Du Unbound installierst, dann siehe oben, ansonsten muss dort entweder einer oder mehrere der vorkonfigurierten Upstream-Server ausgewählt werden oder unter Custom die DNS-IP Deines Providers eingetragen werden.

  18. Christian

    Christian

     

    28. September 2018, 12:59 Uhr

    Friedbert:
    Kann man beim Speedport in den DHCP Settings nicht den zu vergebenden Bereich, die Lease-Time etc einstellen? Dann kann man dort doch sicher auch einstellen, welcher DNS an die Clients kommuniziert werden soll.
    Dann kann der Upstream DNS am Router selbst unverändert bleiben, da die Clients sowieso den Pi nehmen. Vom PiHole aus kann dann auch ruhig wieder der eigene Router als Upstream DNS angegeben werden, oder eben einer der anderen öffentlichen Alternativen (Cloudflare, google, etc pp) da von den Clients alle Anfragen eh erst an den PiHole gestellt werden.

    Die Konfiguration an allen Clients manuell vorzunehmen ist zwar eine Möglichkeit, jedoch recht umständlich und ineffektiv, nicht zuletzt bei einer großen Anzahl von Clients. Mobile Clients (Handys etc.) bspw. würden dann größtenteils aussen vor bleiben.

    Falls alles nichts hilft: Es muss ja auch keine FritzBox sein. Im Zweifelsfall, wenn man den Speedport unbedingt behalten will, schaltet man noch einen weiteren Router mit den entsprechenden Konfigurationsmöglichkeiten dazwischen (da gibt es recht günstige, TP-Link Archer C2 bspw.).

    Thomas: Tolle Site, tolle und auch für Laien gut verständliche Artikel. Freue mich, über die Seite gestolpert zu sein.
    Frage an dich: Hast du Erfahrungen mit dem PiHole im Unternehmensnetzwerk? Virtualisierter Server mit Ubuntu wäre kein Thema, alles andere läuft mit Windows 2012 R2.... ich bin der Meinung dass es reibungslos klappen sollte, aber würde da gerne eine zweite Meinung haben von jmd der evtl bereits Erfahrungen damit gemacht hat.
    Gerne auch per Email!

    Viele Grüße,

    Christian

  19. Thomas Mielke

    28. September 2018, 13:27 Uhr

    @Christian: Ich habe hier leider (oder zum Glück) keinen Speedport bei dem ich das testen könnte. Grundsätzlich sollte das aber möglich sein, eine eigenen DNS-Server zu hinterlegen. Die Clients nutzen ja in der Regel den Router als DNS-Server und somit dann indirekt den Pihole. Diese zentrale Lösung ist ja gerade das geniale bei der Nutzung des Pihole,

    Eine Trennung zwischen Unternehmensnetzwerk und und Privatanwendung würde nicht gar nicht so streng ziehen. Der Übergang ist ja fließend. Ich betreibe ja quasi auch ein „Unternehmensnetzwerk“ mit diversen Geräten (PCs, Server, Mobilgeräte, Multimedia, Smarthome, VoIP, etc.) in verschiedenen IP-Bereichen und VLANs. Der Pihole verrichtet da einwandfrei seinen Dienst. Für die Geräte im Netz macht es ja keinen Unterschied, wer die DNS-Auflösung übernimmt.

  20. Josef

    Josef

     

    1. Oktober 2018, 17:29 Uhr

    Hallo Thomas!
    Hast Du Unbound mit DNSCrypt 2.0 oder DNS-Over-HTTPS installiert?

    Du schreibst u.a.
    "Eventuell muss die /etc/unbound/unbound.conf.d/pi-hole.conf
    noch geringfügig angepasst werden."

    # Ensure privacy of local IP ranges
    private-address: 192.168.0.0/16 - ändern auf mein Netzwerk, z.b. 192.168.1.0 oder 192.168.2.0 usw.
    private-address: 169.254.0.0/16 - kann ich wegglassen?
    private-address: 172.16.0.0/12 - kann ich wegglassen?
    private-address: 10.0.0.0/8 - drinnen lassen für mein PiVPN vpn interface
    private-address: fd00::/8 - kann ich wegglassen, kein ipv6
    private-address: fe80::/10 - kann ich wegglassen, kein ipv6

    Viele Grüße
    Josef

  21. Thomas Mielke

    1. Oktober 2018, 18:04 Uhr

    @Josef: Ich habe Unbound mit DNSCrypt installiert. Bei der Konfiguration von Unbound habe ich mich im Prinzip an diese Anleitung gehalten. Soweit ich mich erinnere habe ich lediglich IPv6 deaktiviert:

    # May be set to yes if you have IPv6 connectivity
    do-ip6: no

    Die kompletten IP-Bereiche der möglichen privaten/lokalen IP-Adressen habe so drin gelassen:

    # Ensure privacy of local IP ranges
    private-address: 192.168.0.0/16
    private-address: 172.16.0.0/12
    private-address: 10.0.0.0/8
  22. Josef

    Josef

     

    1. Oktober 2018, 18:55 Uhr

    DNSCrypt oder DNSCrypt 2?

  23. Thomas Mielke

    1. Oktober 2018, 19:03 Uhr

    @Josef: DNSCrypt 2.0

Dein Kommentar?

Menschlich? Dann gib bitte die 5 Zeichen genau so ein, wie Du sie in der Grafik lesen kannst. Keine 5 Zeichen? Erzeuge einfach einen neuen Code.

Gravatar:

Wenn Du möchtest, dass Dein Bild neben Deinem Kommentar erscheint, dann melde Dich einfach bei Gravatar an.

Nutzungshinweise:

Dein Kommentar erscheint nicht automatisch, sondern wird erst nach einer Prüfung manuell freigeschaltet. Ich behalte mir vor alle Kommentare zu löschen, die

  • rassistische, sexistische oder gewaltverherrlichende Inhalte haben,
  • zu kriminellen Aktionen aufrufen oder diese verteidigen,
  • beleidigende Inhalte besitzen,
  • Werbung für Dritte darstellen oder deren Inhalte einem Link auf fremde Angebote gleichkommt.