Unbound nutzt Tunnel nicht / DNS-Loop

Started by HrzM, September 18, 2021, 12:35:02 AM

Previous topic - Next topic
September 18, 2021, 12:35:02 AM Last Edit: September 18, 2021, 01:06:15 AM by HrzM
Hallo,

ich hab ein Problem mit Unbound im Zusammenspiel mit einem NordVPN-Tunnel.

Ich möchte das alle DNS-Anfragen in den NordVPN-Tunnel gehen, allerdings gelingt mir das nur bedingt mit komischen Effekten die ich nicht verstehe.  :(

Der Tunnel steht und für den Tunnel ist NAT konfiguriert und funktioniert auch grundsätzlich.

Wenn ich in Unbound als "Outgoing Network Interfaces" das VPN-Interface definiere, dann wird diese Einstellung absolut ignoriert. Alle Anfragen gehen weiter über das WAN-Interface. Zwischendurch hat das mal funktioniert, plotzlich nicht mehr...  :-\  verstehe ich zwar auch nicht, ist aber noch nicht mal das Hauptproblem.

Aktiviere ich den "Forwarding Mode" , dann gingen die Anfrage zunächst auch über WAN, allerdings konnte ich das durch setzen des Parameter "Use gateway" in den Generell-Settings "fixen", sodass die Anfragen durch den Tunnel gehen.

Soweit so gut, jetzt kommt was mich in den Wahnsinn treibt.
Wenn ich das "Gateway" für die default Firewall-Rule auf den Tunnel änder, gehen plötlich alle DNS-Anfrage vom VPN-Interface auf das LAN-Interface. Nicht DNS-Anfragen aus dem LAN gehen in Tunnel wie gewünscht, aber DNS funktioniert nicht mehr.


Für wertvolle Tipps und ein wenig Hilfe wäre ich sehr dankbar.


System ist ein OPNsense 21.7.2_1. mit LAN + WAN (pppoe)

September 18, 2021, 01:25:30 AM #1 Last Edit: September 18, 2021, 01:30:14 AM by dsecure
Ich denke du suchst so etwas wie das hier:

https://forum.opnsense.org/index.php?topic=9245.0

Du müsstest versuchen, deinen DNS Traffic über die VPN zu zwingen. Ich bin kein Experte, aber ich glaube, du musst deiner Sense sagen, dass der VPN Tunnel ein Gateway ist. Dann kannst du unter System deinen DNS Server eingeben und als Upstream Server, den neuen Gateway verwenden, welcher den VPN nutzt.

Das wäre so ungefähr meine Vorgehensweise. Aber wichtig ist, dass du alles was über 53 läuft, dazu zwingst und wenn du konsequent sein willst, wären auch Vlans usw. angeraten, damit keine leaks entstehen. Anschließend testest du deine DNS Konfiguration, siehe unter anderem auch hier: https://www.dnsleaktest.com/

Ach ja, das kannst du mit DNS over TLS ebenfalls so machen, nur DoH kann dann noch zum Problem werden.

Viel Erfolg =)

September 18, 2021, 03:35:05 PM #2 Last Edit: September 18, 2021, 03:37:26 PM by HrzM
Danke für die Rückmeldung aber in dem verlinkten Beitrag geht es ja darum das alle DNS-Anfragen aus dem lokalen Netz auf die Sense gebogen werden.

Mein Problem ist etwas vereinfachter dahrgestellt, dass die Sense keine DNS-Anfragen beantworten kann, sobald ich meinen Traffic in den Tunnel leiten möchten.

Normalerweise sollte Unbound die Anfragen ja an die Root-DNS oder im Forwarding-Modus an die DNS-Server aus den System-Serttings leiten, das funtioniert aber leider nicht. Ubound schikt die Anfragen wieder an sich selbst.

Wie im angehängten Screen zusehen, gehen die DNS Anfragen vom VPN-Interface auf mein LAN-Interface, das macht überhaupt keinen Sinn.


September 18, 2021, 04:12:27 PM #3 Last Edit: September 18, 2021, 04:50:04 PM by dsecure
Das ergibt wirklich keinen Sinn xD

Wie hast du Unbound jetzt aktuell konfiguriert, leitest du DNS weiter oder verwendest du Unbound als Resolver?

Was ich nicht verstehe bei deiner Konfig, warum sollte aus dem VPN eine DNS Anfrage beantwortet werden, im ersten Post hast du doch geschrieben, dass die Anfrage vom LAN über VPN nach draußen gehen soll? Falls ich das richtig verstanden habe.

Willst du dann selektieren, welche Anfragen über VPN gehen und welche nicht oder hast du eine andere Intention? Ein paar mehr Infos wären schon hilfreich, evtl. auch mal einen Netzwerkplan zeichnen, damit man sich das besser vorstellen kann. ;)

Auf welcher Schnittstelle hört Unbound?

"Wenn ich das "Gateway" für die default Firewall-Rule auf den Tunnel änder, gehen plötlich alle DNS-Anfrage vom VPN-Interface auf das LAN-Interface. Nicht DNS-Anfragen aus dem LAN gehen in Tunnel wie gewünscht, aber DNS funktioniert nicht mehr."

Mach mal ein Bild von deiner FW-Rule....

"Wenn ich in Unbound als "Outgoing Network Interfaces" das VPN-Interface definiere, dann wird diese Einstellung absolut ignoriert. Alle Anfragen gehen weiter über das WAN-Interface. Zwischendurch hat das mal funktioniert, plötzlich nicht mehr...  :-\  Verstehe ich zwar auch nicht, ist aber noch nicht mal das Hauptproblem."

Ok, deswegen meinte ich ja, du solltest das über eine FW Regel machen, damit die DNS Anfrage erzwungen wird, du musst es ja nicht genau so machen, wie in meinen Link angegeben. DNS Anfragen können dann aber von Clients im LAN auch an andere DNS Server geschickt werden.



September 18, 2021, 04:48:36 PM #4 Last Edit: September 18, 2021, 04:51:59 PM by HrzM
Läuft momentan "Query Forwarding"-Modus und hört auf "ALL" (Wenn ich auf LAN stellte ändert das nichts).

Unbound soll meine DNS-Anfagen benatworten, das macht Unbound auch, aber sobald ich das Gateway für meinen LAN-Traffic änder, sendet Unbound die Anfragen nicht mehr an die Upstream-Server (oder Root.-Server),  sondern sich selbst bzw. das LAN-Interface.

Sobald ich ich wie im Screenshot zu sehen das Gateway auf den VPN änder, sendet Unbound sine Anfragen an mein LAN-Interface wie oben im Screenshiot zu sehen.

September 18, 2021, 04:54:44 PM #5 Last Edit: September 18, 2021, 06:31:44 PM by dsecure
Oke, ich habe noch eine Idee, ansonsten müsste ich länger drüber nach denken.

Mach bitte mal bei Interfaces -> WAN -> IPv4 Upstream Gateway den VPN rein.
Edit: Es kommt hier natürlich drauf, wie NAT konfiguriert ist.


Meine Begründung wäre folgende:

Sense leitet doch mittels NAT den Traffic der von LAN kommt, an den Standard Gateway nach draußen weiter... soweit so gut. Die FW-Regeln schauen doch erst mal nur, ob eine Verbindung erlaubt ist oder nicht. Wenn du etwas Umleiten willst, musst du Port Forwarding einstellen, das ist für mich auf die Schnelle nicht sooo easy.

Gehst du mit meiner Überlegung so weit konform?

Warum die Einstellung bei Unbound für das VPN Interface nicht greifen möchte, ist mir auch ein Rätsel. Normalerweise sollte auch ohne diese Option, alles über den Standard Gateway laufen, insofern keine besonderen Port Forwarding Regeln definiert wurden.

September 18, 2021, 06:29:15 PM #6 Last Edit: September 18, 2021, 09:02:50 PM by dsecure
Quote from: HrzM on September 18, 2021, 12:35:02 AM
[...]

Der Tunnel steht und für den Tunnel ist NAT konfiguriert und funktioniert auch grundsätzlich.

[...]

Ah, dann ist mein vorheriger Post obsolet, sorry. Dann weiß ich es auch nicht ehrlich gesagt. Es wäre begrüßenswert, falls du es noch hinbekommen solltest, wenn du die Lösung mit uns teilst.

Trotzdem danke für deine Unterstüzung.

Ich hab das Problem jetzt durch eine zusätzliche FW-Regel für Port 53 "gelöst". Für Port 53 wird jetzt das default GW genutzt, eine zweite Regel schmeißt alles in den Tunnel.

Dadurch das in Unbound als "Outgoing Network Interfaces" das VPN-device hinterlegt ist leitet Unbound seine Anfragen auch in den Tunnel.

So richtig zufrieden bin ich mit der Lösung nicht, schon alleine weil sie nicht verstehe...  :-\