Pi-Hol, Unifi Security Gateway und automatisches Lokales DNS

Hallo alle zusammen,

ich brauche mal eure Hilfe, Ich habe bei mir Pi-Hol installiert und der funktioniert auch soweit.
Nun möchte ich gern den Pi-Hol auch für meine Lokalen Adressen benutzen. Und zwar habe ich einen Unifi Router mit DHCP. Ich leite die DNS andragen weiter zu dem Pi-Hol und trage sie unter /etc/pi-hol/lan.list ein. Was auch funktioniert. Doch gern würde ich das automatisieren. Sprich der UNIFI Router vergibt eine Adresse und im DNS werden dan der Hostname eingetragen. Kann mir da jemand h elfen und sagen wie das geht ? WEnn es geht ?

Gruß
Marcel

Hi
Das geht.
Ich habe ein Vigor DSL-Modem mit dem USG in Betrieb und auch einen Pi Hole.

Du muss in der Netzwerkkonfig bei DHCP-Nameserver die IP deines Pi hole eintragen.
So wird der dns entsprechend über dhcp verteilt.

Ich hole das Thema mal wieder hoch.

Ich hab auch ein Unifi USG und dahinter hängt der Pihole. Im USG ist der Pihole als DNS hinterlegt, DHCP ist das USG.
Wenn nun ein lokales Gerät auf eine Webseite zugreift sehe ich im Pihole aber immer nur die IP des USG. Wie kann ich denn hier zusätzlich die tatsächliche "End" IP Adresse des Geräts anzeigen lassen welche die eigentliche Anfrage gestellt hat? /etc/hosts habe ich mit den IP Adressen und Hostnamen versehen. Der Name vom USG kann ich so auch ändern, aber mir wird als Client in Pihole nur das USG angezeigt.

Dann spricht einiges dafür, dass Du Pi-hole als Upstream-DNS-Server für Dein USG konfiguriert hast.
In diesem Fall ist keine client-bezogene Statistik möglich, da aus Sicht von Pi-hole alle DNS-Anfragen ausschliesslich vom USG kommen.

Du solltest versuchen, Pi-hole stattdessen im USG per DHCP als lokalen DNS-Server zu verteilen.
Wie Du das bewerkstelligst, hängt von dem von Dir verwendeten Router ab - also mal die Handbücher oder Foren zu Deinem Ubiquiti-Gerät duchforsten.

Allgemeine Hinweise und Links zur Integration von Pi-hole in Dein Netzwerk nach erfolgter Installation finden sich in der Pi-hole-Dokumentation.

Hi

danke für die Hilfe.
Genau das was du vermutest, denke ich auch. Pihole bekommt alle Anfragen vom USG und daher weiß Pihole auch nichts von den anderen Geräten. Ich habe im USG auch zusätzlich noch die IP Adresse des Pihole als DHCP lokaler DNS Server gesetzt. Das änderte bislang noch nichts. Wenn ich den Upstream-DNS-Server ändere, läuft jedoch alles an Pihole vorbei

Möglicherweise wissen Deine Clients noch nichts von dem neuen DNS-Server. Erst nach Ablauf der Gültigkeit einer IP-Adresse erneuern Geräte ihre DHCP-Einstellungen.

Abhilfe schafft hier das kurzzeitige Trennen und erneute Verbinden aller Geräte, entweder durch Aus-/Einschalten oder z.B. bei Smartphones durch Aus-Einschalten des WLANs.

In den jeweiligen Geräteeinstellungen sollte sich dann leicht überprüfen lassen, ob die IP-Adresse Deines Pi-holes als DNS-Server verwendet wird. Unter Windows geht das z.B. mit

ipconfig /all | find /i "server"

Bei mir sieht's so aus (Pihole ist 10.0.1.5), damit funktioniert es wunderbar. Wie @Bucking_Horn beschrieben hat, müssen die Clients erst die neuen DHCP-Einstellungen erhalten, am einfachsten nach einer kurzen Trennung. Wichtig ist noch, dass du vorher wartest, bis das USG mit den neuen Einstellungen fertig provisioniert ist.

1 Like

@yubiuser
Vielen Dank, dass heisst auf der USG unter WAN hast Du bei den DHCP Server nichts geändert, dann sind zum Beispiel die beiden Google-Server drin. Ist das soweit korrekt?

Dann hast Du auf der USG unter LAN bei DHCP-Nameserver die IP des Pi-Hole eingetragen.

Nun würde mich aber noch interessieren, wie sehen Deine Einstellung auf dem Pi-Hole unter DNS aus?

Upstream DNS Servers

  • Never forward non-FQDNs
  • Never forward reverse lookups for private IP ranges
  • Use DNSSEC
  • Use Conditional Forwarding

Wäre sehr nett wenn Du da noch helfen könntest.
Vielen herzlichen Dank

Hallo suxus,

ich habe zusätzlich zu den LAN DNS Servern Pihole auch im WAN als DNS eingestellt. Mein Pi läuft mit Unbound - hier musst du halt drauf achten, dass der Pi nicht das USG als DNS nimmt, sonst hast du einen DNS-Loop.

  • Upstream: Unbound
  • Never forward non-FQDNs: aktiviert
  • Never forward reverse lookups for private IP ranges: aktiviert
  • Use DNSSEC: nein (macht Unbound für mich)
  • Use Conditional Forwarding: nein

Die Auflösung der IPs nach Hostnamen erreiche ich über "Custom DNS" Einträge, welche in Pihole v5.0 via Web GUI zur Verfügung stehen.
Im USG gibt es Firewallregeln, die nur dem Pi erlauben auf p53 nach außen zu kommunizieren. Das unterbindet, dass IoT Devices hard-coded DNS Server verwenden. Das muss man aber im Einzelfall ausprobieren - mit machen klappt es, andere verweigern dann einfach ihren Dienst. Google Chromcast fällt dann einfach auf den DHCP DNS Server zurück, wenn er 8.8.8.8:53 nicht erreicht. Alternativ könnte man noch den DNS Traffic aufs USG per config.gateway.json umbiegen - dann sieht man aber nicht mehr, von welchem IoT die Anfrage kam.
Durch das Blocken des DNS für IoT haben aber die Clients im UniFi Controller nur 60% "Wifi Expierence" - nur falls du darauf wert legst :wink:

Danke für die schnelle Antwort, habe ich muss eingestehen ich verstehe davon leider vieles nicht. Ich habe irgendwie das Gefühl man findet im Netz sehr viel über das Thema doch jeder hat es bei sich doch wieder anders eingestellt. Mir ist nur schon von Seite USG nicht klar wieso man bei einigen sieht dass die die Pi-Hole IP bei der USG unter WAN eintragen und andere wieder bei LAN.

Bei mir ist es aktuell so das bei der USG unter WAN die beiden Cloudflare IP's eingetragen sind und beim LAN ist AUTO drin. Und nun wollte ich meinen Pi-Hole korrekt ins Netz einbinden, damit der Pi-Hole sämtliche Werbung auf den lokalen Geräten blockt.
Ideal wäre wenn ich in meinem lokalen Netz anstatt der IP auch über den Hostname die Geräte ansprechen könnte (habe beim USG unter LAN - Domainname home.lan eingetragen) und beim Pi-Hole unter "Use Conditional Forwarding - IP des USG - home.lan). So dachte ich kann ich dann zum Beispiel mein NAS über ds718.home.lan ansprechen. Zudem ist bei mir auf dem Pi-Hole (DNS)

Upstream DNS Server: die beiden Cloudflare aktiviert
Never forward non-FQDNs: deaktiviert
Never forward reverse lookups for private IP ranges: deaktiviert
Use DNSSEC: aktiviert

Aber vielleicht sind meine Überlegung auch komplett falsch, bin kein Netzwerk-Spezialist.

Gruss

Naja, es gibt halt mehrer Wege das gleiche zu erreichen - je mit anderen Vor/Nachteilen meist.

Prinzipiell geht halt beides: Du kannst deinen Clients halt sagen: bitte nehmt Pihole als DNS. Oder: Nehmt das USG als DNS und das soll dann selbst wieder den Pihole nehmen. Vorteil der ersten Lösung ist, dass du im Pihole siehtst, welcher Client welche DNS Anfragen stellt. Bei der 2. Lösung siehst du im Pihole nur einen Client (dein USG), da alle Clients erst das USG fragen, das (bis auf lokale Hostnamen) keine Ahnung hat wiederum den Pihole fragt.
Du kannst auch an beiden Stellen Pihole eintragen, dann bekommst du im Pihole die Anfragen nach Clients aufgeschlüsselt und Anfragen vom USG selbst (wenn es z.b. mal schauen will, welche IP ui.com hat) auch angezeigt.

Ich würde sowohl im WAN als auch LAN Pihole als DNS eintragen und im Pihole selbst als Upstream Cloudflare.

Das sollte so funktionieren.

Das könntest du m.M. noch aktivieren, da du die private IP range ja "als Ausnahme" via Conditional Forwarding an dein USG weiterleitest.

Hier musst du nur einen Upstream Cloudflare nehmen, der auch DNSSEC kann - da musst du mal googlen, ob die das können.

Vielen Dank für die Zeit und Mühe die Du Dir genommen hast, dies zu erklären, jetzt ist mir einiges klarer.

Du schreibt die IP des PiHole würdest Du auf dem USG sowohl bei WAN wie auch LAN rein nehmen.

Wie wäre dass dann im Detail, steht im WAN nur noch die IP des Pi-Hole oder auch noch die IP's von Cloudflare, man kann da ja 2 Werte eintragen. Und ist die Reihenfolge da wichtig?

Bei LAN wird dann wohl nur die IP des Pi-Hole benötigt, keine anderen IP's oder doch noch die von Cloudflare?

Und wie ist das wenn der Pi-Hole mal down sein sollte, geht dann noch was oder muss man da noch was berücksichtigen?

Nochmals vielen herzlichen Dank

Bei mir sieht es so aus

Das ist in der Tat eine berechtigte Anmerkung. Wenn du überall nur den Pihole einträgst, dann ist dein DNS weg, sobald es mit dem Pihole Probleme gibt. Deshalb kann man an verschiedenen Stellen weitere DNS Server eintragen, als "Backup" sozusagen. Ich habe das jedoch nicht gemacht, da ich nicht genau weiß, nach welchen Kriterien die Clients (bei weiteren DNS Einträgen via DHCP LAN) oder das USG (bei Pihole als WAN DNS) festlegen, ob der Pihole nicht erreichbar ist. Es kann auch sein, dass Clients/USG "balanciert" jeden der eingetragenen DNS Server anfragen - mit dem Gedanken, dass bei riesen Netzwerken die Last eben auf mehrer Server verteilt wird. Dann würde aber ein Teil der Anfragen am Pihole vorbei laufen.
Mein Netzwerk ist nicht so groß, dass ich nicht merken würde, wenn der Pihole nicht mehr ordentlich läuft, 100% Verfügbarkeit brauche ich nicht. Außerdem haben die UniFi Geräte feste IPs, die ich mir merken kann. Dann kann ich im Fall des Falles einfach manuell über die IPs einloggen einen anderen DNS Server verteilen lassen.

Vielen vielen Dank

Das mit dem Balancing habe ich mir eben auch schon überlegt und wenn dem so sein sollte, dann würde wirklich die Gefahr bestehen dass gewissen anfragen dann anstatt über den Pi-Hole über einen anderen DNS laufen. Wenn der Pi-Hole mal down sein sollte, was geht dann eigentlich genau nicht mehr, kommt man von intern noch auf's Internet (z.B. www.google.com)?

Bei mir haben die Unifi Geräte auch fixe IP's und da kommt noch eine Frage, wenn man einem Unifi Switch eine fixe IP zuteilt, muss man ja noch "Bevorzugte DNS1 und DNS2" eintragen. Da steht bei mir immer die Cloudflare IP's drin, würde dass dann bedeuten das alle Geräte die an diesem Switch dran sind, nicht den Pi-Hole verwenden sondern eben Cloudflare?

Und noch was ist mit bei Deinem LAN-Screenshot aufgefallen, IGMP Snooping wann muss man das aktiviernen?

Vielen Dank
Gruss

Du kommst theoretisch schon noch ins Internet - du musst aber in deine Adresszeile die IPs der Server die du aufrufen willst eingeben. Namen wie google.de geht eben nicht mehr, da kein DNS Server vorhanden ist, um dir zu sagen, welche IPs google.de hat.

Nein, das bedeutet, dass der Switch selbst Cloudflare nimmt, wenn er irgendwas im Internet ansteuern will.

Danke danke danke, gut zu wissen mit den DNS-Einträge auf den Switch. Ich dachte nämlich schon dass dies etwas verwirrend ist wenn man überall DNS Einträge hat und anpassen müsste, aber so macht es Sinn dass nur wenn der Switch etwas benötigt über diese DNS-Server geht. Somit spielt da dann der Pi-Hole nicht rein.

Vielen Dank

Außer du willst mit Hilfe des pihole verhindern, das der Switch nach Hause telefoniert...

https://community.ui.com/questions/UniFi-Analytics-cannot-be-disabled-whatsoever/300f6fed-118e-4cd9-9a47-d399c53483f9

Ach ja betreffend dem IGMP-Snooping habe ich das auch so verstanden wie in dem Artikel, doch ich war mir nicht sicher ob dies bei Netflix und Disney+ sinnvoll ist auf dem USG zu aktivieren oder nicht, weil auch den einzelnen Switches (Ports) gibt es ja auch noch Multicast, Broadcast Einstellungen.

Noch eine Frage zum Pi-Hole, es ist schon korrekt das der PiHole nur im Netz greift, sprich wenn ich von extern wie VPN auf mein Heimnetz zugreife, dann kann der PiHole über diesen Weg nicht eingebunden werden, also wird so keine Werbung geblockt.

Vielen Dank für die Unterstützung

Aus dem Link: Beispiele hierfür sind IPTV- und andere Streaming-Services sowie Webkonferenz-Lösungen . Netzwerke, in denen nur wenige Teilnehmer und kaum Multicast-Verkehr vorhanden sind, profitieren allerdings nicht von dem Filter-Verfahren

Ich denke nicht, dass Netflix und Disney+ auf IGMP setzen. Es sollte in einem normalen Heimnetz auch keine große Rolle spielen, ich könnte es eigentlich auch deaktivieren.

Doch das geht. Ich nutze z.B. mobil wireguard und schicke meinen DNS traffic durch den Tunnel um vom Pihole zu profitieren.
Um dir da Hilfe geben zu können, müssen wir aber genauer wissen, wie dein Netz aufgebaut ist, welche VPN Lösung du nutzt etc. Schau mal im Forum, da gibt es durchaus andere, die Pihole z.b. mit OpenVPN nutzen oder so.

Vielen Dank, ich habe auch noch etwas wegen IGMP gelesen und bin eigentlich auch der Meinung dass ich dies bei mir nicht einschalten muss.

Ich habe Pi-Hole übrigens seit gestern Abend bei mir aktiv und läuft im Moment wunderbar, habe mir heute früh noch einen neue PI 4 bestellt, da mein aktueller nur 100 MBit hat, also schon etwas älter.

Das mit dem Pi-Hole und VPN würde mich schon noch sehr interessieren, weiss jedoch nicht ob Du noch Lust hast mir da ein paar Tipps zu geben.