So, nach einer cb-Auszeit bin ich mal wieder ein bischen im Board unterwegs.... Ich werde jedoch für's erste nur sporadisch aktiv sein.
@jensxp
Eine übliche Konfiguration von DNS mit pihole sieht so aus:
Hauptrouter : Upstream-DNS = Provider, google, cloudflare, o.ä. (zB 1.1.1.1)
Hauptrouter: DHCP vergibt als DNS die IP vom pihole (zB 192.168.178.9)
pihole: Upstream-DNS = Hauptrouter, google, cloudflare, o.ä.
pihole: Conditional forwarding (nur wenn Upstream-DNS
nicht der Hauptrouter ist) = fritz.box --> 192.168.178.1
In dieser Konstellation vergibt der DHCP des Hauptrouters als DNS den pihole. D.h. jedes Endgerät, das sich via DHCP eine IP nebst Gateway und DNS besorgt, den pihole als DNS verwenden wird. Der pihole wiederum leitet alle DNS-Requests, die nicht in seiner Blocklist stehen, an den Upstream-DNS weiter. Darüber hinaus leitet der pihole bei DNS-Requests mit fritz.box am Ende (wird vom DHCP der Fritzbox an den Hostnamen der DHCP-Clients angehängt) direkt an die Fritzbox weiter, weil nur diese alle DHCP-Clients beim namen kennt.
Alternativ zum conditional forwarding kann man auch den DHCP in der Fritzbox abschalten und stattdessen im pihole aktivieren. Dann ist der pihole DNS
und DHCP und kann somit auch selbst die lokalen Namen auflösen. Conditional forwarding ist nur dann notwendig, wenn der DHCP-Server auf einem anderen Gerät läuft und dieses vom pihole nicht als Upstream-DNS verwendet wird.
Szenario #1 (public domain):
1) Laptop bekommt vom DHCP der Fritzbox 192.168.178.9 als DNS
2) Laptop möchte computerbase.de aufrufen -> DNS-Request an 192.168.178.9 mit computerbase.de
3) pihole prüft ob conditional forwarding getriggert wird -> nein
4) pihole prüft die Blocklisten, kein Eintrag --> DNS-Request weiterleiten an Upstream-DNS (zB 1.1.1.1)
5) Upstream-DNS löst computerbase.de auf und beantwortet den Request
Szenario #2 (private domain):
1) Laptop bekommt vom DHCP der Fritzbox 192.168.178.9 als DNS
2) Laptop möchte das lokale NAS mit Namen "MeinNAS" aufrufen -> DNS-Request an 192.168.178.9 mit MeinNAS
.fritz.box (DNS-Suffix wird angehängt)
3) pihole prüft ob conditional forwarding getriggert wird --> ja, weil .fritz.box dranhängt
4) pihole leitet DNS-Request an Fritzbox weiter
5) Fritzbox checkt die DHCP-Clients und gibt die lokale IP von "MeinNAS" zurück
Wenn bei dir nun mit dem pihole Probleme auftauchen, kann man davon ausgehen, dass deine Konfiguration anders aussieht. Dazu müsste man jetzt im Detail nachschauen wie dein DHCP-Server eingestellt ist bzw. ob die Endgeräte wirklich den pihole als DNS bekommen. Anschließend muss man prüfen ob pihole überhaupt richtig funktioniert (zB mit "nslookup computerbase.de 192.168.178.9"). Wenn beides der Fall ist bzw. für sich genommen funktioniert, sollte es auch im laufenden Betrieb funktionieren.
Eine alternative Konfiguration könnte so aussehen, dass man der Fritzbox den pihole als Upstream-DNS verpasst und den DHCP auf Standard lässt. Dann fragen die Clients immer zuerst die Fritzbox und die leitet dann zum pihole weiter. Bei Routern, die keine manuelle Einstellung des DNS im DHCP-Servers erlauben, ist das sogar der einzige Weg, wenn dieser Router weiterhin DHCP spielen soll. Allerdings darf der pihole dann natürlich nicht die Fritzbox als Upstream-DNS haben, weil sonst beide Ping Pong spielen.
Ich persönlich bevorzug es, pihole dann auch gleich DHCP übernehmen zu lassen. Damit erübrigt sich conditional forwarding so oder so und der Internetrouter ist komplett außen vor, kann also auch nach Belieben getauscht werden.