Pi-Hole auf QNAP installieren

  • Das ganze Containerzeugs scheint ja zumindest auf dem QNAP eher holprig zu laufen. Vielleicht hätte einer mal Zeit, das Ding auf Turnkeylinux o.ä. zu installieren. Ich hab im Moment da keine Resourcen, sollte aber prinzipiell wohl gehen. Warum das DietPI nicht geht ist ja auch unklar, es gab ja hier im Thread mind. einen, beim das auch mal lief. Ich glaube, mit der VM hat man einfach erheblich weniger Probleme was die ganzen Netzwerkgeschichten angeht. Und so schlimm sollte die Last der VM im Betrieb dann auch nicht sein.

  • Hallo zusammen,


    ich bekomme den Docker zwar zum laufen, muss allerdings nach jedem Start des Dockers /etc/resolv.conf Datei anpassen.

    Nach dem Start wird hier automatisch "nameserver 127.0.0.11" eingetragen, dadurch bleibt der Container mit der Meldung

    Code
     "DNS resolution is currently unavailable"

    für 120 Sek. und beendet sich anschließend wieder. Ersetze ich wehren der Zeit die Zeile durch "nameserver 127.0.0.1" wird der Startvorgang fortgesetzt und PI-HOLE funktioniert bis zu nächstem Neustart.

    Kann mir jemand sagen wie ich den Container dazu bewegen kann interne DNS Auflösung von Anfang an richtig zu machen?


    Komischerweise wird nach jedem Neustart auch das Passwort für die Web-GUI zurück gesetzt. Ich muss das PW jedes mal mit dem Befehl "pihole -a -p" neu setzen.

  • Hallo,


    ich betreibe derzeit pi-hole mit folgenden Aufrufen:

    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

    Mit der erste Zeile lege ich ein Netzwerk an, das mittels virtuellem Switch an den zweiten phyischen Port gebunden ist. Der pi-hole Container erhält dann eine feste IP (--ip=192.168.178.7). Mit dem Parameter -e WEBPASSWORD="" wird ein leeres Passwort gesetzt, so dass man sich für die Web-GUI nicht einloggen muss.


    Ich hoffe, das hilft weiter. Ich fahre damit im Moment sehr gut (abgesehen von anderen Problemchen, die aber auf allgemeine ContainerStation-spezifische Problemchen zurückzuführen sind).

  • naja ich habe es gerade geschafft Sophos Firewall im Container zum laufen zu bringen ;)

    Hi, klingt interessant, würde mich auch interessieren, meine läuft im Moment in einer VM.

    Konntest du sie schon ausführlich testen?

  • bei mir läuft Sie jetzt in der Virtualstation, scheint soweit alles gut zu funktionieren.

    Was jetzt noch fehlt, wäre die Endpoint in der NAS zum laufen zu bringen..

    Diese müste doch direkt in der QTS laufen, oder verstehe ich das falsch?

  • Also ich habe jetzt für mich mal Versuchsweise Turnkeylinux Core als Basis verwendet und es darauf mit folgendem Befehl installiert:


    Code
    curl -L https://install.pi-hole.net | bash


    Allerdings lief das Script nicht gleich durch, sondern hing beim Installieren des Webinterface. Dazu musste man noch php-cgi und php-sqlite3 manuell nachinstallieren und das install script nochmal starten. Vemutlich würde es gleich laufen wenn man diese Pakete vorher installiert.


    Was ich noch nicht probiert habe ist, jetzt wirklich das gesamte Netz auf den DNS vom PI-Hole zu setzen. Das müsste aber m.E. ohne Probleme gehen. Jedenfalls läuft das erstmal besser als die Versuche mit DietPi.


    Edit:

    Wenn man VOR der pi-hole Installation php-cgi / php-sqlite3 installiert läuft das Install script durch. Und man sollte gleich eine statische IP vergeben.


    Edit2:

    Scheint gut zu funktionieren.

    Pi-Hole-Turnkey.png

    2 Mal editiert, zuletzt von nasferatu ()

  • Ich bin leider mit den Befehlen von Linux noch nicht so vertraut. Kannst du bitte die Befehle für den Docker Terminal kurz niederschreiben.


    Danke

  • Kannst du bitte die Befehle für den Docker Terminal kurz niederschreiben.

    Leider nein, da ich eben gerade nicht Docker bzw. die Containerstation benutzt habe, sondern die VirtualizationStation. Also die o.g. VM runtergeladen, in VS importiert und gestartet und dann im wesentlichen den genannten Befehl auf der Shell ausgeführt:


    Code
    apt-get install php-cgi php-sqlite3
    curl -L https://install.pi-hole.net | bash 
  • Bei mir habe folgende Umgebungsvariablen bei der Erstellung von Container definiert:


    ServerIP=Bridge IP-Adresse (192.168.1.xxx)

    IPv6=False (brauche IP6 nicht)

    TZ=Europe/Berlin (richtige Docker-Zeit )


    Hat bei mir Wunder bewirkt. Problem war wahrscheinlich, dass ich bereits einen Webserver laufen habe. Ich nutze den Docker diginc/pi-hole in der "latest" Version. Einrichtung und Test des Pi-Holes erfolgt dann morgen ... :sleeping:

  • Hi,

    brauche mal eure Hilfe. Ich habe mich nun durch alles durchgelesen, finde aber leider keine Anleitung.

    Mein Container bricht immer wieder ab und startet nicht.

    Code
    ERROR: To function correctly you must pass an environment variables of 'ServerIP' into the docker container with the IP of your docker host from which you are passing web (80) and dns (53) ports from                 
    [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.                                                                                                                                                          

    Anscheinend habe ich Probleme mit den Ports. Jedoch weiß ich nicht wie ich die Ports ändere, da ich nicht auf die Console komme.

    Einstellungen sind angehängt.


    Danke für die Hilfe

  • Hallo davood88,

    bezugnehmend auf deinen Screenshot musst du links auf den Berech "Environment" klicken und dann dort in der Tabelle einen Eintrag ergänzen "ServerIP" mit dem Wert "192.168.178.70". Damit wird in die pi-hole Konfiguration die IP deines Containers geschrieben. Die braucht pi-hole (noch) zwingend für den Betrieb.


    Ich hatte weiter oben in diesem Thema meine Konfiguration gepostet (als Shell-Command). Daran kannst du dich auch etwas orientieren. Alle Parameter mit "-e" entsprechen solchen Einträgen bei Environment.


    Ich hoffe, das hilft dir.

  • Du musst den Eintrag beim Erstellen des Container im Punkt Environment eintragen wie Skoeber es beschrieben hat.

    Habe es grade auch probiert und endlich läuft pi-hole im Container!!!! :)

  • Was muss ich machen, damit nicht bei jedem Neustart der Containers ein neues Passwort vergeben wird

    Du musst beim Erstellen des Containers den passenden Environment-Parameter mitgeben:

    Code
     -e WEBPASSWORD="geheimesPasswort"

    Dann wird es dauerhaft gesetzt. Ich habe das Passwort leer gelassen, so dass keinerlei Passwort-Abfrage kommt. Das sieht dann so aus:

    Code
    -e WEBPASSWORD=""
  • Ok danke. Hat soweit alles geklappt und läuft. Welche Listen habt ihr drin? Insbesondere zum blocken von Malware und Werbung.

  • Meine Listen sind folgende:

    Umfangreiche Quelle ist https://firebog.net/


    Lesenswert außerdem auch:

    https://www.kuketz-blog.de/adb…en-geraeten-unzureichend/

    https://www.kuketz-blog.de/tra…terliste-vom-kuketz-blog/

  • so nach langem Versuchen habe ich es jetzt auf meiner TS-653a zum laufen gebracht

    wenn es jemanden interessiert kann ich die steps posten


    finde es extrem interessant zu sehen das unter den Top Domains auf den 5 platz graph.facebook.com kommt obwohl ich Nichtmal facebook habe

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