Auf dem Gerät, das es falsch macht, sieht das aber so aus:IP-Adresse des Gerätes (172.16.1.xy) -> Adresse im Internet (also nach draußen geroutet, obwohl es hier intern läuft)
Nein, "die Adresse im Internet" ist die IP-Adresse unserer Domain im Internet ... also eine "echte" / geroutete Adresse "da draußen".
nslookup heise.de;; communication error to 172.16.16.253#53: timed out
Was Du schreibst, passt aber nur halb ins Bild, denn ich sehe im Pi-Hole ja durchaus jede Menge Statistik und Zugriffe ... das scheint also grundsätzlich schon zu funktionieren?!
Die Sache, dass mit dem Masquerading "alle Anfragen, die über die OPNsense gehen nicht die originale Client IP sehen" ist natürlich unschön.
Wenn NAT Reflection innerhalb desselben Subnetzes funktionieren soll, braucht es übrigens ebenfalls ein S-NAT auf die Interface IP.
Mir ist leider noch nicht ganz klar, in welchen Fällen bzw Subnetzen ich das S-NAT auf jeden Fall benötige aber das lässt sich ja vielleicht auch noch klären.
Deinen letzten Satz QuoteWenn NAT Reflection innerhalb desselben Subnetzes funktionieren soll, braucht es übrigens ebenfalls ein S-NAT auf die Interface IP.musst Du leider auch nochmal genauer erklären ... wo/wie muss ich das einstellen?
1. Client stellt eine DNS Anfrage auf 8.8.8.8. > Paket geht zum Gateway. (Quelle: 10.0.0.3, Ziel: 8.8.8.8 )2. Die Portweiterleitung in OPNsense leitet es auf 10.0.0.2. (Quelle: 10.0.0.3, Ziel: 10.0.0.2)3. Der Server erhält das Paket und schickt die Antwort auf die Quell-IP im Paket, also 10.0.0.3. (Quelle: 10.0.0.2, Ziel: 10.0.0.3)4. Der Client erwartet aber keine Antwort von 10.0.0.3, den hat er ja auch nicht gefragt und ignoriert das Paket.
Und deswegen verstehe ich bis heute nicht, wozu solche Weiterleitungen gut sein sollen.1. Gib den Clients per DHCP dein PiHole oder was auch immer als DNS Server.2. Blockiere alle das Netz verlassenden DNS-Requests außer denen vom PiHole ins Internet.