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

    [Gelöst] dnsmasq/DNS Forwarder: umfangreiche DNS-Liste blockieren

    Scheduled Pinned Locked Moved Deutsch
    9 Posts 5 Posters 3.0k 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.
    • G
      guru_meditation
      last edited by

      Hat wer Erfahrung mit DNSMasq und wie man erfolgreich eine umfangreiche Blockliste mit

      address=/adverts.com/

      respektive

      server=/adverts.com/

      konfiguriert?

      Ich fahre 'ne APU mit NanoBSD 2.2.6. Meine Erfahrung mit der GUI: Host bzw. Domain Overrides erzeugt in der XML-Konfigdatei zu viel Text. Eine Liste mit 20.000 Einträgen war nach einem Neustart nach 6 Stunden noch nicht fertig eingelesen.

      Also versuche ich, die Einträge nach dem obigen Muster address= lokal aufm Linux-Rechner zu testen und dann in das Eingabefeld "Advanced" zu übernehmen.

      Bei 300 Einträgen klappt das vorzüglich, bei 30.000 Einträgen startet dnsmasq einfach nicht mehr und hinterläßt auch keine Spuren in den Logfiles.

      Wer weiß Rat?

      Update:

      1. Wenn ich die Domains (Beispieleintrag: address=/bsp.tld/) mit Leerzeichen statt <lf>getrennt in das Textarea-Feld "Advanced" einzugeben, rödelt pfsense eine Weile rum und startet dann dnsmasq. Beim wiederholten Aufrufen der Konfig-Seite ist das Feld "Advanced" aber leer.
      2. Schiebe ich dnsmasq die Domains über eine dnsmasq.xml unter, erscheinen diese zwar im Feld "Advanced", aber dnsmasq startet nicht. grrr</lf>
      1 Reply Last reply Reply Quote 0
      • D
        Donar
        last edited by

        Hallo

        müsste der Eintrag nicht folgendermaßen aussehen?

        
        address=/domain.tld/127.0.0.1
        
        
        1 Reply Last reply Reply Quote 0
        • G
          guru_meditation
          last edited by

          address=/override.tld/127.0.0.1 ist die "normale" Syntax zur Vorgabe bestimmer Domains. Das läßt sich auch mit Angabe einer (zusätzlichen) Host-Datei nach dem Muster

          127.0.0.1 override.tld

          erreichen. Bei Weglassen der IP-Adresse liefert dnsmasq die Meldung "NXDOMAIN" (Domäne nicht gefunden/vorhanden) zurück. Das ist in der Praxis als Werbeblocker effizienter, weil der Browser erst gar keine weitere Anfrage ins Netz stellt. Keine Anfrage, kein Timeout, bis zu dem man die Website u.U. nicht anschauen kann.

          Zurück zu dnsmasq: Der Hund liegt in pfSense begraben, wie ich feststellen durfte. Zumindest die NanoBSD-Variante übergibt sämtliche Parameter nicht als Datei, sondern beim Programmstart auf Kommandozeilenebene. Ein

          ps -Aww | grep dnsmasq

          spuckt bei mir 5 Zeilen Parameter aus (900 Zeichen). Das heißt: jeder Domain/Host Override erzeugt weitere Zeichen, und irgendwann ist die maximale Länge der Shell erreicht.

          Die "einfache" Lösung war dann: eine mehrere hundert KB schwere Blocklist nach /cf/conf zu kopieren, damit beide nanoBSD-Images darauf zugreifen können,  und im Feld "Advanced" im GUI den Parameter

          conf-file=/cf/conf/dnsmasq.conf

          anzugeben. Oder, weil pfSense wegen angeblich ungültigem Befehl gemeckert hat, das in die config.xml reinzuschreiben und für den DNS forwarder zu importieren (Restore). Funzt und die Seiten werden endlich wieder flott werbefrei geladen.

          Unbound: Es gibt an verschiedenen Stellen des (englischsprachigen) Forums den Vorschlag, unbound (DNS resolver) statt dnsmasq zu verwenden. Das ist einerseits für meine Zwecke overkill, andererseits enthält ein Domaineintrag wesentlich mehr Zeichen, so daß (in der Annahme, daß es auch hier keine Konfigurationsdatei gibt) noch weniger Domains gesperrt werden können.

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

            Hallo zusammen,

            einen Zusatz zu @guru hätte ich noch:

            Unbound: Es gibt an verschiedenen Stellen des (englischsprachigen) Forums den Vorschlag, unbound (DNS resolver) statt dnsmasq zu verwenden. Das ist einerseits für meine Zwecke overkill, andererseits enthält ein Domaineintrag wesentlich mehr Zeichen, so daß (in der Annahme, daß es auch hier keine Konfigurationsdatei gibt) noch weniger Domains gesperrt werden können.

            Es gibt schon einen Grund, warum unbound seit 2.2 gern per Default aktiv ist, u.a. weil er eben mehr Möglichkeiten bietet, aber auch genauso simpel wie dnsmasq als Forwarder arbeiten kann (Haken rein und gut). Ein Grund ist aber auch der Folgende:

            https://forum.pfsense.org/index.php?topic=102470.msg572943#msg572943

            unbound wird z.B. von pfBlockerNG genutzt, um hier AdBlocking zu realisieren und das soweit ich gesehen habe recht automatisch. Das manuelle basteln mit conf-file via dnsmasq etc. sollte damit überflüssig sein. Vielleicht mag das jemand testen? :)

            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
            • G
              guru_meditation
              last edited by

              @JeGr: Danke für den Hinweis auf pfBlockerNG. Ich habe mir das mal angeschaut:

              Ohne zu sehr ins Detail gegangen zu sein, habe ich bei pfBlockerNG lediglich mit "EasyList" eine Liste gefunden, in der ich einzelne Kategorien mit vorbelegten DNS-Einträgen (Adservers, Tracking) auswählen kann.

              Dort kann man weder sehen, welche Domains enthalten sind, noch kann ich manuell Domains hinzufügen.

              Imgrunde ist DNS-Blocken eher eine unter vielen Funktionen von pfBlockerNG, die für mich Overkill wären.

              Als Adblocker mit einer Konfigurationsdatei von ca. 700KB tut dnsmasq gute Dienste. Mit der externen Liste liegt die Startzeit (Restart im Menü Services) unter Verwendung der APU bei fünf bis sechs Sekunden. Verglichen mit dem, was SquidGuard nach jeder Änderung rumrödelt ist das Lichtgeschwindigkeit.

              Bildschirmfoto---03.03.png
              Bildschirmfoto---03.03.png_thumb

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

                Dort kann man weder sehen, welche Domains enthalten sind, noch kann ich manuell Domains hinzufügen.

                Es ist doch eindeutig genannt, welche Domains enthalten sind, nämlich die Einträge der EasyList bzw. EasyPrivacy Listen, die bspw. auch für AdBlocker wie Ublock und Co aktiv sind.
                Zusätzlich ist in meinem Link unter "DNSBL" m.E. auch genau beschrieben, wie eigene Listen hinzugefügt werden können:

                Zitat:

                Enter the Header/Label and Source URL as follows:
                (Use copy/paste as plain text for the URL)

                Adaway: https://adaway.org/hosts.txt
                …

                Natürlich ist es aber auch schön wenn das bei dir so funktioniert und das tut, was du möchtest. Ich denke nur dass es gerade bei Adware/Adverts einfacher ist, wenn man eine Liste lädt, die ggf. extern betreut und angepasst wird, anstatt man selbst die Liste runterladen und aktuell halten muss :)

                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
                • T
                  TeeConnector
                  last edited by

                  Vielleicht eine andere Alternative:
                  https://pi-hole.net/

                  ist alles auf der Kommandozeile, aber macht bei mir genau was ich möchte.
                  Läuft bei mir zwar noch auf dem Pi aber soll auf die pfSense wandern

                  1 Reply Last reply Reply Quote 0
                  • N
                    nima
                    last edited by

                    @TeeConnector:

                    aber soll auf die pfSense wandern

                    Klingt toll. Und wie willst du das machen?

                    1 Reply Last reply Reply Quote 0
                    • T
                      TeeConnector
                      last edited by

                      Das "soll" ist hier ziemlich langfristig…

                      Momentan finde ich die aktuelle, getrennte Lösung sogar besser, denn sie hat einen entscheidenden Vorteil, ich habe im Netz zwei DNS!

                      Mein dnsmasq auf dem Pi ist auch der DHCP-Server für das Netzwerk der sich selbst als DNS anbietet
                      Bei allen Clients blocke ich  damit per default mit dem Pi-Hole.

                      Braucht der ein oder andere Client keinen AdBlocker auf DNS-Basis, so erhält er im dnsmasq ein bestimmtest Tag und bekommt dann per DHCP den DNS vom router zugewiesen.

                      So wie hier:
                      http://stackoverflow.com/questions/22467430/dnsmasq-tags-and-conditional-dns-server

                      Quasi Opt-out und damit recht flexibel.

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