PiHole welches Delay ist normal?

sinkpäd

Lt. Commander
Registriert
Aug. 2009
Beiträge
1.600
Nutze seit einigen Monaten einen Pi4 mit PiHole zusammen mit einer Fritzbox 7590, welches auch ohne Probleme seinen Dienst verrichtet hat. Sowohl IPV4 als auch IPV6 werden erfolgreich abgewickelt.

Seit einigen Wochen gönnt sich das Pihole allerdings beim Aufrufen von Websites 1-2 Gedenksekunden bevor die Website dann blitzschnell geladen wird. Das System ist auf dem neusten Stand und ich habe nichts an der Konfig verändert und auch schon einige Reboots gemacht.

Habe nun meine Fritzbox von 7.20 auf 7.21 geupdatet und es ist etwas besser geworden aber das Surfen ist wesentlich schneller, wenn ich am Pihole vorbei direkt beispielsweise den Google DNS nutze.

Ist diese kleine Verzögerung normal und mir ist es vorher nie aufgefallen? Wie kann ich das prüfen oder troubleshooten?
 
Normal ist kein delay.
Quelle: Mein Pi-Hole auf nem Zero.
 
Jap also eig. sollte man Garnichts merken mein PiHole läuft auf nem Pi1.
 
Wenn ein FW-Update auf der Fritzbox gemacht worden ist -> hat dieses Update vielleicht die individuellen Einstellungen für DNS und DHCP nicht mitgezogen, sondern auf Standard-Einstellungen gesetzt? Kannst das ja mal prüfen ...
Hier ist auch kein delay, mein Pihole ist mit unbound auf einen ZeroPi.
 
Wie hast du den Pi-Hole in der Fritzbox als DNS eingetragen? Es bietet sich immer an den Weg über Netzwerk-Netzwerkeinstellungen-IP-Adressen zu gehen.

So gibt der DHCP der Fritzbox die IP des PI-Hole direkt an die Clients weiter. Wenn du es anders einträgst, dann ist die FB der DNS für die Clients und die FB fragt beim Pi-Hole nach.

Aber auch in dem letztgenannten Fall sollte eigentlich keine Verzögerung entstehen.
 
Ich habe jetzt nochmal einen direkten Vergleich gemacht.

Das üble vermutlich durch DNS Timeouts vorherbeschriebene Delay von ca. 2 Sekunden ist jetzt mit Fritz OS 7.21 verschwunden. Im direkten Vergleich Pihole vs. Google direkt ist das Surfverhalten nun gleich.

Es scheint eher etwas mit dem Ladeverhalten der Browser zu tun zu haben. Als würden sie die Websites erst im Hintergrund komplett laden damit sie dann "fertig am Stück" aufpoppen, was eben für eine gute Sekunde für einen weißen Bildschirm sorgt. Scheint mir vorher nie aufgefallen zu sein.

smuper schrieb:
Wie hast du den Pi-Hole in der Fritzbox als DNS eingetragen? Es bietet sich immer an den Weg über Netzwerk-Netzwerkeinstellungen-IP-Adressen zu gehen.

Genau so ist es gemacht, ja.
 
@bumbklaatt :
nochmal komplett zum Verständnis und für das Archiv:

Ist die IPv4-Adresse des Pihole ist bei den Einstellungen es DHCP-Servers in der Fritzbox (Netzwerk -> Netzwerkeinstellungen -> IPv4-Konfiguration -> Lokaler DNS-Server) eingetragen? Ebenso ist in der Fritzbox bei den Einstellungen unter Internet -> Zugangsdaten -> DNS-Server (andere DNSv4-Server verwenden) sowohl bei "bevorzugt" als auch bei "alternativ" die IP-Adresse des Pihole eingetragen? Hast du im Pihole IPv6 aktiviert und in der Fritzbox analog zu den IPv4-Einstellungen die Einstellungen für den DNS-Server auch für IPv6 angepasst? Unter IPv6-Konfiguration -> IPv6-Adressen ist bei "Lokaler DNSv6-Server" die IPv6-Adresse des Pihole eingetragen?

Sofern die Netzwerk-Clients sich ihre IP-Adressen vom DHCP-Server der Fritzbox holen, sind die Einstellungen wie oben beschrieben die richtigen. Wenn den Clients statische Adressen ( immer außerhalb der DHCP-Range!) vergeben werden, ist die IP-Adresse des Standardgateway sowie des DNS-Servers die IP-Adresse der Fritzbox , bei DNS-Server nur einen Einzigen eintragen, keinen alternativen.

Nur so kann man den vollen Funktionsumfang des Pihole nutzen.

Viele Grüße.

Verbesserungsvorschläge sind immer willkommen! (Unbound läuft hier schon mit Pihole.)
 
Zuletzt bearbeitet:
Im Prinzip gibt es zwei denkbare Setups mit einer Fritzbox und einem pihole:

1)
DHCP-Server in der Fritzbox vergibt die IP der Fritzbox als DNS
Fritzbox selbst hat den pihole als lokalen DNS eingetragen
pihole hat als Upstream-DNS zB 8.8.8.8
DNS-Aufrufkette für lokale Namen (*.fritz.box) : Client ---> Fritzbox
DNS-Aufrufkette für externe Namen (öffentliche Domains) : Client ---> Fritzbox ---> pihole ---> 8.8.8.8

2)
DHCP-Server der Fritzbox vergibt die IP des pihole als DNS
lokaler DNS der Fritzbox = Provider-DNS oder zB 8.8.8.8; ist aber weitestgehend irrelevant, weil nicht benutzt
pihole hat als Upstream-DNS zB 8.8.8.8
pihole hat conditional forwarding für fritz.box (DNS-Suffix der Fritzbox) eingetragen
DNS-Aufrufkette für lokale Namen (*.fritz.box) : Client ---> pihole ---conditionalforwarding---> Fritzbox
DNS-Aufrufkette für externe Namen (öffentliche Domains) : Client ---> pihole ---> 8.8.8.8

3)
DHCP-Server der Fritzbox deaktiviert
DHCP-Server des pihole aktiv und vergibt die pihole-ip als DNS
Rest wie 2)


Rein von der Effizienz her sind 2) und 3) am besten, weil die Aufrufkette für öffentliche Domains am kürzesten ist. Dass bei lokalen Namen eine Extra-Runde gedreht und die Fritzbox in zweiter Instanz gefragt wird, ist im lokalen Netzwerk irrelevant. Bei öffentlicen DNS-Requests könnte es im worst case zu einer minimalen Verzögerung kommen, aber ich behaupte mal, dass das maximal messbar, aber nicht spürbar ist.


Wenn man meint, dass pihole langsam reagiert, kann das aber auch an einer überfüllten Filterliste liegen. Es gibt zwar viele Leute, die jede Liste abonnieren, die sie finden können, und keinerlei Einbußen bei der Performance merken, aber es gibt auch Leute, bei denen genau das bei vielen Listen der Fall ist. Es kann also nicht schaden, mal die eigenen Listen-Abos zu prüfen und ggfs aufzuräumen.

Darüber hinaus kann man die Performance eines DNS auch einzig und allein an der Namensauflösung festmachen, ein Seitenaufruf ist dazu NICHT geeignet! Ein DNS ermittelt lediglich die zu einer Domain dazugehörige IP-Adresse, aber er ist in keinster Weise am Aufruf dieser Seite beteiligt, der DNS sieht nicht ein einziges Bit von der Webseite. Ergo darfst du ausschließlich die Namensauflösung benchmarken. Dazu gibt es beispielsweise das Tool namebench, das genau das tut: DNS-Server auf ihre Performance testen. Lade es dir runter und teste mal durch wie schnell google, fritzbox und pihole so auf DNS-Requests reagieren. Behalte dabei aber wie oben angedeutet die Aufrufkette der DNS-Konfiguration im Hinterkopf. Also idealerweise jeweils einmal Fritzbox mit 8.8.8.8 als Upstream-DNS und den pihole mit 8.8.8.8 als Upstream-DNS mit namebench testen, sonst vergleicht man Äpfel mit Birnen.
 
  • Gefällt mir
Reaktionen: Brati23 und omavoss
Danke fürs Nachhaken :)

omavoss schrieb:
Ist die IPv4-Adresse des Pihole ist bei den Einstellungen es DHCP-Servers in der Fritzbox (Netzwerk -> Netzwerkeinstellungen -> IPv4-Konfiguration -> Lokaler DNS-Server) eingetragen?

Ja ist es und zwar von Anfang an.

omavoss schrieb:
Ebenso ist in der Fritzbox bei den Einstellungen unter Internet -> Zugangsdaten -> DNS-Server (andere DNSv4-Server verwenden) sowohl bei "bevorzugt" als auch bei "alternativ" die IP-Adresse des Pihole eingetragen?

Nein, das steht wie default auf "von ISP zugewiesen". Ich habe es bisher nicht für notwendig gehalten, hier das Pihole einzutragen, da den Clients ja vom DHCP die Google DNS Server mitgegeben werden und die Auflösung läuft auch über diese. Ich kann im Dashboard gut erkennen, dass sämtliche Auflösungen über die vier verschiedenen Google Server (2x IPV4 / 2x IPV6) laufen.

omavoss schrieb:
Hast du im Pihole IPv6 aktiviert und in der Fritzbox analog zu den IPv4-Einstellungen die Einstellungen für den DNS-Server auch für IPv6 angepasst? Unter IPv6-Konfiguration -> IPv6-Adressen ist bei "Lokaler DNSv6-Server" die IPv6-Adresse des Pihole eingetragen?

Ja, IPV6 ist konfiguriert und funktioniert.

1602177966651.png

Ergänzung ()

@Raijin Danke für die ausführliche Erklärung, hatte sich mit meinem Post überschnitten.

Ich verwende Modell 2 und werde mir das Tool mal anschauen :)
 
bumbklaatt schrieb:
Nein, das steht wie default auf "von ISP zugewiesen". Ich habe es bisher nicht für notwendig gehalten, hier das Pihole einzutragen, da den Clients ja vom DHCP die Google DNS Server mitgegeben werden und die Auflösung läuft auch über diese. Ich kann im Dashboard gut erkennen, dass sämtliche Auflösungen über die vier verschiedenen Google Server (2x IPV4 / 2x IPV6) laufen.

Nun, da mein Pihole mit Unbound läuft, muss ich da wahrscheinlich etwas verwechselt haben. Hier ist nichts mit Google oder Cloudflare oder sonstwelche DNS-Server; mit Unbound gehen die Anfragen über die DNS-Root-Server (verteilsysteme.net), und das für jede Anfrage auf eine bisher unbekannte URL nur einmal, danach ist die IP-Adresse dieser URL im DNS-Cache von Unbound gespeichert. Jede weitere Anfrage auf diese URL holt die IP-Adresse aus dem DNS-Cache von Unbound, das geschieht in "micro"-Sekunden.

Also gehen IMHO die Anfragen nach DNS bzw. URL folgenden Weg:
Browser des Clients -> Hosts-Datei des Clients -> DNS-Cache des Clients -> Fritzbox -> Pihole-(Unbound-DNS-Cache) -> DNS-Root-Server im Internet -> . . .

Sollte etwas an meiner Konfiguration oder an meinem Verständnis fehlerhaft sein, bitte ich um Korrektur!
 
Zurück
Oben