DNS-Resolver funktioniert nur pfSense-intern (von localhost)
-
Hallo zusammen,
ich bin noch recht frisch mit dem Thema pfSense. Hab meine 2100er Basic erst letzten Samstag bekommen.
Würde sie gerne auch als DNS-Resolver in Verbindung mit der pfBlockerNG Erweiterung verwenden um meine beiden piHoles abzulösen. Nur bekomme ich den DNS-Server nach extern nicht zum Laufen. Per SSH auf der pfSense selbst funktioniert alles. NSLookup über sich selbst kann alles aufgelöst werden. Wenn ich aber von einem Client aus den DNS-Resolver verwenden will, funktioniert grundsätzlich ein nslookup über die pfSense. Allerdings kann ich nur lokale DNS-Records auflösen. Also alles was sich über den DHCP so registriert hat. Sobald es aber ins weite Internet gehen soll bekomm ich nur massig Timeouts.
An sich hab ich abseits der Default Settings noch nicht viel verstellt. Der DNS-Resolver hat 1-2 Host-Overrides. Ansonsten Standard. pfBlockerNG ist einmal durch den Wizard gelaufen. Mehr hab ich bis jetzt auch noch nicht gemacht. An der Firewall kanns auch nicht liegen, denn ich kann ja vom Client aus grundsätzlich über den Resolver nslookupen. Nur liefert er mir abseits von internen DNS-Records hald keine Ergebnisse.
Achja DNSSEC hab ich schon mal abgedreht, da mir das auf den piHoles auch schon mal unverhofft ähnliche Probleme beschert hatte.
Was mach ich da falsch?
vom Client aus:
ssh auf der pfSense
DNS-Resolver Settings
pfBlockerNG Settings
Danke schon mal :)
-
Wie ist deine Sense denn angeschlossen, per LAN im Netz der Fritz und der WAN Port ist nicht verbunden, vermute ich.
In dem Fall, hat die pfSense ggf. keine Route über die sei DNS Anfragen ins Internet stellen kann.
Denn der Resolver fragt direkt die Root DNS Server und interessiert sich nicht für die vom Provider zugewiesenen DNS Server. Die nutzt die pfSense selber nur im Notfall, wenn der Resolver Dienst ausfällt.Also stecke das WAN der pfSense mal in den Port 4 der Fritz, aktiviere hier das Gastnetz auf LAN 4 und schalte die beiden untersten Hacken auf dem WAN Interface der pfSense ab.
Dann sollte es auch mit dem Resolver funktionieren, da die Kiste dann ein sauberes WAN interface für ausgehende Anfragen hat. -
Guten Morgen,
Also... Die Fritz ist im reinen Modem Betrieb.
Sprich, die hängt einerseits am DSL und hat KEINE gültigen PPPoE Anmeldedaten hinterlegt. Dafür ist der PPPoE Passthrough aktiviert. (Ich will ja kein doppeltes NAT, wenn sichs vermeiden lässt)
Auf einem der (Fritz)LAN Ports hängt dann via WAN-Port die pfsense und meldet sich über das Fritz-Modem via PPPoE beim Provider an. Der WAN-Port der pfsense bekommt somit auch die echte öffentliche IP. Die Fritz ist nur Durchlauferhitzer ;)Sieht man auch hier ganz deutlich.
DSL-Aktiv. Fritz selbst hat aber kein Internet.Klingt komisch, funzt aber so :)
Wie gesagt die pfSense kann lokal über ssh und 127.0.0.1#53 auch alles auflösen. Auch nach draußen. Nur über meine Clients lässt sie mir das nicht zu.
DNS via pihole geht ja auch problemlos. Hätte die pfSense selbst keinen Internetzugang hätte ich ja auch die ganzen Softwarepakete nicht installiere können. -
Aktiviere beim DNS Dienst bitte:
"Weiterleitungsmodus aktivieren"
If this option is set, DNS queries will be forwarded to the upstream DNS servers defined under System > General Setup or those obtained via dynamic interfaces such as DHCP, PPP, or OpenVPN (if DNS Server Override is enabled there).
Dann sollte es gehen. Das reg. der DHCP Klienten bitte wieder entfernen. Gibt Probleme mit dem pfBlocker.
-
Ja genau das wars :)
Danke für die Info!
-
@n300
Die Einstellung bewirkt, dass der Resolver anstatt der Rootserver die DNS Server zur Auflösung verwendet, die unter System > General angegeben sind.Im Schluss heißt das, dass die Rootserver nicht erreichbar sind.
Hast du in den General Einstellungen die des ISPs angegeben?
Dann würde ich vermuten, dass der ISP alles andere blockiert, was nicht schön wäre. -
@n300
Als erstes würde ich den Reiter Access Lists anschauen unter Services--> DNS Resolver.
Wenn die pfSense auflösen kann aber nicht die angeschlossenen Clients wäre das wohl die erste Anlaufstelle.
Dann als nächstes würde ich pfBlockerNG mal deaktivieren. Hier werden die Root DNS Server ggf. geblockt oder gar private IP Address Ranges, je nach abonnierten Feed. (Beispiel Firehol Level 1 List) -
Ich weiß jetzt, warum es auf der pfsense selbst funktionierte.
Die hat ja selbst nicht nur 127.0.0.1 als resolver drinnen. Sondern auch die von mir definierten 1.1.1.1 u. 8.8.8.8
Die pfSense hat die dann einfach als Fallback genommen.Es war wirklich das Hakerl bzgl. DNS-Forwarding. Dieses aktiviert und schon geht alles.
In der Access List war ich gestern auch schon drinnen und hab meine ganzen lokalen Netze ftw eingetragen. Hatte natürlich wegen des fehlenden Forwardings auch keine Auswirkung.Wegen @sebden 's Hinweis bzgl. DHCP-Client Eintragungen: Was gibts da für Themen? Würde das eigentlich schon gerne haben. Da ja sonst das lokale DNS nur sehr dürftig funktionieren kann.
-
@n300
Die Probleme mit dem DHCP Registrierungen (nicht "static DHCP" Registrierungen) haben etwas mit dem Python Modul zu tun. Wenn du dieses nicht nutzt, dann sollte es auch keine Probleme machen.
Allerdings solltest du noch mal lesen, was der Unterschied zwischen dem Forwarding und Resolving Modus ist.
https://docs.netgate.com/pfsense/en/latest/services/dns/resolver-modes.html
Das gesetzte Häkchen ist also nicht unbedingt die Lösung!
Hast du probiert, testweise pfBlocker zu deaktivieren? -
OK, nein die Python (Methode) hab ich derzeit nicht in Verwendung.
Mittlerweile geht ja alles. Seitdem das Forwarder-Häkchen sitzt. Läuft es wie es soll und ich hab den Großteil auch schon vom piHole übersiedeln können. Jetzt muss ich den den pfBlockerNG noch "feinschleifen". Bin mir der Doku noch lange nicht durch. Mächtiges Teil :)
-
@m0nji said in DNS-Resolver funktioniert nur pfSense-intern (von localhost):
Das gesetzte Häkchen ist also nicht unbedingt die Lösung!
Es ist jedenfalls eine. Und manchen reicht das offensichtlich schon.
-
Also ich verwende schon den "DNS Resolver". Der "DNS Forwarder" ist nicht aktiviert.
Besagt das Häkchen nicht nur, dass für DNS-Queries außerhalb seines eigenen Dunstkreises die Upstream-Server bemüht werden sollen?EDIT:
Ach ich verstehe schon. Hab jetzt das Manual noch etwas bemüht.
Ja nach außen hin scheint das wirklich im forwarder-modus zu laufen. Möglicherweise werden derartige Queries wirklich durch meinen ISP geblockt. Gute Frage wie man das feststellt, außer durch die Feststellung, dass es wohl nicht funktioniert.
Bin in Österreich bei A1. Vielleicht weiß da wer was dazu. -
@n300
Ich habe doch oben erklärt, was der Haken bewirkt.
Standardmäßig verwendet der Resolver Rootserver für die Auflösung, die man nicht selbst einstellen kann.
Mit DNS Forwarding gesetzt wird er quasi zum Forwarder und leitet die Anfragen in die Server weiter, die man in der pfSense eingestellt. Ist ja da auch schön beschrieben. -
@viragomann
Du hast recht. Hab es falsch verstanden. Muss gestehen, bislang hatte ich noch nie etwas im privaten Umfeld, was etwas anderes Unterstützt als forwarden.siehe auch meinen Edit oben ;)
-
@n300 said in DNS-Resolver funktioniert nur pfSense-intern (von localhost):
Bin in Österreich bei A1. Vielleicht weiß da wer was dazu.
Ich auch. Das dürfte wohl nicht das Problem sein.
Habe dann ehrlich gesagt keine Idee, warum es nicht funktioniert. Hätte auch mal empfohlen, den DNSBL und pfBlockerNG zu deaktivieren, aber das hast du ja schon, wie ich es verstanden habe.
Wenn du es lösen möchtest, musst du dich wohl mit Logs abmühen, System und DNS Resolver, oder uns die hier bereitstellen.
Läuft der Resolver überhaupt, wenn er nicht im Forwarder-Modus ist? -
@viragomann
Ich muss da leider morgen weiter machen. Wenn ich meiner besseren Hälfte heute schon wieder das Internet abdrehe gibt's StunkAber vielen vielen Dank schon mal für die wirklich kompetente Unterstützung!
-
Liegen die Netze an der pfSense an, musst du die Access Lists im Resolver nicht pflegen, da die Sense diese ja kennt und deren Gateway ist.
Erst wenn du Netze zur pfSense routest, die sie selber nicht kennt, da sie hier kein Interface drin hat, dann musst dieses Netz in der Access List aufgenommen sein, sonst funktioniert hier kein DNS.
Dazu brauchst du aber eine Routing Instanz hinter der pfSense, sprich z.B. einen Core Switch der dann über L3 weitere Netze versorgt und über die Default Route zur pfSense weiter leitet.
Der Resolver in der pfSense ist ein sehr mächtiges Tool, hier kannst du sehr viel Einstellen und das einen oder andere hat massive Auswirkungen ob es dann noch funktioniert oder auch nicht.
Bietest du deinen Clients z.B. nur noch DNSSEC an, hast aber keine gültigen Zertifikate, hast du ein Problem.
Genauso wenn du Features wie "Strict Query Name Minimization" aktivierst, das mögen nicht alle DNS Server da draußen im Internet.Ob dein Provider DNS ausgehend blocked, kannst du doch über einen Paktmitschnitt leicht rausfinden.
Einfach DNSSEC abschalten für ausgehende Anfragen, dann versuchen was auf zu lösen wenn du auf dem WAN Port 53 mitschneidest.Der Dienst läuft bei dir aber auch oder, nicht das bei dir einfach Unbound nicht gestartet ist, dann kannst du Einstellen was du willst, es wird kein DNS für die Clients funktionieren.
-
Guten Morgen zusammen,
also ich hab grade noch mal etwas getestet und nen Capture angeworfen. Ich sehe die ausgehenden Anfragen zum Root-DNS. Aber Antwort kommt keine zurück. Pingen kann ich den aber wohl. Scheint mir dann wirklich gesperrt zu sein.
Ach ja, hier noch der Service Status:
Das mit der Access List hab ich mir schon gedacht. Um es komplett auszuschließen, dass es daran liegt, hab ich da zum Testen die lokalen 192.168.0.0/16 eingetragen. Werde ich dann wieder rausnehmen.
Was mir auch noch auffällt.
Ist das bei euch auch so, dass der Unbound ewigst braucht neue Konfigs zu übernehmen? Dauert bei mir sicher ne Minute zum Saven und noch mal eine um es dann zu übernehmen. Zuerst dachte ich es liegt an der schwachen CPU der netgate. Aber lt. top tut sich da gar nix. 90% idle beim speichern. -
Der Unbound braucht bei mir 6s zum Speichern und 5s für das "Anwenden".
Bei mir läuft er inkl. Python Modul für den pfBlockerNG-Devel.
Ohne Python aber inkl. pfBlocker war das aber (glaube ich) ähnlich lange, aber das ist länger her ^^
Maschine ist ein 2-Kern Celeron.
-
@n300 Die Frage wurde dir zwar schon mehrfach gestellt aber eine Antwort konnte ich nicht finden: Hast du testweise den pfBlocker mal deaktiviert und Unbound neugestartet?