Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Unbound durch OpenVPN Client tunneln, sofern verfügbar

    Scheduled Pinned Locked Moved Deutsch
    vpnunboundfirewall rulesdns resolveropenvpn client
    11 Posts 3 Posters 1.4k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      Logic
      last edited by

      Moin moin,

      ich bräuchte einmal einen schlauen Tipp, da ich dem Problem irgendwie nicht auf die Sprünge komme oder ggf. an irgendeinem Cachen hänge und das Problem nicht sehe.

      Aufgabenstellung:
      Unbound läuft auf pfsense (2.4.5-RELEASE-p1) als Resolver für das lokale Netzwerk. Zusätzlich existiert ein OpenVPN Client (Interface: OPT2). Ziel ist es, dass Unbound seinen Traffic durch OPT2 schickt, sofern dieses verbunden ist. Ist OPT2 down, soll Unbound über WAN raus gehen.

      Hintergrund:
      Per Firewall-Regeln werden einige lokale Geräte anhand ihrer IP-Adresse schon über OPT2 geschickt, so dass diese korrekt das VPN nutzen. Lösen diese jedoch DNS-Anfragen aus, werden diese von Unbound direkt über WAN abgesetzt. Das ist nicht gewünscht.

      Die optimale Lösung wäre, dass nur DNS-Anfragen von Geräten, welche durch das VPN gehen, auch durch das VPN geschickt werden, jedoch würde es auch reichen wenn alle DNS-Anfragen pauschal durchs VPN gehen - sofern dieses verfügbar ist. Ich denke nämlich nicht, dass ich diese Geräte an/durch Unbound trennen kann, sofern diese nicht unterschiedliche DNS-Resolver nutzen (z.B. zweiten Resolver in einer extra VM extra für VPN Geräte).

      Da der VPN-Tunnel keine Hochverfügbarkeit garantiert sollten im Notfall jedoch DNS-Anfragen auch über WAN raus gehen, sofern OPT2 down ist. Die Geräte selbst werden per Floating-Rule vorzeitig abgefangen, so dass bei VPN-Ausfall diese nicht über WAN raus gehen.

      DNS-Auflösung dürfte aber nicht komplett ausfallen, da dadurch viele weitere Geräte betroffen sind, was nicht gut wäre. Zusätzlich muss ich Unbound als Resolver laufen lassen, da für LAN einige Domains bzw. Subdomains anders aufgelöst werden müssen, damit der Traffic im LAN bleibt und nicht durch die Subdomains im öffentlichen DNS aufgelöst werden (Traffic würde dann erst durch WAN raus und dann wieder rein kommen, das soll vermieden werden). Eine Umstellung auf Forwarding fällt somit meines Wissens raus.

      Pauschal möchte ich nicht Port 53 von LAN->WAN durch OPT2 schicken, da ich nicht ausschließen kann, dass ein Gerät nicht mal einen anderen DNS wie z.B. 8.8.8.8 nutzen muss. Daher soll nur Unbound selbst umgeleitet werden.

      Aktueller Stand:
      Derzeit bekomme ich es nicht hin Unbound durch den OpenVPN Client zu leiten. Als "Outgoing Network Interfaces" sind bei Unbound nur WAN eingestellt. OPT2 kann ich hier nicht wählen, da bei VPN-Ausfall der Resolver nicht funktioniert.

      Ich habe schon mit Firewall-Regeln versucht hier 127.0.0.1:53 irgendwie durch OPT2 zu schicken, jedoch scheitert dann die DNS-Auflösung sofort (getestet mit Diagnostics - DNS Lookup in pfsense). Daher bin ich nun am überlegen, ob das was ich vorhabe überhaupt mit pfsense und dem eingebauten Unbound funktioniert.

      Wenn ich einen Linux-Client, welcher durch das VPN geht, mit "dig @8.8.8.8 heise.de" eine Domain durchs VPN anfragen lasse, dann erhalte ich hier eine valide Antwort. Ich würde somit ausschließen, dass der VPN Client Port 53 oder ähnliches blockiert/verhindert.

      Jedoch stehe ich langsam nur noch mit Fragezeichen überm Kopf da und weiß nicht, was ich falsch mache oder ob dies überhaupt möglich ist.

      Für jeden Hinweis und eure investierte Zeit bin ich sehr dankbar!

      Notlösung:
      Sollte sich keine Lösung finden lassen, bin ich geneigt in einer Mini-VM oder Container einen eigenen Resolver aufzusetzen, welchen ich dann ähnlich den anderen Geräten anhand seiner IP durchs VPN schicken kann. pfsense würde als Forwarder dann diesen Resolver nutzen. Jedoch würde ich gerne diese zusätzliche VM/Container vermeiden, sofern möglich.

      1 Reply Last reply Reply Quote 0
      • Bob.DigB
        Bob.Dig LAYER 8
        last edited by Bob.Dig

        Eine Möglichkeit, die bei mir ganz gut zu funktionieren scheint, ist, den "VPN-Nutzern" per DHCP zu erst den Resolver und danach weitere DNS-Server, wie google, Quad9 oder eines VPN-Providers, vorzugeben und gleichzeitig im Resolver diesen VPN-Nutzern nicht-lokale Anfragen zu verbieten.

        Es ist zwar nicht wie in der Überschrift gefordert, aber für mich zumindest eine praktikable Lösung, keine bösen DNS-Leaks mehr. 😉

        Finde das Thema auch interessant, wer noch andere Lösungen kennt, nur her damit.

        L 1 Reply Last reply Reply Quote 0
        • L
          Logic @Bob.Dig
          last edited by

          @bob-dig Vielleicht verstehe ich deine Antwort nicht (sehr wahrscheinlich sogar) aber wie soll es bei meinem Problem helfen?

          Ziel bzw. Problem ist ja, dass ich den lokalen Resolver ebenfalls durchs VPN schicken möchte, dies aber nicht hinbekomme.

          In wie weit soll die von dir vorgestellte Lösung da hilfreich sein? Vielleicht magst du mir es kurz einmal erklären, da ich - wie gesagt - vermutlich den springenden Punkt noch nicht sehen kann.

          Bob.DigB 1 Reply Last reply Reply Quote 0
          • Bob.DigB
            Bob.Dig LAYER 8 @Logic
            last edited by Bob.Dig

            @logic Mir ging es um das Thema DNS-Leaks, vielleicht habe ich dich auch falsch verstanden.

            L 1 Reply Last reply Reply Quote 0
            • L
              Logic @Bob.Dig
              last edited by

              @bob-dig Bei deiner Variante hat man aber doch dennoch Leaks oder sehe ich das falsch?

              Also ja, mir geht es grundsätzlich auch um die Leaks. Aber um diese zu Verhindern müssten die DNS-Anfragen ja über den gleichen VPN-Tunnel wie die VPN-Nutzer.

              Das ist praktisch mein Kernproblem, was ich angehen möchte.

              Bob.DigB V 2 Replies Last reply Reply Quote 0
              • Bob.DigB
                Bob.Dig LAYER 8 @Logic
                last edited by Bob.Dig

                @logic Genau auf DNS-Leaks geht meine Lösung ein.

                Und ich habe es jetzt mal ein Stück weit verifiziert. In Unbound landen die Anfragen wirklich nicht, wenn es nach dem Log geht. 🙂

                1 Reply Last reply Reply Quote 0
                • V
                  viragomann @Logic
                  last edited by

                  @logic
                  Hallo,

                  dass du diesen Post in der Folge noch fein säuberlich ins Englische übersetzt hast, lässt annehmen, dass dich die Lösung von @Bob-Dig nicht zufriedenstellt.
                  Was stört dich daran? Ich denke, es sollte doch so funktionieren.

                  L 1 Reply Last reply Reply Quote 0
                  • L
                    Logic @viragomann
                    last edited by

                    @viragomann So, kam leider erst jetzt darum mich weiter mit dem Thema zu beschäftigen.

                    Grundsätzlich habe ich den Beitrag zusätzlich eingestellt um einfach eine zweite Meinung bzw. weitere Vorschläge zu bekommen. Es kann ja gut sein, dass irgendwer noch eine andere Lösung hat, welche aufgrund von anderen Vor-/Nachteilen mir mehr zusagt.

                    Hab die Lösung von @Bob-Dig noch nicht verifizieren können, jedoch habe ich bislang aus seinen Antworten noch nicht erfassen können, wie er/sie sicherstellt, dass der Unbound-Traffic durch den VPN-Tunnel geht. Aber ich werds mal ausprobieren.

                    V 1 Reply Last reply Reply Quote 0
                    • V
                      viragomann @Logic
                      last edited by

                      @logic said in Unbound durch OpenVPN Client tunneln, sofern verfügbar:

                      Hab die Lösung von @Bob-Dig noch nicht verifizieren können, jedoch habe ich bislang aus seinen Antworten noch nicht erfassen können, wie er sicherstellt, dass der Unbound-Traffic durch den VPN-Tunnel geht.

                      Tut er nicht. Die Clients müssen selbst öffentliche DNS-Server abfragen, wenn es um nicht-lokale Domains geht. Und diese Abfragen werden über die VPN geroutet. Damit hat er kein DNS-Leak.

                      Und für lokale Domains können sie den Resolver nutzen.

                      L 1 Reply Last reply Reply Quote 1
                      • L
                        Logic @viragomann
                        last edited by

                        @viragomann Ergo ist es keine Lösung für mein Problem ;)

                        1 Reply Last reply Reply Quote 0
                        • Bob.DigB
                          Bob.Dig LAYER 8
                          last edited by Bob.Dig

                          Musste leider feststellen, dass "meine" Lösung wohl nur eine gewisse Zeit funktioniert. Irgendwann scheint es so, dass Windows den "ersten" DNS-Server nicht mehr nutzt und daher interne Namen nicht mehr auflöst.
                          Habe daher vorerst auf IPs umgestellt.

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post
                          Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.