Kurz gesagt: Am Ende fragt jedes Gerät in deinem Heimnetz Pi-hole statt die FritzBox, über IPv4 und über IPv6, und auch die Gäste im Gastnetz laufen durch den Filter. Drei Stellen in der FritzBox, zwei Einstellungen in Pi-hole, rund 30 Minuten, Stufe Einsteiger. Stand: Pi-hole 6.4.3, FRITZ!OS 8.20, geprüft am 07-09-2026.
FritzBox auf Pi-hole in drei Schritten: IPv4 per DHCP, IPv6 per ULA, Gastnetz über die Zugangsdaten
Der ganze Weg auf einen Blick: Schritt 2 ist der, den die meisten auslassen, und dann bleibt die Werbung.

Pi-hole läuft, das Dashboard zeigt null Anfragen. Das ist der Normalzustand nach der Installation, denn bis jetzt weiß nur Pi-hole selbst, dass es existiert. Alle anderen Geräte fragen weiter die FritzBox, weil die FritzBox es ihnen so gesagt hat. Diese Anleitung dreht das um.

Bei der FritzBox sind es drei Stellen statt einer, und das hat einen Grund, den AVM nirgends erklärt: Die FritzBox verteilt den DNS-Server für IPv4 an einer Stelle, für IPv6 an einer zweiten, und fürs Gastnetz gar nicht. Wer nur die erste Stelle umstellt, hat nachher ein halbes Pi-hole. Die Pi-hole-Doku hat dafür eine eigene FritzBox-Seite, und die ist die Grundlage für alles, was hier steht.

DHCP? Der Empfangstresen deines Netzes. Jedes Gerät, das sich anmeldet, bekommt dort einen Zettel: deine Adresse, dein Ausgang ins Internet, und wen du fragst, wenn du einen Namen wie sakis.tech in eine Adresse übersetzen willst. Den letzten Punkt trägt die FritzBox bisher mit sich selbst ein. Du änderst den Zettel, und beim nächsten Anmelden bekommt jedes Gerät den neuen.
Handy, Laptop, TV→ fragt →Pi-hole→ Werbung: 0.0.0.0 / Rest →Upstream (z. B. Quad9)
Gast im Gastnetz→ fragt →FritzBox→ reicht weiter →Pi-hole→Upstream

Kann man Pi-hole auf der FritzBox installieren?

Nein, und die Frage ist trotzdem berechtigt, weil sie so oft gestellt wird. FRITZ!OS ist ein geschlossenes System: Einen Weg, eigene Software auf die Box zu bringen, sieht AVM nicht vor, keinen App-Store, keine Shell. Pi-hole braucht deshalb ein eigenes Gerät im Heimnetz, das durchläuft, und die FritzBox lernt nur, ihm die DNS-Fragen zu schicken. Genau dieser zweite Teil ist dieser Beitrag.

Für das eigene Gerät gibt es drei übliche Wege, und zwei davon haben hier ihre eigene Anleitung: ein Raspberry Pi oder ein anderer kleiner Linux-Rechner mit dem Installationsskript von Pi-hole, ein Container per Docker Compose auf einem Rechner, der ohnehin läuft, oder ein LXC-Container auf Proxmox. Egal welcher: Am Ende hat Pi-hole eine feste IPv4-Adresse, und mit der geht es unten weiter.

Fritz Hole: Die FritzBox bekommt einen eigenen Filter

Seit August 2026 gibt es eine zweite Antwort auf die Frage oben, und sie heißt in der Community „Fritz Hole": Mit FRITZ!OS 8.50 baut AVM einen DNS-Filter direkt in die Box, der Sperrlisten wie die von HaGeZi einliest und Werbe-Domains für alle Geräte ins Leere schickt, Gastnetz inklusive. Das ist kein Pi-hole auf der FritzBox, sondern ein abgespeckter Verwandter ohne Protokoll und ohne Regeln pro Gerät, und er steckt Stand 21-09-2026 noch in der Laborversion. Wer nur Werbung loswerden will und kein Dashboard braucht, kommt damit ohne Zusatzgerät aus; wie das geht, steht in Fritz Hole einrichten. Wer Pi-hole schon hat oder wissen will, welches Gerät nachts telefoniert, bleibt hier, und für den gilt: nicht beides gleichzeitig. Fragen deine Geräte Pi-hole, sieht der Filter der Box die Anfragen nie.

Was du brauchst, bevor du die FritzBox anfasst

  • Ein laufendes Pi-hole mit fester IPv4-Adresse. Egal ob Raspberry Pi, Docker oder LXC auf Proxmox. Fest heißt: Die Adresse ändert sich nach einem Neustart nicht, sonst zeigen nachher 30 Geräte ins Leere.
  • Das FritzBox-Passwort und einen Browser. Alle Klicks passieren unter http://fritz.box.
  • Für IPv6: einen Zugang zur Shell des Pi-hole, per SSH oder über die Konsole deines Hosts. Es ist ein einziger Befehl, aber ohne ihn kennst du die Adresse nicht, die du eintragen musst.
  • Zehn Minuten, in denen niemand im Haus etwas Dringendes im Internet erledigt. Der Umstieg selbst dauert Sekunden; wenn du dich vertippst, hat die Familie so lange kein Internet, bis du es merkst. Und es ist immer die Minute, in der gerade jemand ein Videotelefonat führt.
So liest du diese Anleitung: Alles, was du selbst tun sollst, steht in einem farbigen Kasten. [ per klick ] heißt: Das erledigst du mit der Maus in einer Web-Oberfläche, hier die FritzBox unter fritz.box oder das Pi-hole-Dashboard. [ über die shell ] heißt: Den Befehl kopieren, ins Terminal einfügen, Enter. Stehen beide Kästen direkt untereinander, führen sie zum selben Ergebnis. Du gehst EINEN davon, nicht beide.

Ob Pi-hole bereit ist, prüfst du von deinem PC aus, bevor du in der FritzBox irgendetwas änderst. Der Befehl fragt Pi-hole direkt, an der FritzBox vorbei:

nslookup doubleclick.net 192.168.178.53
Server:  192.168.178.53
Address: 192.168.178.53#53

Name:    doubleclick.net
Address: 0.0.0.0

Die Null-Adresse ist Pi-holes Antwort für gesperrte Domains. Kommt stattdessen ein Timeout, ist Pi-hole nicht erreichbar, und dann hilft dir keine FritzBox-Einstellung. Diese Werte benutze ich im ganzen Beitrag; ersetze sie durch deine:

  • FritzBox (Router, DHCP-Server): 192.168.178.1, Heimnetz: 192.168.178.0/24, lokale Domain: fritz.box
  • Pi-hole, IPv4: 192.168.178.53
  • Pi-hole, IPv6 (ULA, bei dir anders): fd00::1a2b:3c4d:5e6f:7890
  • Gastnetz der FritzBox: 192.168.179.0/24, die FritzBox heißt dort 192.168.179.1

Schritt 1: IPv4, die Stelle, die jeder findet

Hier trägst du Pi-hole als DNS-Server ein, den die FritzBox per DHCP verteilt. Danach fragt jedes Gerät Pi-hole direkt, und Pi-hole sieht jedes Gerät mit eigener Adresse. Das ist die Variante, die die Pi-hole-Doku als erste nennt, und die einzige, bei der du später im Dashboard siehst, dass der Fernseher nachts 4.000 Mal nach Hause telefoniert.

Ein Teil der Felder ist in der Standardansicht der FritzBox versteckt. Darum zuerst die Ansicht umschalten, und die Namen der Knöpfe gelten für FRITZ!OS 8.20; AVM benennt gelegentlich um, aber die Seite bleibt dieselbe.

Auf http://fritz.box anmelden. Unten links steht Ansicht: Standard; einmal darauf klicken, dann steht dort Erweitert. Jetzt links Heimnetz → Netzwerk → Reiter Netzwerkeinstellungen. Nach unten scrollen, weitere Einstellungen aufklappen und den Knopf IPv4-Einstellungen (in älteren Versionen IP-Adressen, dann IPv4-Konfiguration) drücken. Im Abschnitt Heimnetz beim DHCP-Server steht das Feld Lokaler DNS-Server. Dort 192.168.178.53 eintragen und Übernehmen.

Die FritzBox meldet keinen Erfolg, sie zeigt nur die Seite wieder an. Die Kontrolle machst du an einem Gerät, und zwar erst nach einem Trick: Die Pi-hole-Doku schreibt, dass Clients Änderungen an den DHCP-Einstellungen erst bemerken, wenn ihr Lease erneuert wird. Beim Handy heißt das WLAN aus und wieder an, beim Laptop dasselbe oder einmal das Netzwerkkabel ziehen. Dann auf dem Laptop:

nslookup doubleclick.net
Server:  192.168.178.53
Address: 192.168.178.53#53

Name:    doubleclick.net
Address: 0.0.0.0

Derselbe Befehl wie vorhin, nur ohne die Adresse am Ende: Diesmal hat der Laptop selbst entschieden, wen er fragt, und die erste Zeile verrät, dass es Pi-hole war; Windows zeigt dort manchmal den Namen pi.hole statt der Adresse. Steht dort noch 192.168.178.1, hat das Gerät den neuen Zettel noch nicht abgeholt. Im Pi-hole-Dashboard taucht das Gerät ab jetzt unter Query Log mit seiner eigenen IP auf. Der erste Eintrag dort ist ein kleiner Moment; nimm ihn mit.

Schritt 2: IPv6, die Stelle, an der die Werbung wiederkommt

Jedes moderne Gerät spricht IPv6, und die FritzBox verteilt dafür einen zweiten DNS-Server, unabhängig vom ersten: sich selbst. Ein Handy mit zwei DNS-Servern fragt gern den, der schneller antwortet, und dann läuft ein Teil deiner Anfragen an Pi-hole vorbei. Im Pi-hole-Forum ist das der Klassiker: Im März 2023 meldete jemand, dass nach einem FritzBox-Update die Werbung zurück war, obwohl auf den Geräten Pi-hole eingetragen stand. Moderator Bucking_Horn fand die Ursache in genau dieser Einstellung: Die FritzBox verteilte sich selbst als DNSv6-Server.

ULA? Eine IPv6-Adresse nur fürs Haus, erkennbar am Anfang fd. Die öffentliche IPv6-Adresse deines Pi-hole wechselt bei vielen deutschen Anbietern jede Nacht, weil der Provider das Präfix neu vergibt. Eine ULA ist die Hausnummer im Flur: Sie bleibt, egal was draußen auf dem Straßenschild steht. Darum trägst du in der FritzBox die ULA von Pi-hole ein und nicht die öffentliche Adresse.

Zuerst sorgst du dafür, dass die FritzBox überhaupt ULAs vergibt, dann liest du die ULA des Pi-hole aus, dann trägst du sie ein.

Wieder Heimnetz → Netzwerk → Netzwerkeinstellungen → weitere Einstellungen, diesmal der Knopf IPv6-Einstellungen. Im Abschnitt Unique Local Addresses die Option Unique Local Addresses (ULA) immer zuweisen wählen und Übernehmen.

Jetzt braucht Pi-hole selbst so eine Adresse. Die Pi-hole-Doku sagt dazu, dass der Pi-hole-Server dafür kurz vom Netzwerk getrennt oder neu gestartet werden muss. Danach in der Shell des Pi-hole:

ip address | grep "inet6 fd"
    inet6 fd00::1a2b:3c4d:5e6f:7890/64 scope global dynamic mngtmpaddr

Die Adresse zwischen inet6 und dem Schrägstrich ist deine ULA. Kommt keine Zeile zurück, hat Pi-hole noch keine bekommen: Neustart, eine Minute warten, noch einmal. Ich würde die Adresse jetzt in die Zwischenablage kopieren und nicht abtippen; ein vertauschtes Zeichen und die Geräte fragen ins Leere.

Auf derselben Seite IPv6-Einstellungen nach unten zum Abschnitt DNSv6-Server im Heimnetz. Den Haken bei DNSv6-Server auch über Router Advertisement bekanntgeben (RFC 5006) setzen, ins Feld Lokaler DNSv6-Server die ULA fd00::1a2b:3c4d:5e6f:7890 eintragen, Übernehmen.

Der Haken ist der Teil, den die Pi-hole-Doku ausdrücklich empfiehlt: Ohne ihn erfahren nur Geräte per DHCPv6 vom neuen Server, mit ihm auch alle, die sich ihre Adresse selbst ausdenken, und das sind Android-Handys. Kontrolle wieder am Gerät nach WLAN aus und an. Unter Windows:

ipconfig /all | findstr /i "DNS-Server"

Unter Linux mit systemd:

resolvectl status | grep "DNS Servers"
       DNS Servers: 192.168.178.53 fd00::1a2b:3c4d:5e6f:7890

Beide Adressen gehören Pi-hole. Steht dort noch eine Adresse der FritzBox, meist eine mit fe80:: am Anfang, hat das Gerät den alten Eintrag behalten; Neustart des Geräts hilft. Ab jetzt sind die IPv6-Anfragen im Query Log sichtbar, und die Werbung, die vorhin noch durchkam, ist weg.

Schritt 3: Das Gastnetz, wo die FritzBox nicht mit sich reden lässt

Das Gastnetz hat kein Feld für den DNS-Server. Die Pi-hole-Doku sagt es in einem Satz: Die FritzBox wird immer ihre eigene IP als DNS-Server des Gastnetzes einstellen. Kein Feld, kein Haken, nur dieser Satz. Ich hätte das Feld gern; AVM sieht das anders. Der Umweg: Du sagst der FritzBox, wen sie fragt, wenn jemand sie fragt. Das ist die dritte Stelle, und sie liegt unter Internet, nicht unter Heimnetz.

Links Internet → Zugangsdaten → Reiter DNS-Server. Bei DNSv4-Server die Option Andere DNSv4-Server verwenden wählen und in Bevorzugter DNSv4-Server UND Alternativer DNSv4-Server jeweils 192.168.178.53 eintragen. Darunter bei DNSv6-Server ebenso Andere DNSv6-Server verwenden, in beide Felder die ULA fd00::1a2b:3c4d:5e6f:7890. Übernehmen.

Beide Felder mit derselben Adresse, weil die FritzBox sonst beim kleinsten Schluckauf auf den Alternativ-Server ausweicht, und der wäre dann ein ungefilterter. Bevor das Häkchen sitzt, eine Sache prüfen, die die Doku als Warnung druckt: Pi-hole darf jetzt nicht die FritzBox als Upstream haben. Sonst fragt die FritzBox Pi-hole, Pi-hole fragt die FritzBox, und beide warten aufeinander wie zwei Leute an einer Tür. Was Pi-hole als Upstream hat, siehst du so:

Im Pi-hole-Dashboard links Settings → DNS. Oben im Bereich Upstream DNS Servers darf kein Haken bei 192.168.178.1 stehen und im Feld Custom DNS servers darf sie nicht eingetragen sein (Stand Pi-hole 6.4). Falls doch: Haken raus, einen öffentlichen Anbieter wie Quad9 anhaken, Save & Apply.

pihole-FTL --config dns.upstreams
[ 9.9.9.9, 149.112.112.112 ]

Steht in der Liste 192.168.178.1, ist es der Kreis. Die Kontrolle für das Gastnetz selbst: Handy ins Gast-WLAN, irgendeine Seite öffnen, dann im Pi-hole-Dashboard ins Query Log schauen. Die Anfragen stehen dort, aber als Client steht 192.168.179.1, die FritzBox. Das ist kein Fehler, das ist die Einschränkung: Aus Sicht von Pi-hole kommen alle Gäste als ein einziges Gerät, und im Gastnetz kannst du deshalb nicht pro Gerät filtern. Im Forum läuft dazu seit 2020 ein Thread, und die Antwort hat sich in sechs Jahren nicht geändert.

Die ersten Einstellungen: drei Dinge, die jetzt noch fehlen

1. Conditional Forwarding in Pi-hole. Pi-hole kennt ab jetzt jedes Gerät, aber nur als Zahl. Die Namen, also Sakis-Handy statt 192.168.178.34, kennt die FritzBox, weil sie das DHCP macht. Mit dieser Einstellung fragt Pi-hole für alles, was in deinem Heimnetz liegt, bei der FritzBox nach dem Namen und behält den Rest für sich. Ohne sie ist das Query Log eine Zahlenkolonne, mit ihr steht dort, welches Gerät nachts telefoniert. Die drei Werte stehen so in der Pi-hole-Doku für die FritzBox.

Settings → DNS, oben rechts den Schalter von Basic auf Expert. Ganz unten der Kasten Conditional forwarding mit drei Feldern: das Heimnetz in CIDR-Schreibweise 192.168.178.0/24, die Adresse des DHCP-Servers 192.168.178.1, die lokale Domain fritz.box. Dann Save & Apply (Stand Pi-hole 6.4).

pihole-FTL --config dns.revServers '["true,192.168.178.0/24,192.168.178.1,fritz.box"]'

Kontrolle: Im Query Log stehen nach ein paar Minuten Namen statt Zahlen. Das ist kein Kreis, obwohl es so aussieht: Pi-hole schickt nur die Rückwärtsfragen nach lokalen Adressen an die FritzBox, nicht die nach Domains im Internet. Bucking_Horn erklärt im Forum, dass es für ULAs einen zweiten Eintrag bräuchte, damit auch IPv6-Geräte Namen bekommen; ich würde damit warten, bis dich die Zahlen im Log wirklich stören.

2. Eine Ausnahme im DNS-Rebind-Schutz. Die FritzBox unterdrückt Antworten von außen, die eine Adresse aus deinem Heimnetz enthalten, ein sinnvoller Schutz gegen eine bestimmte Angriffsart. Seit Schritt 3 kommt für sie aber jede Antwort „von außen“, nämlich von Pi-hole, auch die für den Namen pi.hole, der auf 192.168.178.53 zeigt. Bucking_Horn hat die Ausnahme schon 2020 im Forum empfohlen und dazu gesagt: Wer nur Schritt 1 nutzt, braucht sie nicht, sie schadet aber auch nicht.

Heimnetz → Netzwerk → Netzwerkeinstellungen, Abschnitt DNS-Rebind-Schutz. In das Textfeld für die Ausnahmen darunter die Zeile pi.hole eintragen, Übernehmen.

Kontrolle vom Laptop aus: nslookup pi.hole liefert 192.168.178.53. Kommt „Non-existent domain“, hat der Schutz zugeschlagen.

3. Die Adresse von Pi-hole in der FritzBox festnageln. Feste IP auf dem Pi-hole ist die eine Hälfte. Die andere: Die FritzBox soll diese Adresse nie an ein anderes Gerät vergeben, auch nicht, wenn Pi-hole gerade aus ist und ein neues Handy nach einer Adresse fragt. Ohne das ist es eine Frage der Zeit, bis zwei Geräte dieselbe Adresse haben und Pi-hole jede zweite Anfrage verliert.

Heimnetz → Netzwerk → Reiter Netzwerkverbindungen. In der Liste den Pi-hole-Eintrag suchen und rechts den Stift (Bearbeiten) anklicken. Den Haken bei Diesem Netzwerkgerät immer die gleiche IPv4-Adresse zuweisen setzen, OK.

Kontrolle: In der Liste steht neben dem Pi-hole ab jetzt ein Hinweis auf die feste Zuweisung, und die Adresse bleibt 192.168.178.53.

Wo es mit der FritzBox erfahrungsgemäß klemmt

Die Werbung ist auf einem Gerät noch da, auf den anderen weg. Fast immer das Lease-Problem aus Schritt 1. Die Pi-hole-Doku nennt es ausdrücklich, und die FritzBox vergibt ihre Leases lange; ein Handy, das seit zwei Wochen im WLAN hängt, fragt so lange die alte Adresse, bis du es neu verbindest. WLAN aus, WLAN an, fertig. Bei Windows danach noch ipconfig /flushdns, damit auch der Zwischenspeicher leer ist; im Setup-Thread des deutschen Pi-hole-Forums ist das der Standard-Hinweis seit 2018.

Die Werbung ist überall wieder da, ohne dass du etwas geändert hast. Im Thread von März 2023 kam sie nach dem Update auf FRITZ!OS 7.50 zurück, obwohl auf den Geräten Pi-hole eingetragen war. Die Ursache saß in Schritt 2: Als DNSv6-Server stand die FritzBox selbst. Ob das Update den Wert zurückgesetzt hat oder er nie gesetzt war, klärt der Thread nicht. Der erste Blick geht deshalb nach jedem FritzBox-Update auf diese Seite.

Im Query Log steht nur fritz.box als Client. Dann laufen alle Anfragen über Schritt 3 und keine über Schritt 1: Die FritzBox reicht weiter, und Pi-hole sieht nur sie. Das passiert, wenn das Feld Lokaler DNS-Server leer geblieben ist oder die Geräte ihren Lease noch nicht erneuert haben. Beides in Schritt 1 nachsehen; die Doku beschreibt diese Sicht auf die Dinge als Eigenschaft der zweiten Variante, nicht als Fehler.

„DNS-Rebind-Schutz hat Anfrage abgewiesen“ in der FritzBox-Ereignisliste. Nicht reflexartig Pi-hole verdächtigen. Im Thread von Februar 2023 stellte sich heraus, dass die Meldung von einer öffentlichen Domain kam, die auf die eigene FritzBox zeigte; Pi-hole war unbeteiligt. Erst die Ausnahme pi.hole prüfen, dann nachsehen, welcher Name die Meldung auslöst.

Reicht Schritt 1, oder brauchst du alle drei?

Schritt 1 und 2 immer, Schritt 3 nur mit Gastnetz. So würde ich es entscheiden, und der Weg dorthin ist kurz: Schritt 1 allein lässt IPv6 offen, und das ist bei jedem Handy ein Loch, durch das die Hälfte der Werbung passt. Schritt 3 ohne 1 und 2 macht aus deinem Netz das, was das Gastnetz zwangsläufig ist: ein einziges Gerät namens FritzBox, ohne Namen, ohne Gruppen, ohne die Möglichkeit, dem Fernseher andere Regeln zu geben als dem Laptop.

Und wer die Gäste nicht filtern will, lässt Schritt 3 weg und spart sich damit auch die Rebind-Ausnahme. Ich würde ihn trotzdem gehen. Ein Gast, der sich im Gast-WLAN über die fehlende Werbung wundert, ist die beste Werbung für Pi-hole, die es gibt.

Welche der drei Stellen hat bei dir am längsten gedauert, und hast du IPv6 beim ersten Anlauf gleich mitgemacht oder erst, als die Werbung zurückkam? Und falls deine FritzBox die Knöpfe anders nennt als hier beschrieben: Schreib die Version und den Namen in die Kommentare, dann trage ich es nach.

Falls Pi-hole bei dir noch gar nicht läuft und ein Proxmox-Server im Keller steht: Pi-hole auf Proxmox als LXC ist das Gegenstück zu diesem Beitrag, und die feste IP aus dessen Schritt 2 ist genau die, die du hier eingetragen hast.

Quellen