jensano
Goto Top

PFSense - DNS nur über die PFSense Server

Hallo,

Ich wollte sicherstellen das jegliche DNS Anfragen über die Server laufen, die ich in der PFSense eingetragen haben. Es sollen also nicht die von meinem ISP bereitgestellten verwendet werden noch die, die man in einem PC manuell konfigurieren kann.

Dazu erstmal meine Settings

1. DNS Server eingetragen und "DNS Server overide" abgeschaltet.
pf - system general setup

2. DNS Resolver konfiguriert (der soll ja auch als Cache dienen was wohl mit dem DNS Server über 127.0.0.1 zusammenhängt. Verstehe ich noch nichts ganz,)
"DNS Query Forwarding gesetzt. Das soll die DNS Anfragen auf die unter "Generel Settings" eingetragenen DNS Server leiten."
pf - services dns resolver general settings

3. NAT eingerichtet damit Anfragen an externe DNS Server immer auf die PFSense geleitet werden. Über DIESEN LINK TUTORIAL
pf - firewall nat port forward

4. In der NAT Regel kann man ganz unten wählen das automatisch eine Firewall Regel erstellt wird. Diese sieht so aus. (Funktioniert nur nicht)
Das ist hier der oberste Eintrag der automatisch erzeugt wird.
pf - firewall rules vlan_20_family

Fragen
  1. Bei 1. kann man unten "Disable DNS Forwarder" wählen. Das entfernt den 127.0.0.1 aus der Liste der DNS Server. Was macht der 127.0.0.1 da eigentlich genau? Da hab ich auch ein Problem mit bei der automatischen Firewall Regel Erstellung.
  2. Wie nutzt man den Cache des PFSense DNS Resolvers? Habe gelesen das wenn als erstes 127.0.0.1 unter den verfügbaren DNS Servern steht das er dann im Cache schaut und ohne den IMMER die externen DNS Server anfragt.
  3. Die Funktion das DNS Anfragen nach extern unterbunden werden und stattdessen über die PFSense geleitet werden finde ich in zweierlei Ausführungen bei Netgate
  4. Bei 4. funktioniert es mit der automatisch erstellen Regel mit Pass nach Destination 127.0.0.1 nicht. Da geht keine Webseite auf. Erst wenn ich wie in der deaktivierten zweiten Regel erkennbar, die Interface IP Adresse für DNS öffne.

Content-Key: 561961

Url: https://administrator.de/contentid/561961

Printed on: April 23, 2024 at 10:04 o'clock

Mitglied: 142583
142583 Mar 30, 2020 at 11:15:55 (UTC)
Goto Top
Dass pfSense sowohl DNS Forwarder als auch DNS Server sein kann, hast du verstanden?
Member: aqui
aqui Mar 30, 2020 updated at 12:31:07 (UTC)
Goto Top
nicht die von meinem ISP bereitgestellten verwendet werden noch die, die man in einem PC manuell konfigurieren kann.
So, so und du meinst dann mit den Google DNS machst du das richtig. Nur noch Dummies konfigurieren diese DNS IPs, denn jeder Hansel weiss ja mittlerweile das die damit von deinem gesamten Internet Verhalten und besuchten Seiten ein Profil erstellen und das mit Dritten weltweit vermarktet.
Ein NoGo für alle denen Datensicherheit noch etwas wert ist...aber egal.
Letztlich hast du das aber richtig gemacht. Durch entfernen des Hakens beim Override werden nur noch die statisch von dir konfigurierten DNS der Reihe nach verwendet.
Sinnvoller wären hier mehr Datenschutz freundlichere Alternativen wie Quad DNS.
Noch viel sinnvoller wäre ein PiHole DNS, denn der schützt dich und dein gesamtes Netz wirklich vor Malware Seiten und lästiger Werbung:
Raspberry Pi Zero W als Pi-hole Adblocker
Member: radiogugu
radiogugu Mar 30, 2020 updated at 13:04:01 (UTC)
Goto Top
Zitat von @aqui:
Noch viel sinnvoller wäre ein PiHole DNS, denn der schützt dich und dein gesamtes Netz wirklich vor Malware Seiten und lästiger Werbung:
Raspberry Pi Zero W als Pi-hole Adblocker

Hallo.

Oder den in PFSense eingebauten PFBlocker verwenden. Da ist zwar etwas mehr Detailarbeit gefragt, kommt aber aufs Selbe hinaus, zumal die Blocklisten für den Pi-Hole hier auch hinterlegt werden können.

Einziger Wermutstropfen ist, wenn man Geo-Blocking betreiben möchte, muss man sich kostenlos registrieren um eine Lizenz zu erhalten.

Gruß
Radiogugu
Member: aqui
aqui Mar 30, 2020 at 13:57:00 (UTC)
Goto Top
Oder den in PFSense eingebauten PFBlocker verwenden.
Richtig !
Ist das gleiche in Grün zum PiHole erspart aber das extra Gerät...
Member: radiogugu
radiogugu Mar 30, 2020 at 15:06:21 (UTC)
Goto Top
Zitat von @aqui:
Richtig !
Ist das gleiche in Grün zum PiHole erspart aber das extra Gerät...

Stromkosten sind hier zwar nicht der Casus Knacktus, aber das zusätzliche Gerät war für mich damals der springende Punkt dem PI diese Aufgabe zu entziehen.

Aber als Zabbix Monitoring Server leistet er nun woanders gute Dienste face-smile

Gruß
Radiogugu
Member: Jensano
Jensano Mar 30, 2020 at 19:57:47 (UTC)
Goto Top
Zitat von @142583:
Dass pfSense sowohl DNS Forwarder als auch DNS Server sein kann, hast du verstanden?
Ich versuche die komplette Materie gerade zu verstehen und lese jede Quellen die ich finden kann. Aber Defizite sind noch da..
Es gibt ja zwei Module in PFSense
  • Services / DNS Forwarder (veraltet wenn man das so sagen kann aber aus Historie noch da. Seit V2.2 per Standard deaktiviert)
  • Services / DNS Resolver Standardmäßig aktiviert.
Der DNS Resolver nutzt per Default die großen Rootserver. Auch wenn mein ISP seine eigenen DNS Server zu mir puscht, dann nutzt der DNS Resolver per default die Rootserver. Erst wenn ich DNS Query Forwarding aktiviere werden die unter General Setup eingetragenen DNS Server verwendet. So wie es der DNS Forwarder macht. Wenn du jetzt sagst er kann DNS Server sein, was meinst du damit? Er kann doch nur aus seinem Cache DNS Auflösungen bereitstellen (was der DNS Forwarder nach der Beschreibung auch kann) Aber er hat ja nicht sämtliche Namensauflösungen intus. Dazu muss er extern fragen.

  1. Kannst du mir genaueres zum DNS Resolver sagen oder hilfreiche Lektüre nennen?
  2. Ich versteh die Funktionsweise von 127.0.0.1 in dem Zusammenhang auch nicht.
    • Das ist doch mein localhost also mein eigener Rechner. Oder ist das die PFSense da das Redirect von ihr ausgelöst wird und somit 127.0.0.1 sie selber ist?
    • Was macht die bei der Auflistung der DNS Server?
    • Merkwürdig ist auch das das Tutorial für das Redirecting all DNS Requests to pfSense die Redirect Target IP: 127.0.0.1 verwendet. Wenn das die PFSense selber ist da sie Auslöser ist habe ich das verstanden. Aber warum wird dabei eine Standard Firewall Regel mit Destination 127.0.0.1 erstellt die nicht funktioniert?


Zitat von @aqui:
...du meinst dann mit den Google DNS machst du das richtig... ...sinnvoller wäre ein PiHole DNS...

Der soll es auch evntuell mal werden. Ich bin ja noch auf meinem Testgelände und versuche die Materie zu verstehen. Da hab ich halt erstmal die zwei Mainstream Server eingetragen. Ich setz doch nicht zeitgleich den PiHole auf. Immer schön Schritt für Schritt. Eventuell kommt statt PiHole aber auch pfBlocker zum Einsatz. Das wäre dann ja in der PFSense als Plugin verfügbar. Muss ich dann mal die Performance testen wenn es soweit ist. Jetzt jedoch erstmal ohne.
P.S. Aber auch der Pi- Hole ersetzt einen externen DNS-Server nicht. Ich glaub jetzt nicht das der täglich das Internetadressbuch auf sich runter lädt. Der leitet die Einträge um die er intus hat und für den Rest muss er auch draußen nachfragen.
Mitglied: 142583
142583 Mar 30, 2020 at 21:07:37 (UTC)
Goto Top
Ein DNS Forwarder ist das was z. B. eine Fritzbox oder ein Speedport macht, wenn sie DNS Anfragen erhält, die sie nicht Auflösen kann. Die Anfragen, werden weitergeleitet. Im Falle der genannten Geräte, zu den DNS Server, die die Geräte über die Einwahl erhalten haben, wenn du keine abweichenden Server konfigurierst.

Ein DNS Server hat einen vergrößerten Funktionsumfang. Z. B. Eine eigene Datenbank. Unbekannte Anfragen, werden an die Weiterleitungsziele des DNS Servers weiter geleitet.

Wenn du also, abweichende DNS Server konfigurierst, dann wird für die pfSense und die Clients die die pfSense nutzen, nicht die DNS Server deines Providers nutzen.

Die pfSense hat diverse Gründe selbst was Auflösen zu müssen. Das macht sie per default über 127.0.0.1.

Wenn du die Auswahl deiner Server getroffen hast, kannst du zusätzlich die Firewall konfigurieren, dass deine Netzwerke nur die beabsichtigten Server Nutzen können. Es gibt Software, die eigene DNS Auflösung betreibt und die Einstellungen des Systems, auf dem sie läuft ignoriert.
Member: Jensano
Jensano Mar 31, 2020 at 13:04:18 (UTC)
Goto Top
Im Grunde habe ich das alles schon in Erfahrung gebracht und oben geschrieben.

Ein DNS Server hat einen vergrößerten Funktionsumfang. Z. B. Eine eigene Datenbank. Unbekannte Anfragen, werden an die Weiterleitungsziele des DNS Servers weiter geleitet.
Wenn du hier mit "DNS Server" einen auf der PFSense meinst oder auch sonst einen den man sich zu Hause installiert, dann ist das Vorgehen eigentlich immer gleich.
Im Falle der PFSense:
  • Mein ISP forwarded seine DNS Server zu mir welche die PFSense einträgt.
  • Ich kann in der PFSense eigene externe DNS Server eintragen.
  • Ich kann PFSense so konfigurieren das sie
    • Die DNS Server von meinem Provider nutzt oder eben nicht.
    • Die DNS Server nutzt die ich unter General Setup selber eingetragen habe oder im Falle "DNS Resolve
    • Oder das die PFSense die großen Root DNS Server nutzt, was der DNS Resolver sofern man kein Forwarding eingestellt hat auch tut.
Die Vorgangsweise ist jedoch immer die selbe. Die PFSense fragt bei einem externen DNS Server nach der Namensauflösung an. Ich kann natürlich auch bei den "General Settings" einen Internen z.B. PiHole eintragen. Ist aber ein anderes Thema und auch der muss dann extern anfragen.

Deshalb noch einmal die Frage, was meinst du mit den DNS Serverfunktionen der PFSense genau? Meines Erachtens geht "die Datenbank" nicht über die Abfrage des Caches was aber der DNS Forwarder auch macht und die Host Overrides hinaus wenn es um das Bereitstellen von IP Adressen zu Hostnamen geht.

Die pfSense hat diverse Gründe selbst was Auflösen zu müssen. Das macht sie per default über 127.0.0.1
Die würden mich interessieren.
Habe es bisher so verstanden, das wenn der PFSense DNS Resolver aus seinem Cache IP Adressen bereitstellen soll dann muss als erste IP Adresse bei General Settings 127.0.0.1 stehen.

Das mit den NAT Regeln die das Tutorial mittels Destination 127.0.0.1 erstellt ralle ich aber immer noch nicht. Mein DNS Server ist unter der Interface IP erreichbar. Was soll da 127.0.0.1 für die NAT Regel?
Member: aqui
aqui Mar 31, 2020 at 17:07:28 (UTC)
Goto Top
Die 127.0.0.1 ist bekanntermaßen ja immer die interne Loopback Adresse bei unixoiden OS. (Glaube bei Winblows auch ?!) Wenn er sich also selber fragt dann immer über diese IP Adresse und nie über eine der externen, denn da bist du logischerweise von der Verfügbarkeit abhängig. Ist eine physische NIC mal weg oder nur der Link weg wärs dann aus mit DNS. Macht also wenig Sinn.
Eine Loopback IP ist immer erreichbar solange die Kiste Strom hat ! face-wink
Member: Jensano
Jensano Mar 31, 2020 at 19:47:29 (UTC)
Goto Top
Ja bei Windows auch.
Dann nähme ich jetzt mal an, ist da eine kleine Unbedachtheit in PFSense in der Automatischen Firewal Regel Erstellung für die Port Forwarding Einträge vorhanden.

Wenn ich standardmäßig ein Port Forwarding erstelle trage ich unter Redirect target IP die IP ein an den die Anfrage weitergeleitet wird. Der Anfragende benötigt dafür jedoch auch eine Genehmigung in den FIrewall Rules. Dafür gibt es nun unter den Port Forwarding Einstellungen den Eintrag Filter rule association = Create new associated filter rule Im Falle von der Redirect target IP = 192.168.1.1 macht das ja Sinn. Denn dabei wird eine Firewall Regel mit Zugriff auf 192.168.1.1 erstellt. Siehe Screenshot:

ERSTER FALL

Alle DNS Anfragen die nicht an die Interface IP Adresse gehen werden nach 192.168.1.1 umgeleitet, was in dem Fall wieder die Interface IP Adresse ist.
pf2.2 - firewall nat port forward

Mit "Filter rule association = Create new associated filter rule" wird die folgende Regel automatisch erstellt. Alle Zugriffe auf die 192.168.1.1 über Port 53 werden erlaubt. Macht hier auch Sinn und funktioniert. Da dies eine eindeutige IP Adresse ist egal von wo aus ich gucke.
pf2.2 - firewall rules lan1


ZWEITER FALL (Dies ist im Tutorial beschrieben)

Alle DNS Anfragen die nicht an die Interface IP Adresse gehen werden nach 127.0.0.1 umgeleitet. Jetzt wäre die Frage aus welcher Sichtweise hier die 127.0.0.1 betrachtet wird. Da das Portforwarding von der PFSense ausgelöst wird müsste es sie selber sein. Nur auf welche IP genau geht der Loopback jetzt?
pf2 - firewall nat port forward

Mit "Filter rule association = Create new associated filter rule" wird die folgende Regel automatisch erstellt. Alle Zugriffe auf die 172.0.0.1 über Port 53 werden erlaubt. So was soll das bitteschön heißen? Wer ist den hier nun 127.0.0.1? Der Client von dem die Anfrage kommt oder die PFSense die die Regel verarbeitet? Wenn welche IP Adresse? Die des Interfaces? Im Tutorial ist dies mit folgendem Zitat beschrieben
If DNS requests to other DNS servers are blocked, such as in the Blocking DNS queries to external resolvers example, ensure the rule to pass DNS to 127.0.0.1 is above any rule that blocks DNS.

Now any DNS request made to any external IP address will result in the query being answered by the firewall itself. Access to other DNS servers on port 53 is impossible.
Einen Zugriff für DNS Anfragen auf der PFSense bekomme ich damit auf jeden Fall nicht.
pf2 - firewall rules lan1