Pi-Hole auf QNAP installieren

  • wurstbrot0815, der Weg ist immer interessant, erst recht für User die später/weit später auf dieses Forum stoßen ;)

    wie meinst du das;)

    also so habe ich pihole zum laufen gebracht

    es läuf auf meinem zweit Nas 253a mit 4gb und der Firmwareversion: 4.3.6.0805


    genutzt habe ich den container

    diginc/pi-hole

    https://hub.docker.com/r/diginc/pi-hole


    erstmal mit den Basiseinstellungen hier

    pasted-from-clipboard.png



    in den Advanced Settings hab ich dann folgendes angepasst

    unter

    Environment

    die Punkte

    Serverip mit der gewünschten IP Adresse zb. 192.168.178.xyz

    und

    WEBPASSWORD mit XYZ als Passwort

    pasted-from-clipboard.png



    und Network habe ich

    einen Name vergeben

    den Network Mode auf Bridge gestellt

    meine Adapter ausgewählt (virtueller Switch)

    und eine statische IP vergeben

    pasted-from-clipboard.png

    und dann via create erstellt


    via

    http://192.168.178.xyz/admin/index.php

    kommt man auf die Console

    hier kann man sich via den festgelegten Passwort anmelden

    unter settings -> block lists habe ich einfach via copy & past alle (auf einmal) listen die oben von @skoeber genannten filter noch ergänzt


    pasted-from-clipboard.png


    1. https://mirror1.malwaredomains.com/files/justdomains

    2. https://zeustracker.abuse.ch/b…?download=domainblocklist

    3. https://hosts-file.net/ad_servers.txt

    4. https://adaway.org/hosts.txt

    5. http://www.malwaredomainlist.com/hostslist/hosts.txt

    6. http://winhelp2002.mvps.org/hosts.txt

    7. https://raw.githubusercontent.…ists/master/hostnames.txt

    8. https://raw.githubusercontent.…er/sections/adservers.txt

    9. https://raw.githubusercontent.…lter/sections/spyware.txt

    10. https://media.kuketz.de/lists/mobile_list.txt

    11. https://raw.githubusercontent.…/data/hosts/win10/spy.txt

    12. https://raw.githubusercontent.…track/master/trackers.txt

    13. https://v.firebog.net/hosts/AdguardDNS.txt

    14. https://v.firebog.net/hosts/Easylist.txt

    15. https://v.firebog.net/hosts/Easyprivacy.txt



    dann noch den dns Server im Router einstellen und schon geht es ;)

    pasted-from-clipboard.png

    als Alternativer DNSv4-Server hab ich noch den von cloudflare genommen falls mein nas abschmiert


    ich hoffe ich hab alles


    bin auch gerade über den blocker von adguard home aber der will noch nicht wirklich was filtern pasted-from-clipboard.png


    gruß Michael



  • leider bekomme ich den nicht zum laufen hast du eine idee an was es liegt

    es startet kurz und geht dann wieder aus


    hier mal der log

  • Hast du unter Environment wieder den Parameter "ServerIP" angegeben bzw. ist er richtig geschrieben? Laut Fehlermeldung fehlt der.


    Ansonsten habe ich den Wechsel vom diginc Container auf den pi-hole Container auf dem QNAP schon durch und das lief ohne Probleme. Genau heute habe ich meine 4.0 Installation auf die aktuelle 4.1.1 aktualisiert, auch das ohne Probleme. Weiter vorn in diesem Thead habe ich meinen kompletten Aufruf-Befehl (ich setze den Container per direkten Docker-Aufruf auf, weil da noch ein bisschen mehr möglich ist). Der funktioniert unverändert.

  • jetzt hat es klappt hatte das ip klein geschrieben

  • Bei mir läuft jetzt alles eigentlich ganz gut. Leider kommt noch recht viel Werbung durch insbesondere in App Werbung. Zudem dachte ich dass mit pihole als adblocker die Seiten die nicht erkennen im Gegensatz zu browser adblockern. Bei bild.de kommt aber immer wieder der Hinweis auf einen laufenden adblocker. Nach schließen des Browsers oder ein paar Mal reload geht's dann meistens. An was liegt das

  • Um noch mehr Werbung zu blockieren, könntest du dich mit weiteren Listen beschäftigen. Ich hatte dazu weiter vorn etwas verlinkt.


    Meistens sind es irgendwelche Javascripts, die überprüfen, ob die Werbung im Browser vorhanden ist oder nicht. Wenn die Werbung nun gar nicht erst abgerufen wird, weil pi-hole diese Anfragen ins Nirvana schickt, dann erkennen das die Scripte und bringen die entsprechende Meldung. Da kann pi-hole leider nichts ausrichten.

  • Guten Morgen

    hatte heute Nacht einen geplanten Serverneustart der einmal in der Woche stattfindet

    und seitdem funktioniert mein pihole nicht mehr vorher ging er ohne Probleme


    mir kommt es so vor als ob sich pihole versuch neu zu installieren da sich der container mit einer neuen Mac Adresse angemeldet hat


    wenn ich in jetzt lösche und neu aufsetzte geht es wieder ganz normal aber darauf haben ich nicht jede Woche lust darauf

  • Es lässt sich u.a. auch über den "docker run" Befehl eine feste MAC-Adresse zuordnen, wenn man das Netzwerk im Bridge-Modus verwendet: (s.u.)


    Die restart-Option funktioniert leider nicht und muss über das Webinterface aktiviert werden.

  • mir kommt es so vor als ob sich pihole versuch neu zu installieren da sich der container mit einer neuen Mac Adresse angemeldet hat

    Ich hatte das gleiche Problem. Siehe dazu mein Issue im pi-hole-docker Projekt:

    https://github.com/pi-hole/docker-pi-hole/issues/330


    Um es kurz zu fassen: Es liegt an der Container Station. Nach einer Odyssey aus Deinstallieren/Installieren/Upgraden/Bereinigen von Container Station ging es dann irgendwann. Mehr, als die Container Station und alle zugehörigen Daten wegzuputzen und neu aufzusetzen, kann ich dir leider dazu nicht sagen.

  • hatte irgendjemand mit der letzten Firmware (4.3.6.0805) schon Erfolg mit pihole?

    Ich hab diverse Anleitungen im Thread hier befolgt, habe auch über die Kommandozeile mit dem Vorschlag von skoeber das Image erstellt (taucht dann auch in der Container-Station auf), allerdings will das pihole bei mir einfach nicht starten.


    Ich komme bis hierher, egal ob über die Container Station oder SSH:


    Die IP-Adresse von pihole antwortet dann auch auf pings, das Webinterface ist allerdings nicht erreichbar.

    Nachdem die Zeit abgelaufen ist gibt's einen weiteren Versuch:

    Code
      [✗] DNS resolution is not available                                                                                                                                                                                                                                                                                                                                                                                                
    [cont-init.d] 20-start.sh: exited 1.                                                                                                                                                                                                                                                                                                                                                                                                 
    [cont-finish.d] executing container finish scripts...                                                                                                                                                                                                                                                                                                                                                                                
    [cont-finish.d] done.                                                                                                                                                                                                                                                                                                                                                                                                                
    [s6-finish] syncing disks.                                                                                                                                                                                                                                                                                                                                                                                                           
    [s6-finish] sending all processes the TERM signal.                                                                                                                                                                                                                                                                                                                                                                                   
    [s6-finish] sending all processes the KILL signal and exiting. 

    danach beendet sich der Docker Container wenn über die Container-Station eingerichtet wird, über die SSH Version startet der Container dann immer wieder neu und bleibt im Endeffekt auch bei Time until retry: ... hängen


    Habe hier ein ziemliches Basis-Setup, Netzwerkkabel an eth0 angehängt, ein von QTS automatisch erstellter Virtual Switch und ein Router der als Gateway dient (NAS mit fixer IP).

    Hoffe irgendwer kann helfen, hab erst letztens das Systemupdate gemacht, mit 4.3.4 lief die Geschichte einwandfrei :/

  • Hattest du denn die Container Station mal komplett deinstalliert, die Konfigurationsdaten gelöscht und neu installiert? Wenn nicht, dann wäre das mein Ratschlag. Ansonsten habe ich leider auch keine Idee.

  • deinstalliert und den Inhalt vom Ordner /container-station, /container-data und /container-station-data gelöscht hab ich gemacht.


    Hab vorhin jetzt mal AdGuard installiert und da auch gemerkt dass es nicht funktioniert, nach einer kurzen Suche bin ich dann auf diesen Forumseintrag gestoßen, der eine leichte Rekonfiguration von dnsmasq zur Lösung der Probleme vorschlägt:

    https://forum.qnap.com/viewtopic.php?t=144200#p689447


    Folgendes ist zu tun:

    /etc/dnsmasq.conf öffnen und dort den Port von 53 auf eine Alternative (z.B. 1053) ändern

    /etc/resolv.conf öffnen und dort den Eintrag ebenfalls anpassen, so dass der vorher gewählte Port verwendet wird (z.B. nameserver 127.0.1.1:1053)

    dnsmasq beenden: killall -9 dnsmasq

    dnsmasq neustarten: dnsmasq

    Das remapping von dnsmasq hatte sofort auch zur Folge dass pihole auf einmal lief wie erwartet.


    Hab dann AdGuard wieder deinstalliert, nachdem pihole jetzt endlich wieder läuft wie es soll.


    Jetzt muss ich mich nur mehr informieren, wie ich diese Änderungen auch über einen Systemneustart behalten kann, dann ist endlich wieder Ruhe 8)

    Einmal editiert, zuletzt von austria89 ()

  • Ich habe schon einen anderen Container mit port 80 laufen deswegen wollte ich die DietPi VM ausprobieren aber keine der angebotenen funktioniert mit Virtual Station. Die für VMWare funktioniert nicht und bei der für VirtualBox kriege ich Unkown ovf format als Fehlermeldung. Mit Image installieren funktioniert auch nicht. Hat jemand eine Idee?


    -------------------------

    Habe es mit dem hier gelöst, habe ich irgendwie übersehen auf seite 1, damit gehts :)

    2 Mal editiert, zuletzt von bugmenot2 ()

  • Hallo,


    ich versuche auch gerade einen PiHole im Docker auf meiner 253A aufzusetzen und würde natürlich wenn möglich gerne das aktuelle Repository benutzen.

    Weite Teile der tollen Docker-Generierung von skoeber sind mir klar - ein paar Fragen hätte ich aber doch noch:

    Code
    docker network create -d qnet --ipam-driver=qnet --ipam-opt=iface=eth1 --subnet=192.168.178.0/23 --gateway=192.168.178.1 qnet-static-eth1-a1b2c3
    docker run -d --ulimit nofile=90000:90000 --name pihole --restart always --net=qnet-static-eth1-a1b2c3 --ip=192.168.178.7 --hostname pihole --dns=127.0.0.1 -v /share/NASext/container-data/pihole:/etc/pihole -v /share/NASext/container-data/pihole/log/pihole.log:/var/log/pihole.log -e ServerIP="192.168.178.7" -e IPv6="False" -e TZ="Europe/Berlin" -e WEBPASSWORD="" -e DNS1="192.168.178.1" -e DNS2="9.9.9.9" pihole/pihole:latest

    Wenn ich es recht verstehe generierst Du erst eine neue Netzwerkbrücke für Docker. Das gateway im Subnetz setzt Du auf 192.168.178.1, was bei mir auch Sinn gäbe, denke ich, weil es die IP meiner FritzBox ist.


    Andererseits ist das generierte Subnetz genau das Netz, das auch der DHCP meiner Fritzbox für mein LAN (derzeit rund 14 Geräte) vergibt

    Beim Erstellen des PiHole-Containers setzt Du anschließend den ersten DNS-Server auf die 192.168.178.1, was bei mir wiederum die Fritzbox wäre. Da ich bei ihr ja gerade den PiHole als DNS eintragen würde, würde ich so doch einen Zirkel generieren, was letztlich vermutlich immer zum Fallback DNS2 führen würde - oder?


    Stimmen meine Überlegungen und wie organisiert man das geschickt? Befindet sich dein LAN komplett außerhalb des 192.168.178.0/23er-Netzes? Ist es zweckmäßig, den PiHole aus dem LAN rauszuziehen, lässt man ihn gescheiter drin oder spielt das keine Rolle?


    Für Tipps wäre ich dankbar.


    Grüße, Marco

  • Bei mir ist alles in einem Netz.


    Die Fritzbox als Gateway sollte bei dir, wie bei mir, passend sein. Der DHCP der Fritzbox vergibt bei mir Adressen ab 192.168.178.50. Darunter vergebe ich feste Adresse für alle dauerhaft laufenden Dienste, für den Pi-hole ist es die 192.168.178.7 (siehe docker-Befehl).


    Pi-hole selber filtert ja nur DNS Anfragen, alle nicht gefilterten Anfragen werden an "richtige" DNS Server weitergeleitet. Diese konfiguriert man mit DNS1 und DNS2. DNS1 ist bei mir die Fritzbox, weil sie ja vom Provider einen DNS zugewiesen bekommt und ich damit vermutlich auf der sicheren Seite bin. Zudem cached die Fritzbox erfahrungsgemäß viel und beantwortet die DNS Anfragen am schnellsten. DNS2 ist bei mir 9.9.9.9, der ja auch sehr schnell sein soll. Bei mir spielt DNS2 aber kaum eine Rolle. Wie gesagt, laut der Pi-hole-Statistik beantwortet die Fritzbox nahezu alles am schnellsten (siehe angehangener Screenshot).

  • Toll!


    So langsam kommt Licht in das Dunkel meines Netzwerkverständnisses.


    Ich dachte, PiHole übernimmt die Rolle des DNS komplett. Sorry- Denkfehler.


    Danke für die ausführliche Antwort!


    Grüße, Marco

  • DNS1 ist bei mir die Fritzbox, weil sie ja vom Provider einen DNS zugewiesen bekommt und ich damit vermutlich auf der sicheren Seite bin. Zudem cached die Fritzbox erfahrungsgemäß viel und beantwortet die DNS Anfragen am schnellsten.


    Wer mit dem Pi-Hole nicht nur lästige Werbeeinblendungen filtern möchte, sondern auch Wert auf Privatsphäre legt, sollte auf freie DNS-Server setzen die in dem Ruf stehen DNS-Anfragen nicht auszuwerten.

    Der Pihole selbst cached übrigens auch DNS Anfragen und ich fragen mich, ob das gute Abschneiden der Provider-DNS (siehe Statistik) nur daran liegt, dass die Fritzbox an erster Stelle unter DNS1 eingetragen ist.