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

    Selektiver DNS Forwarder

    Scheduled Pinned Locked Moved Deutsch
    12 Posts 3 Posters 2.5k 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.
    • B
      benjsing
      last edited by

      Hallo,

      ich bin ein absoluter Anfänger, was pfsense angeht und probiere gerade einfach verschiedene Dinge darauf aus.

      Ist es möglich, einen selektiven DNS Forwarder einzurichten? Ich möchte, dass nur bestimmte Domains über alternative DNS Server laufen, alle anderen aber über den regulären.

      also

      • –> normaler DNS
        .domain1. --> DNSx oder DNSy
        sub.domain2.* --> DNSy oder DNSz

      Könnt Ihr mir sagen, wie ich dies einrichten kann? Danke & LG

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

        Hi,

        aktiviere den DNS Forwarder und richte für die gewünschten "abartigen" Domains ganz unten am Konfig-Tab "Domain Overrides" ein. Als Angeben reichen normalerweise die gewünschte Domain und die IP des DNS-Servers, von welchem die Info geholt werden soll.

        1 Reply Last reply Reply Quote 0
        • JeGrJ
          JeGr LAYER 8 Moderator
          last edited by

          Gleiches Prinzip funktioniert übrigens unter 2.2 auch mit dem DNS Resolver. Auch hier kann ein einzelner Hostname oder eine komplette Domain an einen gezielten DNS delegiert werden. Sind mehrere DNSe dafür zuständig, dann einfach zwei Einträge mit der gleichen Domain und den verschiedenen Nameservern anlegen (egal ob Forwarder oder Resolver).

          Don't forget to upvote 👍 those who kindly offered their time and brainpower to help you!

          If you're interested, I'm available to discuss details of German-speaking paid support (for companies) if needed.

          1 Reply Last reply Reply Quote 0
          • B
            benjsing
            last edited by

            Danke für die Tipps, ich werde das gleich mal austesten.

            Hat eine der beiden Möglichkeiten irgend einen Vorteil gegenüber der anderen? Oder warum geht das doppelt?

            1 Reply Last reply Reply Quote 0
            • JeGrJ
              JeGr LAYER 8 Moderator
              last edited by

              Es ist nicht doppelt, der Forwarder und Resolver bieten leicht differenzierte Möglichkeiten. dnsmasq (forwarder) wurde aber in neuen Installationen von unbound (resolver) als default ersetzt (u.a. auch weil FreeBSD 10 per default nun mit unbound daher kommt und nicht mehr mit bind9 aktiv).

              dnsmasq ist aber wirklich nur Forwarder und Cache während Unbound ein cachender recursiver DNS Server sein kann(!), somit also wesentlich mehr use cases abdeckt.

              siehe https://en.wikipedia.org/wiki/Comparison_of_DNS_server_software

              Grüße Jens

              Don't forget to upvote 👍 those who kindly offered their time and brainpower to help you!

              If you're interested, I'm available to discuss details of German-speaking paid support (for companies) if needed.

              1 Reply Last reply Reply Quote 0
              • B
                benjsing
                last edited by

                In einem Testszenario (VM) hat dnsmasq / DNS Forwarder wunderbar funktioniert. Jetzt wo ich pfsense auf echter Hardware laufen lassen, über die das gesamte Netzwerk mit dem Internet verbunden ist, klappt das nicht mehr.

                Unter Advanced habe ich die Werte in folgendem Format eingetragen
                address=/hulu.com/155.254.13.13

                Dies funktioniert -zumindest bei GeoBlockern- nicht. Der Anbieter ist dns4me; wenn ich deren Werte lokal (Test-VM mit dnsmasq) eintrage, funktioniert auch alles. Habt Ihr eine Idee, wo der Fehler liegen könnte?

                1 Reply Last reply Reply Quote 0
                • JeGrJ
                  JeGr LAYER 8 Moderator
                  last edited by

                  Und was soll der Eintrag genau tun? Und trägst du das nun in den Forwarder oder Resolver ein?

                  Don't forget to upvote 👍 those who kindly offered their time and brainpower to help you!

                  If you're interested, I'm available to discuss details of German-speaking paid support (for companies) if needed.

                  1 Reply Last reply Reply Quote 0
                  • B
                    benjsing
                    last edited by

                    Ich reanimiere dieses Topic nun noch mal, da ich wieder ein wenig Zeit habe, mich mit der Materie zu beschäftigen.

                    Mein Anbieter stellt mir eine dnsmasq config im folgenden Format

                    address=/secure.netflix.com/155.254.63.159
                    address=/cbp-us.nccp.netflix.com/155.254.63.157
                    address=/www.netflix.com/155.254.63.150
                    address=/bivl.netflix.com/155.254.63.148
                    address=/api-eu.netflix.com/155.254.63.147
                    address=/cbp-eu.nccp.netflix.com/155.254.63.145
                    address=/api.netflix.com/155.254.63.143
                    address=/www2.netflix.com/155.254.63.142
                    address=/htmltvui-api.netflix.com/155.254.63.117
                    address=/cbp.nccp.netflix.com/155.254.63.109
                    address=/redirects-eu.nccp.netflix.com/155.254.63.107
                    address=/android.nccp.netflix.com/155.254.63.101
                    address=/playstation.nccp.netflix.com/155.254.63.100

                    oder eine hosts Datei in folgendem Format zur Verfügung

                    155.254.63.159 secure.netflix.com
                    155.254.63.157 cbp-us.nccp.netflix.com
                    155.254.63.150 www.netflix.com
                    155.254.63.148 bivl.netflix.com
                    155.254.63.147 api-eu.netflix.com
                    155.254.63.145 cbp-eu.nccp.netflix.com
                    155.254.63.143 api.netflix.com
                    155.254.63.142 www2.netflix.com
                    155.254.63.117 htmltvui-api.netflix.com

                    Dies sind nur kurze Ausschnitte, die eigentlichen Dateien sind sehr lang (und deshalb auch nur sehr schwer als Domain Overrides anzulegen).

                    Es gibt zudem eine hostfile API url, sodass sich geänderte Werte automatisiert übernehmen lassen.

                    Nun möchte ich a) diese Einstellungen nur für einzelne Geräte im Netzwerk aktivieren (solche, die Medien abspielen) und b) diese Einstellungen den Geräten "aufzwingen"; will heißen, ich kann zwar die pfSense-IP als Proxy nutzen, dies aber nicht bei allen Geräten (z.B. Chromecast). Ist es dennoch möglich, dass pfSense sämtlichen Traffic festgelegter Geräte anhand der Regeln im obigen Format umleitet?

                    Ich habe die dnsmasq config im Forwarder sowie im Resolver getestet, beides ohne Erfolg. Könnt Ihr mir sagen, was ich falsch mache bzw. gibt es einen anderen Service, der hierfür vielleicht besser geeignet ist?

                    1 Reply Last reply Reply Quote 0
                    • JeGrJ
                      JeGr LAYER 8 Moderator
                      last edited by

                      Ahoi,

                      es steht dir ja frei deine Clients nach belieben zu konfigurieren. Wenn du die Liste importierst/sonstwie in den Forwarder kloppst, kannst du den Geräten zum Aufzwingen als DNS eben die pfSense geben und allen anderen reichst du per DHCP oder manuell eben einen anderen DNS weiter.

                      Ansonsten gäbe es noch die Möglichkeit, das evtl. via OpenDNS zu machen, müsste man aber einlesen (in pfSense deren DNSe eintragen und dort in der WebUI deine Werte zu überschreiben).

                      Don't forget to upvote 👍 those who kindly offered their time and brainpower to help you!

                      If you're interested, I'm available to discuss details of German-speaking paid support (for companies) if needed.

                      1 Reply Last reply Reply Quote 0
                      • B
                        benjsing
                        last edited by

                        Ich checke das einfach nicht…

                        DNS forwarder

                        • Enable DNS forwarder
                        • Register DHCP leases in DNS forwarder
                        • Static DHCP
                        • Query DNS servers sequentially
                          Listen Port 53 (leer gelassen)
                          Interfaces: All
                          Advanced: address=/secure.netflix.com/155.254.63.159
                          address=/cbp-us.nccp.netflix.com/155.254.63.157
                          (etc.)

                        Dann im DHCP server
                        DHCP Static Mappings for this interface -> entsprechendes Gerät auswählen

                        DHCP: Edit static mapping
                        DNS servers: IP von pfSense

                        Save und Apply Changes.

                        Nun sollte das bestimmte Gerät pfSense als DNS Server nehmen und über dnsmasq entsprechend mitgeteilt bekommen, dass es eben die unter Advanced angegebenen Einstellungen nehmen soll....? Zumindest am Beispiel netflix funktioniert das nicht.

                        Der Anbieter bietet alternativ noch die Möglichkeit, seine DNS Server zu nutzen. Die würde ich einfach im General Setup eintragen. Allerdings wollte ich vermeiden, dass sämtlicher Traffic über den Anbieter läuft (lieber 4.2.2.2). Die Variante hat aber zumindest in der Vergangenheit schon mal funktioniert... Oder habe ich einfach nur eine Einstellung nicht richtig aktiviert?

                        1 Reply Last reply Reply Quote 0
                        • B
                          benjsing
                          last edited by

                          Anscheinend wollte ich es einfach nur zu kompliziert ^^

                          Wenn ich im DHCP Server einfach den einzelnen Geräten die passenden DNS Server zuweise, funktioniert alles, wie es soll. In diesem Fall wird dnsmasq in pfSense gar nicht benötigt. Dadurch, dass sowieso nur bestimmte Geräte im Netzwerk überhaupt Medien abspielen und daher die speziellen DNS Server nutzen müssen, ist das als quick and dirty Lösung erstmal okay. Schöner wäre es trotzdem, wenn selbst die festgelegten Geräte ausschließlich bei Netflix, Hulu und Co. überhaupt auf diese DNS Server zurückgreifen würden. Dies klappt aber zumindest nicht via DNS forwarder mit advanced rules.

                          Da auch für alle möglichen Subdomains (siehe Beispiel im letzten Post) verschiedene Server angesprochen werden, ist es auch ziemlich mühsam, für jeden einzelnen davon per Hand Overrides zu erstellen.

                          Naja, für heute läuft das erstmal so, ich befasse mich morgen mal in Ruhe damit. Vielleicht lag es auch daran, dass ich die Verbindungen zwischendurch nicht unterbrochen hatte?? Beispiel: Mac ist via LAN verbunden, trotz mehrmaliger Änderung der DNS Server in pfSense wurden diese nicht übernommen, bis ich das Kabel einmal gezogen und wieder neu verbunden hatte (auch nicht beim Neustart von pfSense)…

                          1 Reply Last reply Reply Quote 0
                          • JeGrJ
                            JeGr LAYER 8 Moderator
                            last edited by

                            trotz mehrmaliger Änderung der DNS Server in pfSense wurden diese nicht übernommen, bis ich das Kabel einmal gezogen und wieder neu verbunden hatte (auch nicht beim Neustart von pfSense)…

                            Das würde nicht überraschen. Du startest zwar den DNS Forwarder durch, aber das Gerät selbst holt sich erst nach Ablauf des DHCP Leases neue Daten vom DHCP Server. Wenn du also dort was verändert hast um den MAC bspw. direkt einen DNS Server zu pushen, dann müsstest du schon manuell das Lease neu holen. (siehe unter Windows das übliche ipconfig /renew)

                            Muss allerdings gestehen, dass ich das Problem mit dem "Advanced" nicht ganz verstehe, bzw. warum du den Advanced Block selbst schreibst und nicht den Override Block in der GUI verwendest? Ansonsten kann man das ja recht einfach manuell testen in dem man von einem Client gegen den Forwarder der pfSense einen nslookup/dig macht und prüft, was als Ergebnis zurückkommt. Ich vermute da irgendwie einen Käfer in der Config ;) Aber das ist schwer zu debuggen wenn mans nicht selbst nachbaut :)

                            Grüße

                            Don't forget to upvote 👍 those who kindly offered their time and brainpower to help you!

                            If you're interested, I'm available to discuss details of German-speaking paid support (for companies) if needed.

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