Absende Adresse der DNS Anfragen steuern
-
Hallo zusammen,
Ausgangslage:
die pfsense wird über DHCP in jedem lokalen Netzwerk als DNS Server verteilt. In der pfsense ist als ein pihole DNS Server als upstream Server eingetragen.Ziel ist es die pfsense Absende Adresse an das Pihole für jedes Netzwerk zu festzulegen.
Soll heißen:Client aus Netz1 --DNS Anfrage-->pfsense aus Netz1--DNS Anfrage mit pfsense adresse aus Netz 1-->pihole im Netz1
Client aus Netz2 --DNS Anfrage-->pfsense aus Netz2--DNS Anfrage mit pfsense adresse aus Netz 2-->pihole im Netz1
Derzeit nutzt die pfsense nur ihre Adresse aus Netz1, egal woher der ursprüngliche Client kommt.
-
@kall32
Hallo,so wie ich das verstehe, nutzt du auf der pfSense den Resolver und der leitet die Anfragen an den pihole weiter.
Damit funktioniert aber dein Vorhaben nicht. Dem Resolver kann man nicht klarmachen, dass er je nach Quelle eine andere IP bei der Abfrage verwendet.Das würde nur funktionieren, wenn du DNS Anfragen direkt per NAT an den pihole weiterleitest. Dann kannst du je nach Quell-Netz ein entsprechendes Masquerading konfigurieren.
Allerdings benötigst du am pihole auch die entsprechenden Routen, wenn die Quell-IP außerhalb seines Subnetzes sein soll. Ich würde daher eher eine eigene IP, aber im selben Subnetz, Netz1 in deinem Beispiel, für jedes Netz nehmen und diese dem pfSense Interface als virtuelle IP hinzufügen. -
@kall32 Da zweifle ich mal kurz das Prinzip an ;) Das hört sich für mich an, als würde man das Pferd verkehrt herum aufzäunen.
pfSense steht am nähesten am Internet, es macht also Sinn, wenn die Sense Upstream ist bspw. für die PiHole(s). Somit würde es dann aber keinen Sinn machen, die Sense als DNS rauszurollen und dort dann die PiHoles als Upstream anzugeben, nur damit die wieder irgendwas im Internet als Forwarder haben, da die PiHoles kein Resolving per default machen.
Sinnvoller wäre da für mich:
- PiHole(s) als Default DNS per DHCP rausgeben
- Intern Regeln, dass DNS erlaubt wird auf die PiHole IP(s)
- alles was intern DNS spricht auf PiHoles umleiten wenn was externes aufgerufen werden soll (redirect)
- In PiHoles pfSense als Upstream reinmachen
- pfSense Unbound im Resolver Mode laufen lassen
- in pfSense Regeln anlegen, dass intern nichts direkt gegen die Sense DNS machen darf (direkt an unbound) sondern alles via PiHole gefiltert wird
Dann wird Unbound sinnvoll genutzt mit DNSsec und Resolving (und nicht forwarding zu irgendeinem Datensammler) und intern wird durch PiHole aber ordentlich DNS gefiltert und kann über deren Admin UI sauber administriert werden.
Hab ich mit 2x Pis und Gravity hier zu Hause schon ewig so laufen und das brummt gut. Für Update/Redundanz einfach 2 PiHole Instanzen aufsetzen, 2. Instanz via Gravity an 1. Instanz dranhängen, dann muss man Blocklisten und Ausnahmen nur auf einer Instanz verwalten und hat trotzdem nen 2. PiHole als DNS zum Eintragen, dass es nen Fallback gibt.
Zusätzlich kann man ggf. noch ausgehend Port 853 (DoT) aus den internen Netzen verbieten und 443 auf bekannte DoH Server verbieten, damit irgendwelche internen Kisten den PiHole nicht "überspringen" können. (oder zumindest nicht so einfach).
Cheers