Pi-Hole auf Docker | Zugriff auf Weboberfläche geblockt

Status
Für weitere Antworten geschlossen.

peterhoffmann

Benutzer
Sehr erfahren
Mitglied seit
17. Dez 2014
Beiträge
5.525
Punkte für Reaktionen
1.360
Punkte
234
Hallo,

ich wollte Pi-Hole auf der DS216+ mal ausprobieren.

Daher habe ich Docker installiert, was auch funktioniert. Im Docker habe ich als Container diginc/pi-hole ausgewählt und runtergeladen (136MB).

Als Variablen muss ich eine ServerIP angeben. Da habe ich eine freie IP in meinem Netz probiert, sowie die IP der DS. In beiden Fällen habe ich nach dem Start des Containers das gleiche Ergebnis, die Weboberfläche lässt sich nicht aufrufen (wird geblockt).

Auch wundert mich, dass Pi-Hole über die IP der DS läuft und sich keine eigene IP von der Fritzbox geben lässt bzw. reserviert.

Eckdaten:
DS => 192.168.0.8
Fritzbox 192.168.0.10

Kann mir jemand auf die Sprünge helfen, wo ich den Knoten verbaut habe? ;)


Eigener Zugriff wird geblockt:
pihole4.jpg

Container im Docker:
pihole1.jpg

Einstellungen:
pihole2.jpg

Details im Betrieb:
pihole3.jpg

 

TeXniXo

Benutzer
Mitglied seit
07. Mai 2012
Beiträge
4.948
Punkte für Reaktionen
99
Punkte
134
Wie sind die Ports konfiguiert? Weiterleitung via Router eingerichtet?
 

peterhoffmann

Benutzer
Sehr erfahren
Mitglied seit
17. Dez 2014
Beiträge
5.525
Punkte für Reaktionen
1.360
Punkte
234
Wie sind die Ports konfiguiert?
Da habe ich zwischenzeitlich die automatische Vergabe ausgeschaltet und manuell eingestellt:
udp 53 => 53
Abfragen per nslookup habe ich getestet. Das scheint zu funktionieren, bei Werbedomains kommt als IP die 192.168.0.8

Mein Problem ist also im Moment nur noch der Aufruf der Adminoberfläche:
Da habe ich es so konfiguriert: tcp 7780 => 80
Beim Aufruf von http://192.168.0.8:7780/admin bekomme ich eine Weiterleitung (301er) auf http://192.168.0.8/admin, was beim Webserver der DS endet.

Ich verstehe auch noch nicht, warum Pi Hole keine eigene IP hat bzw. wie ich das konfigurieren kann. Das wäre doch die sauberste Trennung.

Weiterleitung via Router eingerichtet?
Soweit war ich noch gar nicht.
 

peterhoffmann

Benutzer
Sehr erfahren
Mitglied seit
17. Dez 2014
Beiträge
5.525
Punkte für Reaktionen
1.360
Punkte
234
Nachtrag:
Nach dem erneuten Abspeichern geht von einmal der Aufruf der Adminoberfläche.
 

peterhoffmann

Benutzer
Sehr erfahren
Mitglied seit
17. Dez 2014
Beiträge
5.525
Punkte für Reaktionen
1.360
Punkte
234
In der Fritzbox habe ich nun als DNS die DS (192.168.0.8) eingetragen. Das funktioniert. Wenn man ins Log von Pihole schaut, wird einem ganz schlecht, welche Mengen von Mist der schon bei einem Aufruf einer Domain (z.B. focus.de) rausfischt.

Ein Problem habe ich aber noch:
Der Aufruf von größeren Webseiten dauert sehr lange.

Beispiele:
focus.de => 40 Sekunden
n-tv.de => 17 Sekunden

Ohne Pihole geht das bedeutend schneller.

Bisher habe ich rausgefunden, dass wenn ich über nslookup eine Mülldomain aufrufe, dies 4 Sekunden dauert und in einem zweifachen Timeout von jeweils 2 Sekunden endet. Wenn ich eine ordentliche Domain aufrufe, kommt sofort die Antwort. Da wird wohl das Problem liegen. Eigentlich dachte ich, dass Pihole bei der DNS-Abfrage einer Mülldomain sofort antwortet. Nur wenn er bei jeder Mülldomain 4 Sekunden abwartet, dauert der Aufruf einer umfangreichen Domain wie focus.de rund 40 Sekunden.

Wie kann ich das "beschleunigen"?

So sieht es übrigens im Log aus:
Rich (BBCode):
Apr 19 14:17:33 dnsmasq[824]: query[A] adboost.net from 172.17.0.1
Apr 19 14:17:33 dnsmasq[824]: /etc/pihole/gravity.list adboost.net is 192.168.0.8
Apr 19 14:17:35 dnsmasq[824]: query[A] adboost.net from 172.17.0.1
Apr 19 14:17:35 dnsmasq[824]: /etc/pihole/gravity.list adboost.net is 192.168.0.8

Und so schaut es bei nslookup aus:
pihole5.jpg
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.468
Punkte für Reaktionen
356
Punkte
103
Dir ist schon klar, dass die Vergabe einer IP als ENV-Variable nur etwas bringen kann, wenn der Container im Host-Netzwerk ausgeführt wird?
Wenn das nicht explizit angehakt wird, läuft der Container im Bridged-Mode und dann gilt immer die Syno-IP und der vergebene Host-Port der gegen den Container-Port gemapped wird.
 

peterhoffmann

Benutzer
Sehr erfahren
Mitglied seit
17. Dez 2014
Beiträge
5.525
Punkte für Reaktionen
1.360
Punkte
234
Ich habe das Problem nach einer Tüte Schlaf etwas eingrenzen können.

Die Fritzbox unterbindet die Weitergabe einer internen IP (DNS-Rebind-Schutz).
Abhilfe:
Nicht unter "Internet -> Zugangsdaten -> Tab DNS-Server" ändern,
sondern unter "Heimnetz -> Tab "Netzwerkeinstellungen" -> dann unten IPv4-Adressen -> dort bei Lokaler DNS-Server".

Dir ist schon klar, dass die Vergabe einer IP als ENV-Variable nur etwas bringen kann, wenn der Container im Host-Netzwerk ausgeführt wird?
Ich habe im Docker vom ersten Moment alles probiert den Container nicht als Bridge, sondern über Host einzubinden, damit der Container eine eigene IP bekommt. Das geht aber nicht.
Im Docker sind unter Netzwerk einmal Bridge und einmal Host. Wenn ich den Container unter Bridge entferne, kann ich ihn nicht unter Host einbinden. Dort ist keine Möglichkeit dazu.
 

iLion

Benutzer
Mitglied seit
07. Okt 2008
Beiträge
355
Punkte für Reaktionen
4
Punkte
18
Wenn der Container erstellt wird, kann man diesen unter Netzwerk mit der Option "Dasselbe Netzwerk wie Docker Host verwenden" an das Host-Netzwerk binden. Offensichtlich lässt sich das nach dem Erstellen nicht mehr ändern. Ich habe mir pi-hole auch mal angeschaut. Ich würde aber gerne dem Container eine eigene IP geben, da auf meiner DS schon der Synology DNS läuft und auch die Web Station. Alle versuche ein neues Netzwerk zu erstellen, aus dem ich dann mit der Variable ServerIP die IP zuweisen kann, scheitern aber. Also wer Tipps hat... :confused:
 
Zuletzt bearbeitet:

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.468
Punkte für Reaktionen
356
Punkte
103
Ein container der network=host und die Möglichkeit zur Änderung der IP hat, bspw. manuell über ifconfig KANN auf einer anderen IP laufen, als der Docker Host.

Die meisten Container haben ifconfig aber entfernt oder erlauben erst keinen Root-Zugriff....
*think* es müsst eigentlich auch gehen eine Datei mit der gewünschten Netzwerkkonfiguration zu erzeugen und als Volume in den Container einzublenden (sprich: bestehende Konfiguration "überlagern").
 

peterhoffmann

Benutzer
Sehr erfahren
Mitglied seit
17. Dez 2014
Beiträge
5.525
Punkte für Reaktionen
1.360
Punkte
234
es müsst eigentlich auch gehen eine Datei mit der gewünschten Netzwerkkonfiguration zu erzeugen und als Volume in den Container einzublenden
Dafür bin ich leider (viel) zu unerfahren mit Docker, Linux und Konsorten. Auch müsste Docker im DSM hinterlegen, dass die zweite IP von der Schnittstelle zum Container weitergeleitet wird.

Ich habe mir jetzt einen Raspberry3 bestellt und werde versuchen Pihole darauf zu installieren. Ist mein erster Raspberry, sozusagen die ersten Schritte. :)
Wenn das funktioniert, kann die DS wieder schlafen gehen, wenn sie nicht gebraucht wird (was sie seit Docker gar nicht mehr macht) und der Raspberry hat brav seine eigene IP.

Wie ich das mit dem DNS Rebindschutz und der Fritzbox lösen soll, weiß ich noch nicht. Im Moment habe ich Pihole so eingestellt, dass bei gesperrten Domains die IP von einem Webserver (ist von mir) ausgespuckt wird. Aber das kann ja auch nicht Sinn und Zweck sein, da der fleißig eine Standardseite bzw. einen 404er zurückgibt.

Och menno, man will doch nur, dass es einwandfrei funktioniert und nicht ewig Zeit daran verbasteln.
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.468
Punkte für Reaktionen
356
Punkte
103
Ich hab es gestern auch noch mal nachgestellt: ohne Open vSwitch führt eine Ersetzung der IP für eth0 auch zur Erstzung der Synolgy.
Durch Open vSwitch läuft die Syno über ein gebridgtes (im Netzwerk Sinn, nicht im Docker Sinn) interface, so das eth0 anderweitig konfiguriert werden könnte.
Aber am Ende endet das alles in Bastelei.
 

frankyst72

Benutzer
Mitglied seit
01. Jun 2015
Beiträge
1.955
Punkte für Reaktionen
3
Punkte
58
Ich habe mir jetzt einen Raspberry3 bestellt und werde versuchen Pihole darauf zu installieren. Ist mein erster Raspberry, sozusagen die ersten Schritte.
habe sogar ich so hin bekommen :)
 

peterhoffmann

Benutzer
Sehr erfahren
Mitglied seit
17. Dez 2014
Beiträge
5.525
Punkte für Reaktionen
1.360
Punkte
234
Im Nachgang hier mein kleiner Erfahrungsbericht:

Gekauft habe ich einen Raspberry Pi3, ein wertiges Alugehäuse inkl. Kühlkörpern und ein vernünftiges Netzteil (3A). Gesamtkosten 64 Euro (37+15+12). Micro-SD-Card hatte ich noch rumliegen. Auch im mehrstündigen Stresstest läuft er sauber und ohne zu überhitzen.
Kosten: Wenn man anstatt einem Pi3 einen Pi2 nimmt, ein günstiges Plastikgehäuse, sowie ein rumfliegendes Handynetzteil, sollte es auch zum halben Preis gehen und funktionieren. Der Raspberry sollte lt. Pi-Hole nur mindestens 512MB Ram haben.

Auch die Installation und Konfiguration von Pi-Hole war kein Problem. Das System läuft seit zwei Tagen ohne jegliche Mucken und arbeitet alle DNS-Abfragen ab. Zusätzlich habe ich noch den RPI-Monitor installiert. Ansonsten nichts. Der Stromverbrauch liegt im normalen Betrieb bei 2,0 Watt (~ 5 Euro / Jahr).

Von 15.000 DNS-Anfragen pro Tag hat er rund 30% rausgefiltert. Werbung und Konsorten ist kaum noch zu sehen.

Bisher bin ich begeistert. :)

20170427_150702.jpg
 
Zuletzt bearbeitet:

iLion

Benutzer
Mitglied seit
07. Okt 2008
Beiträge
355
Punkte für Reaktionen
4
Punkte
18
Durch Open vSwitch läuft die Syno über ein gebridgtes (im Netzwerk Sinn, nicht im Docker Sinn) interface, so das eth0 anderweitig konfiguriert werden könnte.

Nach einiger Zeit hat der Synology Support Taiwan geantwortet, dass das aktuelle Docker Paket keine feste eigene IP einem Container zuordnen könnte. (Das DockerDSM das ja kann, darauf sind sie noch nicht näher eingegangen). Ich habe das ganze zum Ausprobieren jetzt mal ganz anders gelöst. Mit dem Virtual DSM Manager habe ich mir eine kleine virtuelle neue DiskStation erzeugt, die natürlich eine feste IP aus meinem Netzwerk hat. In dieser virtuellen DiskStation habe ich dann wieder das Docker Paket installiert und den Pi-hole Container passend gestartet. Im DNS-Sever meiner physikalischen DS wurde dann die DNS Weiterleitung passend auf den Pi-hole Server angepasst. So läuft das jetzt seit ein paar Minuten... :D

Lustige Anekdote vom Support, ein Bildschirmfoto, bei dem sie die Zuordnung des Port 53 komplett gestrichen haben und den Exposed Port 80 auf einen ganz anderen Port gelegt haben. Das so dann der Container gar keinen Sinn mehr macht, wurde mal eben "vergessen".
 

peterhoffmann

Benutzer
Sehr erfahren
Mitglied seit
17. Dez 2014
Beiträge
5.525
Punkte für Reaktionen
1.360
Punkte
234
Nach 10 Tagen mit dem Raspberry:
Mein Raspberry mit Pi-Hole läuft seit dem Start ohne Probleme.
Ich habe inzwischen die Filterlisten ausgeweitet, sprich 843.452 Domains sind momentan in meiner Sperrliste. 45,3% hat er bei mir rausgefiltert.

Hier kann man sich weitere Filterlisten dazuholen => https://wally3k.github.io/

Mit dem Virtual DSM Manager habe ich mir eine kleine virtuelle neue DiskStation erzeugt, die natürlich eine feste IP aus meinem Netzwerk hat. In dieser virtuellen DiskStation habe ich dann wieder das Docker Paket installiert und den Pi-hole Container passend gestartet.
Das empfinde ich als zuviele Abhängigkeiten (DS=>DMS=>vDSM=>Docker=>PiHole). Auch schon deshalb, weil ein Ausfall in dieser Kette sofort zum Ausfall der DNS-Funktion im gesamten Netzwerk führt. Wer sich auskennt, weiß sich zwar zu helfen, aber wenn man nicht zu Hause ist und die Frau bzw. die Kinder surfen, könnte es schon Krach geben. ;) Da ist mir die Lösung mit dem Raspberry lieber. Im Notfall kann die Frau ihn auch auf die harte Tour neustarten (Stecker raus, Stecker rein).
 

iLion

Benutzer
Mitglied seit
07. Okt 2008
Beiträge
355
Punkte für Reaktionen
4
Punkte
18
Das empfinde ich als zuviele Abhängigkeiten (DS=>DMS=>vDSM=>Docker=>PiHole). Auch schon deshalb, weil ein Ausfall in dieser Kette sofort zum Ausfall der DNS-Funktion im gesamten Netzwerk führt.

Nö, Pi-hole oder der vDSM dürfte ausfallen. Der DNS auf der physischen DS916+ wird per DHCP verteilt. Wenn die ausfällt, habe ich eh ganz andere Probleme als die Auflösung von Internetseiten. Der DNS auf dem Host hat dann als erste Weiterleitung Pi-hole und als zweite einen externen DNS ausserhalb der DiskStation. Pi-hole hat ja ebenfalls noch zwei externe Weiterleitungen. Durch den Ausfall von Pi-hole oder dem vDSM würde also der zweite externe DNS angesprochen.

Unabhängig davon ist das eh nur ein experimentaler Aufbau. Ohne diese Diskussion hätte ich von Pi-hole wohl nicht zu schnell erfahren. :) Viel lieber wäre mir, wenn der Pi-hole Container direkt auf der DS916+ laufen würde. Dazu habe ich aber heute noch die Rückmeldung vom Support aus Taiwan bekommen, dass die Zuweisung eigener IPs für Container nun als Wunsch aufgenommen wurde. Also muss ich mich noch in Geduld üben. Oder die angekündigte Version des Virtual DSM Managers bietet vielleicht die Möglichkeit, auch Linux-Systeme zu virtualisieren.
 

iLion

Benutzer
Mitglied seit
07. Okt 2008
Beiträge
355
Punkte für Reaktionen
4
Punkte
18
Oder die angekündigte Version des Virtual DSM Managers bietet vielleicht die Möglichkeit, auch Linux-Systeme zu virtualisieren.

Manchmal geht es schneller als man denkt. Die neue Version des Virtual Maschine Managers ist ja heute rausgekommen. Ich habe jetzt die virtuelle DS entfernt und gegen DietPi ersetzt. Man kann das VirtualBox Image importieren und dann über den Assistenten Pi-hole installieren. Bis auf die fehlende IP-Anzeige im VMM läuft das problemlos.
 

DKeppi

Benutzer
Mitglied seit
01. Apr 2011
Beiträge
3.207
Punkte für Reaktionen
62
Punkte
114
Also per Docker läufts bei mir schon mal...
Die Variante von iLion ist aber auch interessant, werd ich mal probieren :)
 
Zuletzt bearbeitet:

DKeppi

Benutzer
Mitglied seit
01. Apr 2011
Beiträge
3.207
Punkte für Reaktionen
62
Punkte
114
DietPi mit PiHole läuft, allerdings erst nach einem Repair mittel pihole -r ;)
Damit hat das Teil jetzt auch eine eigene IP!

Jetzt frag ich mich nur noch wie ich in der FritzBox einen zweiten lokalen DNS eintragen kann der per DHCP verteilt wird, falls Pi-Hole mal offline ist geht sonst ja nichts mehr :(
Jemand eine Idee wie ich das lösen kann?
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat