UDM-Pro leitet searchdomain queries an pi-hole weiter

Es gibt 21 Antworten in diesem Thema, welches 824 mal aufgerufen wurde. Der letzte Beitrag () ist von besenwesen.

  • Halloechen!

    Hier bin ich mal wieder mit einem PiHole/DNS Problem...
    Kurz mein Setup:

    • UDM upstream DNS ist der PiHole Host (pihole ist containered)
    • PiHoles Upstreams sind DNS Server im Internet
    • Clients erhalten per DHCP die IP des Subnetz Routers (in allen Faellen die UDM, damit erspare ich mir firewall config und "forciere" den gebrauch des PiHoles)


    Resolving funktioniert fuer alle Domains die nicht in meiner (search)Domain haengen, egal ob FQDN oder nur hostname.



    Wie kann das sein? Muesste die UDM nicht in der Lage sein die Domain machine1.home.net aufzuloesen (wurde ueber den Network Controller konfiguriert)?

    Mit meinem UDR hat das (fast identische) Setup einst funktioniert. Vor allem ist spannend bzw. sorgt fuer meine endgueltige Verwirrung, dass die korrekte IP-Adresse ja angezeigt wird.

    ~besenwesen

  • razor

    Hat den Titel des Themas von „UDM-Pro leitet searchdomain queries an PiHole weiter.“ zu „UDM-Pro leitet searchdomain queries an pi-hole weiter“ geändert.
    • UDM upstream DNS ist der PiHole Host (pihole ist containered)
    • PiHoles Upstreams sind DNS Server im Internet
    • Clients erhalten per DHCP die IP des Subnetz Routers (in allen Faellen die UDM, damit erspare ich mir firewall config und "forciere" den gebrauch des PiHoles)

    Das Konstrukt verstehe ich nicht ganz, was meinst du mit Upstream DNS in der UDM ?

    Hast du den PiHole auf der WAN-Seite eingetragen, das wäre falsch.


    Der DNS ( = PiHole ) gehört in die DHCP-Sesttings des jeweiligen Subnetzes. und auf dem PiHole dann als "Use Conditional Forwarding" dann für deine komplettes Netz und die Domain der DHCP-Server ( = die UDM ), damit der PiHole die Auflösung der lokalen Adressen machen kann.

  • Das Konstrukt verstehe ich nicht ganz, was meinst du mit Upstream DNS in der UDM ?

    Hast du den PiHole auf der WAN-Seite eingetragen, das wäre falsch.

    So ist es. Auf dem UDR hat es damals funktioniert. Ich sehe auch keinen Technischen Grund warum das nicht gehen sollte. Die UDM wird das PiHole als seinen Resolver anfragen. Das PiHole telefoniert dann ins internet an den naechsten Reolver.


    Zitat

    Der DNS ( = PiHole ) gehört in die DHCP-Sesttings des jeweiligen Subnetzes. und auf dem PiHole dann als "Use Conditional Forwarding" dann für deine komplettes Netz und die Domain der DHCP-Server ( = die UDM ), damit der PiHole die Auflösung der lokalen Adressen machen kann.

    Genau das ist ja das was ich anders machen moechte. Die Clients im anderen Subnetzen brauchen dann zwangsweise Zugriff auf ein anderes Netz. Ich wollte mit der UDM als DNS resolver der Clients ein einheitliches System erzwingen.
    Wie auch immer, Zeitweise hatte ich das auch so.
    Hier besteht aber das Problem, dass der PiHole dann auch FQDNs, die nicht von der UDM konfiguriert wurden, die ich in seiner dnsmasq config eingetragen habe nicht aufloesen wird, da diese zur UDM weitergeleitet werden wuerden (wenn conditional forwarding aktiv ist).

    Was genau verstehe ich falsch an der Mechanik wenn die UDM an ihrem WAN port den PIHole als DNS drin hat? Nach meinem Verstaendnis sollte doch nur etwas Aufgeloest werden wenn die UDM den Namen nicht kennt, oder?


    Edit: Habe das jetzt mal nach deinem Vorschlag umgesetzt. UDM verteilt an clients die IP des PiHoles als DNS. UDM hat am WAN port einen anderen DNS Server eingetragen. Das Pihole macht conditional forwarding. Im PiHole habe ich cnames bzw. DNS records eingetragen. Gleiches Problem. Die UDM uebersetzt zwar auf ihr konfigurierte namen, aber die records im Pihole bleiben unbeantwortet.


    Und vorallem, DNS funktioniert ja, nur nicht fuer hosts in der Searchdomain, obwohl mit nslookup die richtige IP angezeigt wird (wenn auch returnvalue != 0...???).



    Edit: Habe das jetzt mal nach deinem Vorschlag umgesetzt. UDM verteilt an clients die IP des PiHoles als DNS. UDM hat am WAN port einen anderen DNS Server eingetragen. Das Pihole macht conditional forwarding. Im PiHole habe ich cnames bzw. DNS records eingetragen. Gleiches Problem. Die UDM uebersetzt zwar auf ihr konfigurierte namen, aber die records im Pihole bleiben unbeantwortet.

    ~besenwesen

    2 Mal editiert, zuletzt von besenwesen ()

  • Edit: Habe das jetzt mal nach deinem Vorschlag umgesetzt. UDM verteilt an clients die IP des PiHoles als DNS. UDM hat am WAN port einen anderen DNS Server eingetragen. Das Pihole macht conditional forwarding. Im PiHole habe ich cnames bzw. DNS records eingetragen. Gleiches Problem. Die UDM uebersetzt zwar auf ihr konfigurierte namen, aber die records im Pihole bleiben unbeantwortet.

    Ich hab keine UDMPro und ich nutze keine PiHole, sondern AdGuard, aber mit dem PiHole funktioniert das genauso, ich nutze für beide Unbound als Upstream-DNS-Server ins Internet und der beantwortet alle lokalen Hostnamen.

    - DHCP verteilt die IP des Piholes/AdGuard.

    - AdGuard leitet an Unbound weiter

    - Unbound liest die DHCP-Leases und beantwortet entsprechend Anfragen nach lokalen host

    - ich habe nichts dafür extra konfiguriert.


    Gibt zwei Möglichkeiten:
    - der PiHole bekommt vom DHCP die lokalen Hostnamen nicht aufgelösst ( was mich nicht bei der UDM wundern würde )

    - du hast dir mit dem WAN-DNS-Eintrag auf den PiHole einen DNS-Loop eingebaut

    Bei mir sieht es so aus:

  • Okay, also ist dein Unbound auch DHCP bzw. kann die leases sehen. Das kann in meinem Setup das PiHole nicht. Hmm. Entweder ich mache also abstriche in meiner Netzwerk Konfiguration oder ich muss noch ein dedizierten DNS aufsetzen. Eigentlich sollte PiHole das koennen, aber die Auswertungsreihenfolge mit Conditional Forwarding verbietet das wohl.

    Danke fuer den Input!

    ~besenwesen

  • Okay, also ist dein Unbound auch DHCP

    Nein, UnBound ist ein DNS-Serer den ist als Upstream nutze.

    Der kann aber auch vom DHCP-Server die Leases lesen und somit eben die lokalen Adressen auflösen, da muss der DHCP-Server aber auch mitspielen.

    Wenn richtig funktioniere, müsste PiHole alle Anfragen nach lokalen Host-Name an die UDM weiterleiten, weil er diese selber nicht kennt und die UDM muss das dann über ihren DNS-Dienst beantworten - macht die scheinbar aber nicht.

    Meine letzten Erfahrungen mit der UDMPRo sind über zwei Jahre alt und da taugte das Teil als DHCP-Server absolut nicht, u.a. eben wegen solcher Sachen.


    Alternative: lasse den PiHole DHCP machen, kann kann der auch lokale Hosts auflösen, weil er diese dann kennt, wird aber aufwendig, wenn das ganze mit mehreren VLAN / Subnetzen funktionieren soll.

    Alternative 2: du pflegst im PiHole alle lokalen Hostnamen mit IP-Adressen, macht aber nur dann Sinn wenn diese alle feste IP-Adressen haben. Je nach Anzahl ist das aufwendig. Über den sinn kann man dann streiten.

  • Oh Junge. Es wird Zeit, dass Unifi DHCP und DNS mal auf die Kette kriegt. Ich mein, static hostnames oder cnames sind doch teil von dnsmasq welches standardmaessig auf jedem von Unifis Routern zum einsatz kommt. Warum die Software beschneiden?


    Ich ueberleg mir nochmal wo ich damit hin will. Eigentlich wollte ich alle Netzwerkfunktionen die UDM uebernehmen lassen (abgesehen vom DNS sinkhole). Also abwarten ob das Unifi irgednwann mal unterstuetzt. Bis dahin hacke ich mal weiter.

    ~besenwesen

  • Du kannst im pihole auch mehr als eine bedingte Weiterleitung konfigurieren. Geht nicht in der GUI aber eine Datei anlegen ist ja nicht zuviel, falls Dir das weiterhelfen würde könnte ich morgen mal gucken wo die hin muss. Ich löse so z.b. hosts aus dem firmennetz bei mir im lan über den wg tunnel auf.

  • Da dein Setup eigentlich gehen müsste (Pi-Hole hinter UDM-Pro, hatte ich auch mit meiner UDM-Base), habe ich noch eine Frage (falls die IP Adresse oben halbwegs dein Setup widerspiegeln).


    Ist die 192.168.1.2 auch im selben VLAN des PCs der nslookup macht? Pi-Hole hat ja im Beispiel 10.13.37.254, was ja ein anderes Netz ist.


    Du hast geschrieben, dass du keine Firewall aufmachen willst, daher die Frage.


    Wie gesagt es sollte eigentlich funktionieren, ich selbst habe Pi-Hole und meine Services in einer DMZ und das ganze mit ner Domain verknüpft, wo unbound (hinter Pi-Hole) diese internen Namen auflöst.


    Hab mich aber auch schon gewundert, wo die Firewall bei z.B. IOT noch nicht offen war, warum es nicht geht, bis ich den Fehler gefunden hatte verging auch einiges an Zeit. :unamused_face:


    Evtl. einfach Mal die "Trigger" Events anschauen, das hat mir geholfen, da wenigstens Device x zu IP y wurde geblockt drin steht. (Auch wenn es mehr Infos sein könnten).

  • Oh Junge. Es wird Zeit, dass Unifi DHCP und DNS mal auf die Kette kriegt. Ich mein, static hostnames oder cnames sind doch teil von dnsmasq welches standardmaessig auf jedem von Unifis Routern zum einsatz kommt. Warum die Software beschneiden?

    Das hab ich mir vor zwei Jahren schon gesagt und die UDMPRo rausgeworfen und mir ne ordentliche Firewall aufgebaut, weil ich die Nase voll hatte von dem Teil.

    Bei mir läuft aktuell ISC-DHCP für IPv4 und IPv6 ( der ist aber abgekündigt und wird ersetzt durch KEA-DHCP ), dann läuft AdGuard zusammen mit Unbound als DNS und Werbeblocker udn das ganz funktioniert vollkommen entspannt im Hintergrund.

  • Oh Junge. Es wird Zeit, dass Unifi DHCP und DNS mal auf die Kette kriegt. Ich mein, static hostnames oder cnames sind doch teil von dnsmasq welches standardmaessig auf jedem von Unifis Routern zum einsatz kommt. Warum die Software beschneiden?

    Tja, die Wege der Devs einer beliebigen Software sind unergründlich.

    Betriebssysteme, Anwendungen, Router... scheinbar wird nichts mehr

    für den Nerd gemacht, bzw. der BWLer entscheidet das es

    es „Simpel“ und beschnitten ist damit die Mutter von Nerd

    es auch nutzen kann.


    Ich habe selber eine Config die ich dem DNSMasq an unifi vorbei

    unterschiebe. Weil ich es vermisse A Records für Dinge zu vergeben die

    nicht als Client in der Liste sind, oder weil ich Multiple A / CNAME Records

    benötige.


    Kleiner Hinweis von den ich nicht weis ob sie Hilfreich für dich ist

    oder oder du nicht selber deine DNS Kette auf die Reihe bekommen must :smiling_face:


    Das Unifi System macht „böse“ (eigentlich ganz intelligente)

    Dinge sobald du AD Blocker oder Content Filter (Private / work in der VLAN Config)

    aktiviert hast. Dabei werden DNS Anfragen umgebogen sobald sie

    zum Router oder über den Router müssen (also auch ein Client der z.B

    1.1.1.1 als DNS Resolver nutzen will). Iptables sorgt dafür das diese

    zur einer Internen DNSMasq durchgeleitet werden und

    dann zu einem Externen DNS im falle von Content server oder

    oder zu den Im WAN hinterlegten. Sollte das dann wider ein Interner

    sein gibt es einen Lustigen loop...



    P.S

    Besenwesen...Besenwesen...Melissa mag dich nicht,

    Leslie ist cool :smiling_face: Wie wars auf den Mars solange zu pennen ?

  • Du kannst im pihole auch mehr als eine bedingte Weiterleitung konfigurieren. Geht nicht in der GUI aber eine Datei anlegen ist ja nicht zuviel, falls Dir das weiterhelfen würde könnte ich morgen mal gucken wo die hin muss. Ich löse so z.b. hosts aus dem firmennetz bei mir im lan über den wg tunnel auf.

    Hab im PiHole (container) eine Datei in /etc/dnsmasq.d hinterlegt die vorher gut genau das Problem behob.



    Ist die 192.168.1.2 auch im selben VLAN des PCs der nslookup macht? Pi-Hole hat ja im Beispiel 10.13.37.254, was ja ein anderes Netz ist.

    die 10.13.37.254 ist die UDM. In dem Subnetz ist auch der nslookup client. Das PiHole ist in einem anderen VLAN.
    Die Lookup Kette stelle ich mir so vor:

    Client -> UDM -> Pihole -> OpenResolver (falls Name nicht bei UDM oder Pihole gespeichert)

    Client -> UDM (Falls name bei UDM hinterlegt)

    Client -> UDM -> PiHole (Falls name bei PiHole hinterlegt) <- Hier scheitert das System mit einem Loop: Client -> UDM -> Pihole -> UDM -> PIHole ... usw... -> Ratelimit


    Mein Vorheriges setup war, dass der Pihole container im client netz war, und dort fuer alle clients als DNS hinterlegt war. Da hat es funktioniert, mich stoerte aber die tatsache das ein Server im client netz liegt. Wollte das getrennt haben.


    Das hab ich mir vor zwei Jahren schon gesagt und die UDMPRo rausgeworfen und mir ne ordentliche Firewall aufgebaut, weil ich die Nase voll hatte von dem Teil.

    Bei mir läuft aktuell ISC-DHCP für IPv4 und IPv6 ( der ist aber abgekündigt und wird ersetzt durch KEA-DHCP ), dann läuft AdGuard zusammen mit Unbound als DNS und Werbeblocker udn das ganz funktioniert vollkommen entspannt im Hintergrund.

    So doof es klingt, bin auch Fan von OpnSense oder pfSense, aber um es Rund zu haben wollte ich nicht so viel Geld ausgeben :grinning_squinting_face: Ich wollte das alles in ein Rack knallen und um das so zu haben war die UDM der perfect match.


    Wusste ich nicht, danke fuer den Tipp. Meinst du einfach ein namen in /etc/hosts oder dnsmaq.d auf der UDM eintragen reicht?

    PS. Ich glaub das ist ne Referenz die ich nicht schnall :grinning_squinting_face:

    ~besenwesen

  • Meinst du einfach ein namen in /etc/hosts oder dnsmaq.d auf der UDM eintragen reicht?

    /etc/host ging früher aber mittlerweile is "no-hosts“ gesetzt und hosts wird ignoriert

    in /run/dnsmasq.conf.d/ is das config Verzeichnis. Beim booten Kopier ich da einfach meine

    config rein also sowa wie:


    host-record=luleey.villakunterbunt.lan,luleey,10.99.99.1


    Das geht ganz gut über ein Startscript.



    PS. Ich glaub das ist ne Referenz die ich nicht schnall

    Das Besenwesen ist ein Auerirdischer das auf der Marsstation schläft und

    von Leslie mitgenommen wird. Sie Benutzt das Besenwesen um den Staub

    von Solarzellen zu entfernen von der Monorail zur Pyramide. Da wacht es auf

    beschwert sich und verschwindet.

    Zak McKracken and the Alien Mindbenders

  • Ahh. Okay.

    Standardmaessig ist dnsmasq disabled. Meinst du mit Startscript einfach das enablen von dem Service?


    LOL! Das war dann wohl vor meiner Zeit.

    Den Namen habe ich allerdings woanders her :grinning_squinting_face:


    Edit: dnsmasq scheint zu laufen, auch wenn der Systemservice nicht laeuft. Interessant.

    ~besenwesen

  • Edit: dnsmasq scheint zu laufen, auch wenn der Systemservice nicht laeuft. Interessant.

    Weil er nicht über systemd verwaltet wird.

    "ubios-udapi-server“ kümmert sich um die meisten für „unifi“ wichtigen Dienste, überwacht sie, startet sie neu

    baut die Config dafür in /run und startet so das diese genutzt wird statt die reguläre in in /etc


    mach ein „pstree“ dann wird es klar.



    LOL! Das war dann wohl vor meiner Zeit.

    Den Namen habe ich allerdings woanders her

    Mhhh, nein nein das kann nicht sein. Das ist der Ursprung für alles :smiling_face:

  • So doof es klingt, bin auch Fan von OpnSense oder pfSense, aber um es Rund zu haben wollte ich nicht so viel Geld ausgeben :grinning_squinting_face: Ich wollte das alles in ein Rack knallen und um das so zu haben war die UDM der perfect match

    Wenn ich mal überlege, wieviel Zeit ist damit verbracht habe, die UDMPro zu rebooten, einen restore zu machen, mich mit dem unfähigen Support rumzuärgern, Fehler zu suchen, die am Ende ein Bug in der Software waren, das in Zeit und Geld umgerechnet, könnte ich mir locker eine Hardware-Appliance der OPNSense kaufen.

    Ich habe nen MiniPC im Rack stehen, der kostet am Ende das selbe wie ein UDMPro, da läuft die OPNSense drauf und ich hab Ruhe.


    Bis auf einen Hardwaredefekt ( SSD ausgefallen ) hatte ich keine Probleme damit und der war auch in 30min beseitigt ( neue SSD rein, OPNSense von USB-Stick installiert, aktuelles Backup der Config und fertig )

  • Wenn ich mal überlege, wieviel Zeit ist damit verbracht habe, die UDMPro zu rebooten, einen restore zu machen, mich mit dem unfähigen Support rumzuärgern, Fehler zu suchen, die am Ende ein Bug in der Software waren, das in Zeit und Geld umgerechnet, könnte ich mir locker eine Hardware-Appliance der OPNSense kaufen.

    Ich habe nen MiniPC im Rack stehen, der kostet am Ende das selbe wie ein UDMPro, da läuft die OPNSense drauf und ich hab Ruhe.


    Bis auf einen Hardwaredefekt ( SSD ausgefallen ) hatte ich keine Probleme damit und der war auch in 30min beseitigt ( neue SSD rein, OPNSense von USB-Stick installiert, aktuelles Backup der Config und fertig )

    Hab da auch schon drueber nachgedacht. Hatte frueher alles virtualisiert aber damit wurde ich nicht gluecklich. Die UDM haette ich schon gern da stehen wegen UIProtect. Waere nur eine sooooo viel coolere Maschine wenn man solche Laecherlichen Tasks nicht haette :grinning_squinting_face:


    gierig gibts ein bootscript Verzeichnis oder sowas? dnsmasq darf ja erst starten nachdem meine config geladen wurde. Ich dachte daran die udapi-server.service datei anzupassen, aber ich denke das geht viiiieeeelll einfacher ohne das Risiko das System zu bricken.

    ~besenwesen

  • gibts ein bootscript Verzeichnis oder sowas?

    /data is das Persistente Verzeichnis das auch bisher zu 100% Firmware Updates überlebt.

    Da habe ich nen Ordner „myScript“ wo erstmal alles drinnen ist was mir lieb und teuer ist

    und lege nur Syslinks and wo der kram den hinsoll.


    aktuell verwende ich das hier:

    legt nen Symlink in richtige Verzeichnis wenn es da ist und startet den killt den dnsmasq.

    Ist eher so quick und dirty und eher fürs booten. Bei Änderungen muss man halt mal selber DNSmasq

    Killen oder das file entfernen. Für mich reichst ist aber halt nicht „Idolen“ sicher...

    Da bei Änderungen im UNIFI System gerne mal die ganze Config neugemacht wird.

    habe ich das als cron laufen alle 2 Minuten und nach dem Reboot.

    Das sorgt denn dafür zusammen mit dem Script oben dafür das die „host.dns“ wieder

    ins Verzeichnis kopiert wird.


  • Sehr sehr cool. Vielen Dank Dafuer.

    Laeuft bei dir auch UnifiOS 3.2.12?


    Edit: Hab das etwas angepasst und mal auf die UDM geknallt. Das loest all meine Pihole Probleme und erweitert die UDM um ein (Pflicht-)Feature! Dir sei vielmals gedankt!

    ~besenwesen

    Einmal editiert, zuletzt von besenwesen ()

  • besenwesen

    Hat das Label von offen auf erledigt geändert.