Pi-hole: Einrichtung und Konfiguration mit Fritz!Box - AdBlocker Teil1

Ursprünglich veröffentlicht: https://www.kuketz-blog.de/pi-hole-einrichtung-und-konfiguration-mit-fritzbox-adblocker-teil1/

1. Werbe- und trackerfrei Mittlerweile dürfte jeder den Einplatinencomputer Raspberry Pi kennen. Mit dem kleinen Computer im Scheckkartenformat lassen sich verschiedene Projekte realisieren. Eines davon ist der Pi-hole, mit dem sich Werbung und Tracker auf allen Geräten im (Heim-)Netzwerk ausblenden/blockieren lassen. Der vorliegende Artikel bildet den Auftakt zu einer Artikelserie, in der verschiedene AdBlocker-Lösungen vorgestellt werden. Wir beginnen mit Pi-hole, der in Kombination mit einer Fritz!Box, einer weit verbreiteten Routerlösung von AVM, konfiguriert wird. Der Fokus liegt dabei auf einer einfachen Konfiguration, die leicht aktualisiert werden kann und sich an Anfänger und Fortgeschrittene richtet. 2. Was wir erreichen wollen Dies ist…

9 „Gefällt mir“

Danke für deinen tollen Beitrag, der kommt genau zur richtigen Zeit, da ich tatsächlich gerade heute Pi-Hole auf meinem Raspberry Pi 400 in Kombi mit meiner Fritz!Box 7530 einrichten wollte.

Eigentlich habe ich alles soweit umgesetzt, bin mir aber teilweise noch etwas unsicher, zum Beispiel bei der Abfrage der inet6 Adresse(n):

ifconfig | grep inet6
inet6 fd00::xxx:xxx:xxx:xxx prefixlen 64 scopeid 0x0
inet6 fe80::xxx:xxx:xxx:xxx prefixlen 64 scopeid 0x20
inet6 ::1 prefixlen 128 scopeid 0x10

Ist es richtig, dass mir sowohl eine fd00, als auch noch eine fe80 angezeigt werden?
Ist der inet6 ::1 Eintrag zu vernachlässigen?

In der Pi-Hole-Doku zur Fritz!Box bin ich über die Filterregeln ganz unten gestolpert ( DNS Anfragen nur vom Pi-hole erlauben).

Ein Test mit

dig google.com @8.8.8.8 +short

auf dem Pi-Hole (Macbook-Terminal verbunden mit dem Raspberry Pi 400 per SSH) wirft wie erwartet eine IP-Adresse zurück:

216.58.206.46

Der gleiche Test ohne SSH Verbindung zum Pi-Hole wirft aber exakt die gleiche IP-Adresse zurück und nicht den erwarteten Fehler:

;; communications error to 8.8.8.8#53: host unreachable

Warum bekomme ich keine Fehlermeldung?

Danke vorab und viele Grüße

Kann ich dir nicht sagen. Der Teil „Optional: DNS Anfragen nur vom Pi-hole erlauben“ ist in meiner Anleitung überhaupt nicht enthalten.

Nimm die fd00-IPv6-Adresse. Die fd80-Adresse ist eine Link-Local-Unicast-Adresse.

Folgende Anmerkungen habe ich falls sie für den ein oder anderen Interessant sind:

  1. Wer die properitären Komponenten von Raspberry Pi OS umgehen will, kann auf Debian pur zurückgreifen: https://raspi.debian.net
    Funktioniert bei mir tadellos

  2. Die in 6.3 genannten Schritte zu „Use Conditional Forwarding“ sind IMHO nicht notwendig, wenn die Fritzbox eh als Upstream für den pihole konfiguriert ist. Sie ist nur relevant, wenn den upstram direkt fragt aber man trotzdem lokale Namensauflösung über die Fritzbox haben möchte. Wenn man das hat kann man über die Oberfläche leider sein IPv6 Netz nicht mit angeben. Für Forward look ups (also z.b. hosta.fritz.box) ist das nicht notwendig aber wenn man auch reverse lookups für seine IPv6 Adressen haben will. Dies kann man beheben, wenn man auf dem pi.hole in /etc/dnsmasq.d eine neue Datei anlegt und dort folgende Zeilen ergänzt:
    rev-server=fe80::0/64,fe80::464e:xxxx:xxxx:623e
    rev-server=fd66::0/64,fd66::464e:xxxx:xxxx:623e
    Die IPs eurer FritzBox und euer IPv6 Netz entsprechend anpassen.

  3. Im Fazit hwurde ja schon die fortgeschrittene Version mit unbound angeteasert. Ich möchte einen Askpekt anbringen, warum dies aus meiner Sicht sinnvoll ist, falls darauf dann nicht sowieso noch eingegangen wird.
    Wenn man nämlich die Upstream DNS Server auf welche aus der Empfehlungsecke aus Datenschutzgründen ändert, kann es passieren, dass man ungewöhnlich geringe Datenraten bei Downloads oder stockende Streams bei manchen Anbietern bemerkt. Ich hatte das und es hat mich Zeit gekostet, das in Verbindung mit DNS zu bringen.
    Der Grund ist, das viele Anbieter und große CDNs auf DNS based Loadbalacing setzen. D.h. wenn man einen Stream startet und der von irgeneinem *.akamai.net geladen wird, dann erfolgt zunächst eine DNS Auflösung und die IP die der Authtorative Nameserver von Akamai zurückgibt, richtet sich nach der IP des DNS Resolvers, der dies angefragt hat.
    Wenn man seine Standard Provider DNS Resolver nutzt, haben die oft eine Public IP die geographisch nahe zu der ist, die auch dein Anschluss hat. Wenn man jetzt aber z.B. die DNS Server der Digitalen Gesellschaft aus der Empfehlungsecke konfiguriert, hat man das Problem, das CDN Anbieter IP Adressen zurückgeben die für diesen DNS Server in der Schweiz zwar gut sind für dich in DE aber nicht. Ob und wie stark es sich dann negativ auf deine Geschwindigkeit auswirkt hängt dann natürlich noch von anderen Faktoren ab. Wie ausgelastet sind die Server, wie gut ist das peering dahin, etc.
    Große Anbieter wie Google haben das mit Features wie ECS offenbar einigermaßen im Griff so dass man da diese Probleme nicht hat.
    Wenn man jetzt aber ein lokales Unbound betreibt, hat man den Vorteil, dass die Public IP dines DNS Server immer die selbe wie die deines Internetanschlusses ist und damit funktioneirt DNS Based Loadbalancing dann auch ideal.
    Nachteil ist natürlich dass die Anfragen vom Unbound an die Authorativen NAmesrver unverschlüsselt sind und dein Provider diese damit überwachen könnte. Aber da hat der eh viele Möglichkeiten.
    Ich empfehle dann auf dem pi.hole mit unbound dann die IPv6 Privacy Extensions zu aktivieren, damit die IPv6 Anfragen nicht immer von der selben eindeutigen IPv6 IP kommen. Das ist bei Debian nicht standardmäßig aktiviert.

  4. ggf. Unattended Upgrades aktivieren: https://wiki.debian.org/UnattendedUpgrades
    Muss man für sich prüfen ob man das will. Ich habe es eingeschaltet

2 „Gefällt mir“

Ich habe lediglich einen Desktop-PC mit MX Linux + ein Pixel 6a mit GOS + Netguard.

=> Mir als „Laien“ stellt sich daher folgende Verständnisfrage:

Wenn ich das Browser-Addon uBlock nutze: Worin liegt dann der Mehrwert des Pi-hole? Die Nutzung von uBlock o.ä. wird im Kapiel 8 ja ausdrücklich empfohlen. Hat Filtern auf DNS-Ebene Vorteile gegenüber Blocken im Browser?

Filtert zum Beispiel Werbe- oder Tracking-Domains, die Apps aufrufen - da kommt ein Browser-Addon nicht ran. Selbiges gilt auch für Hardware wie Smart-TVs.

Ich habe die Frage zu allgemein formuliert: Ich habe mich gefragt, was könnte MIR PERSÖNLICH ein Pi-hole noch bringen. Logisch, das kann am Ende nur ich selbst beantworten/entscheiden.

Auf dem Smartphone erhoffe ich mir von Netguard ausreichend Schutz vor Werbung und Tracking auch bei den Apps, die nicht Browser sind.

Bei Linux-Anwendungen weiss ich - ehrlich gesagt - gar nicht, ob dass da ein großes Thema ist. Klar, für diejenigen, die z.B. die Spotify-Desktop-App herunterladen, ist das natürlich ein Thema. Für Youtube-Videos nutze ich am Desktop das Programm FreeTube, gelegentlich nutzte ich auch mal Spotify über den Webbrowser.

Smart-TV ist allerdings ein gutes Argument, das ich nicht so im Hinterkopf hatte: Ich nutze aktuell kein TV-Streaming; aber das könnte sich vielleicht, irgendwann in naher Zukunft noch ändern.

Danke für den tollen Beitrag!

Im Grunde gut für alle Geräte die im Netzwerk hängen und keinen eigenen Schutz haben.

Handys ohne Firewall, Smart TVs, Tablets ect.

Ich möchte bei der Kombination von Pi Hole und Fritzbox, noch auf die Möglichkeit einer VPN Verbindung mit WireGuard hinweisen.

Dadurch kann man den Schutz unterwegs von überall auf der Welt genießen.

Auf den unbound Beitrag bin ich gespannt.
Das fehlt mir auch noch.

Als Ergänzung: Fortgeschrittene können sich mehr Unabhängigkeit verschaffen, indem auf externe DNS-Server vollständig verzichtet wird. Die ursprüngliche Anleitung stammt von Tschaeggaer (@bummelstein) und wird von @Tealk auf Codeberg betreut/bereitgestellt.

3 „Gefällt mir“

Habe deinen Beitrag mit Interesse gelesen, du hattest vor Jahren, glaube ich, schon mal eine ältere Anleitung die ich mal nutzte.

P-Hole lief lange Zeit problemlos bei mir, bis irgendwann mal was zerschossen wurde. Seitdem bin ich ohne unterwegs und überlege mir das mal neu aufzusetzen.

@kuketzblog Magst du hier oder in der Anleitung mal dazuschreiben, was passiert wenn der Pi-Hole ausfällt? Ich würde Pi-Hole gerne mit nem hohen „WAF“ einrichten, nix wäre schlimmer als dass das Internet komplett ausfällt und Frau mit Kindern alleine zuhause ist. :sweat_smile:

Kann man die ganze Konfiguration so einrichten, dass es eine Fallback-Lösung gibt und das Internet „mit Werbung“ ganz normal funktionert wenn der Pi offline ist?

1 „Gefällt mir“

Einfach bei der Fritte nen zweiten DNS hinterlegen.

1 „Gefällt mir“

„Bei der Dritte“? Was meinst du genau?

Hab’s mal korrigiert, geht um die Fritzbox, du kannst ja mehrere DNS Server eintragen und der zweite sollte greifen wenn der erste nicht erreichbar ist.

Ich habe mal eine Prinzip-Frage dazu:
Ich nutze einen Adguard Home (der ja quasi dasselbe wie ein PiHole ist) mit einer Fritzbox.
Da ich hier ein paar Gerätschaften habe, wo ich nicht manuell den DNS-Server ändern kann und weil ich im Adguard gerne sehen will, welches Gerät welche Anfrage losschickt, habe ich die Fritzbox auf den Adguard zeigend konfiguriert und der Adguard zielt mit DoH auf einen nicht protokollierenden DNS Upstream.
Die meisten Geräte habe ich dann auch auf den Adguard als DNS Server ausgerichtet und der Rest landet halt bei der Fritzbox (eben als Restesammler).
Seht Ihr da einen Nachteil?

Das oben beschriebene verstehe ich nicht so ganz.
Einserseits soll der Pihole die Fritzbox als Upstream nutzen, andererseits "Fritz!Box ist als lokaler DNS-Server unter IPv4-Einstellungen die IPv4-Adresse des Pi-hole (192.168.50.5) konfiguriert ", Liest sich wie eine Schleife.

Das wäre bei diesem Setup schlecht. Ist der Pi-hole weg, muss der DNS manuell auf die Fritz!Box oder einen anderen DNS-Server umgebogen werden.

Das ist keine Schleife. Das gilt für die Clients im Netzwerk, die per DHCP die Informationen übermittelt bekommen, nicht für die Fritz!Box.

@kuketzblog Funktioniert das dann so? Also mit dem zweiten DNS? Ich meine den Hinweis von @Tealk

Hab’s mal korrigiert, geht um die Fritzbox, du kannst ja mehrere DNS Server eintragen und der zweite sollte greifen wenn der erste nicht erreichbar ist.

Nein. Das ist ein Fallback für die Upstream-DNS-Server, die in meinem Setup via DoT von der Fritz!Box angefragt werden. Das hat mit dem Pi-hole nichts zu tun.

Also kann man als Kurzfassung sagen: Das was ich mir wünsche, also das Internet funzt wenn der Pi aus ist, das wird nicht funktionieren? @kuketzblog

Was wären denn die möglichen Maßnahmen, um das zu beheben?
Verstehe ich es richtig?:

Reicht es, den Lokalen DNS-Server auf der Fritz!Box zu ändern?

Heimnetz >> Netzwerk >> Netzwerkeinstellungen >> IPv4-Einstellungen >> Lokaler DNS-Server:

Hier dann statt der Pi-Hole IP die der Fritz!Box eingeben?

Müsste zusätzlich noch etwas angepasst werden?

Unter

Internet >> Zugangsdaten >> DNS-Server

sind ja bereits die bevorzugten/alternativen Upstream DNS hinterlegt.

Eine kurze Notfall-To-Do-Checkliste was zu tun ist, wenn das Pi-Hole/der Raspberry Pi ausfällt wäre nicht schlecht. Zumindest für mich.

Danke vorab und VG

1 „Gefällt mir“

Einfach die IP-Adresse des Pi-hole unter Netzwerk → IPv4-Adressen unter:

Wenn Sie einen anderen DNS-Server in Ihrem Heimnetz verwenden möchten, tragen Sie hier dessen IP-Adresse ein, damit die FRITZ!Box diese den Geräten im Heimnetz bekannt gibt.

entfernen. Dann wird an die Clients die IP-Adresse der Fritz!Box als DNS-Server verteilt.

2 „Gefällt mir“