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

Status
Für weitere Antworten geschlossen.

Jeypee

Benutzer
Mitglied seit
21. Apr 2012
Beiträge
66
Punkte für Reaktionen
2
Punkte
14
Also an der DS ist kein DNS Service installiert. Ich hab einen Banana Pi (Pi-Hole) mal im Netz gehabt - der ist aber aktuell (seit 2 Tagen) aus damit ich das hier mal probieren kann. Aktuell gehen meine Geräte direkt über den DNS der Fritzbox (2. DNS Adresse).

Die Fritzbox konfig "DNS-Server"
1: 5.189.170.196
2: 8.8.8.8

Im Heimnetz ist da nix einzustellen da DHCP aus.

Hab gerade noch gemerkt das ja an der DS noch die Firewall an ist und auch dort den Port 53 nochmal freigegeben. Aber das hat leider auch nix gebracht.
Im "Info-Center" unter "Dienst" sieht man auch sehr schön die verwendeten Ports - aber auch da Fehlanzeige. Kein Port 53.
 
Zuletzt bearbeitet:

King3R

Benutzer
Mitglied seit
14. Mrz 2017
Beiträge
361
Punkte für Reaktionen
82
Punkte
28
Welches deiner Geräte hat die IP 192.168.1.30?
 

King3R

Benutzer
Mitglied seit
14. Mrz 2017
Beiträge
361
Punkte für Reaktionen
82
Punkte
28
Ist auf deiner Diskstation die Firewall aktiv? Falls ja, hast du dort den Port 53 freigegeben?
 

Jeypee

Benutzer
Mitglied seit
21. Apr 2012
Beiträge
66
Punkte für Reaktionen
2
Punkte
14
Wie oben bereits geschrieben - Ja.
Ist das vom Netzwerk her richtig konfiguriert ?
Laufen tuts zumindest...

Netzwerk Allgemein
2020-02-11 DS - Netzwerk - Allgemein.PNG
Netzwerk-Schnittstelle
2020-02-11 DS - Netzwerk - Schnittstelle.PNG

Bin mir nicht sicher da an zwei stellen nach dem Gateway gefragt wurde... bzw. DNS

Auch merkwürdig. Stelle ich in der Netzwerkschnittstelle den DNS auf 127.0.0.1 bringt er folgende Meldung:

Rich (BBCode):
WARNING Misconfigured DNS in /etc/resolv.conf: Primary DNS should be 127.0.0.1 (found nameserver	127.0.0.1)
 
Zuletzt bearbeitet:

King3R

Benutzer
Mitglied seit
14. Mrz 2017
Beiträge
361
Punkte für Reaktionen
82
Punkte
28
Müsste die Subnetz-Maske nicht eigentlich 255.255.255.0 sein? Oder hat das einen speziellen Grund, dass du diese Subnetz-Maske genommen hast? Kannst du anhand dieser Anleitung überprüfen, ob du das richtig eingerichtet hast? Die Ports für den DHCP-Server hast du in der Syno Firewall auch freigegeben? Falls ja, kann man das schon mal ausschließen.

Den DNS-Server in der Syno auf 127.0.0.1 zu ändern bringt nichts. Dieser Eintrag ist nur für den Pi-hole gedacht.

Falls die Einstellungen deines DHCP-Servers i.O. sind würde ich den Container nochmal neu aufsetzen.
 

Jeypee

Benutzer
Mitglied seit
21. Apr 2012
Beiträge
66
Punkte für Reaktionen
2
Punkte
14
Das mit der Subnetz-Maske ist i.O. Ich habe nur max. 30 Geräte im Netz.

Hab den Container jetzt mehrfach aufgesetzt. Leider noch nicht ganz i.O. aber die Port 53 belegt Meldung habe ich weg bekommen.
Es war im Unterordner von Docker\pi-hole noch einige Verzeichnisse mit Dateien (da ich Anfangs mit der Umbiegung der configs gearbeitet hatte) drin die ich nun gelöscht habe.
Außerdem habe ich IPv6 deaktiviert.
Aktuell schauts so aus:
Rich (BBCode):
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] 01-resolver-resolv: applying... 
[fix-attrs.d] 01-resolver-resolv: exited 0.
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 20-start.sh: executing... 
 ::: Starting docker specific checks & setup for docker pihole/pihole
WARNING Misconfigured DNS in /etc/resolv.conf: Two DNS servers are recommended, 127.0.0.1 and any backup server
WARNING Misconfigured DNS in /etc/resolv.conf: Primary DNS should be 127.0.0.1 (found nameserver	192.168.1.30)
nameserver	192.168.1.30
   Existing PHP installation detected : PHP version 7.0.33-0+deb9u5
   Installing configs from /etc/.pihole...
   Existing dnsmasq.conf found... it is not a Pi-hole file, leaving alone!
   Copying 01-pihole.conf to /etc/dnsmasq.d/01-pihole.conf...
  [?] Copying 01-pihole.conf to /etc/dnsmasq.d/01-pihole.conf
chown: cannot access '/etc/pihole/dhcp.leases': No such file or directory
::: Pre existing WEBPASSWORD found
Docker DNS variables not used
Existing DNS servers used (127.0.0.1 & 5.189.170.196)
DNSMasq binding to default interface: eth0
Added ENV to php:
			"PHP_ERROR_LOG" => "/var/log/lighttpd/error.log",
			"ServerIP" => "192.168.1.29",
			"VIRTUAL_HOST" => "192.168.1.29",
Using IPv4
::: Preexisting ad list /etc/pihole/adlists.list detected ((exiting setup_blocklists early))
https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
https://mirror1.malwaredomains.com/files/justdomains
http://sysctl.org/cameleon/hosts
https://s3.amazonaws.com/lists.disconnect.me/simple_tracking.txt
https://s3.amazonaws.com/lists.disconnect.me/simple_ad.txt
https://hosts-file.net/ad_servers.txt
::: Testing pihole-FTL DNS: FTL started!
::: Testing lighttpd config: Syntax OK
::: All config checks passed, cleared for startup ...
 ::: Docker start setup complete
   Pi-hole blocking is enabled
  [?] DNS resolution is currently unavailable
   Time until retry: 120
[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 rennt er sehr lange gegen einen Timeout.
Ich denke ich habe hier ein Problem: /etc/resolv.conf
Wie müsste die Datei denn aussehen ? Bei mir steht da nur drin "nameserver 192.168.1.30"
Man müsste auch mal wissen wie es richtigerweise aussehen müsste (vom Protokoll her) !?
 
Zuletzt bearbeitet:

Jeypee

Benutzer
Mitglied seit
21. Apr 2012
Beiträge
66
Punkte für Reaktionen
2
Punkte
14
Ich darf vermelden das ich eine Verbindung habe.
Über dieses Video gings ganz gut nachzuvollziehen.
Man muss allerdings eine Virtuelle Netzwerkkarte einrichten (per SSH).
Rich (BBCode):
sudo docker network create -d macvlan --subnet=192.168.1.0/27 --ip-range=192.168.1.25/32 --gateway=192.168.1.30 -o parent=ovs_bond0 pi-hole_network
Natürlich jeweils mit eurem Gateway etc. In dem Fall hat der Pi-Hole dann die 192.168.1.25 !
Daran denken diese dann ggf. im DHCP raus zu nehmen bzw. fest zu schnüren.

DNSMASQ_LISTENING : local
Server_IP : 192.168.1.25
TZ : Europe/Berlin

Alles aber unter vorbehalt da ich mich quasi gar nicht mit Docker auskenne !
Wäre evtl. ganz gut wenn das einer von den Profis hier genauer verifizieren könnte !
 

King3R

Benutzer
Mitglied seit
14. Mrz 2017
Beiträge
361
Punkte für Reaktionen
82
Punkte
28
Rich (BBCode):
Stopping lighttpd
Stopping cron
Stopping pihole-FTL
[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.
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] 01-resolver-resolv: applying... 
[fix-attrs.d] 01-resolver-resolv: exited 0.
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 20-start.sh: executing... 
 ::: Starting docker specific checks & setup for docker pihole/pihole
WARNING Misconfigured DNS in /etc/resolv.conf: Two DNS servers are recommended, 127.0.0.1 and any backup server
WARNING Misconfigured DNS in /etc/resolv.conf: Primary DNS should be 127.0.0.1 (found nameserver	192.168.10.1)
nameserver	192.168.10.1
domain	fritz.box
   Existing PHP installation detected : PHP version 7.0.33-0+deb9u5
   Installing configs from /etc/.pihole...
   Existing dnsmasq.conf found... it is not a Pi-hole file, leaving alone!
   Copying 01-pihole.conf to /etc/dnsmasq.d/01-pihole.conf...
 [?] Copying 01-pihole.conf to /etc/dnsmasq.d/01-pihole.conf
chown: cannot access '/etc/pihole/dhcp.leases': No such file or directory
Custom WEB_PORT set to 8888
INFO: Without proper router DNAT forwarding to 192.168.10.70:8888, you may not get any blocked websites on ads
::: Pre existing WEBPASSWORD found
Docker DNS variables not used
Existing DNS servers used (127.0.0.1 & 1.1.1.1)
DNSMasq binding to default interface: eth0
Added ENV to php:
			"PHP_ERROR_LOG" => "/var/log/lighttpd/error.log",
			"ServerIP" => "192.168.10.70",
			"VIRTUAL_HOST" => "pi-hole.example.com",
Using IPv4 and IPv6
::: Preexisting ad list /etc/pihole/adlists.list detected ((exiting setup_blocklists early))
https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
https://mirror1.malwaredomains.com/files/justdomains
http://sysctl.org/cameleon/hosts
https://s3.amazonaws.com/lists.disconnect.me/simple_tracking.txt
https://s3.amazonaws.com/lists.disconnect.me/simple_ad.txt
https://hosts-file.net/ad_servers.txt
::: Testing pihole-FTL DNS: sudo: unable to resolve host pihole_test
sudo: unable to send audit message: Unknown error -1
FTL started!
::: Testing lighttpd config: Syntax OK
::: All config checks passed, cleared for startup ...
 ::: Docker start setup complete
   Pi-hole blocking is enabled
   Neutrino emissions detected...
  [?] Pulling blocklist source list into range
   Target: raw.githubusercontent.com (hosts)
   Status: Pending...
 [?] Status: Retrieval successful
   Target: mirror1.malwaredomains.com (justdomains)
   Status: Pending...
 [?] Status: No changes detected
   Target: sysctl.org (hosts)
   Status: Pending...
 [?] Status: No changes detected
   Target: s3.amazonaws.com (simple_tracking.txt)
   Status: Pending...
 [?] Status: No changes detected
   Target: s3.amazonaws.com (simple_ad.txt)
   Status: Pending...
 [?] Status: No changes detected
   Target: hosts-file.net (ad_servers.txt)
   Status: Pending...
 [?] Status: No changes detected
   Consolidating blocklists...
 [?] Consolidating blocklists
   Extracting domains from blocklists...
 [?] Extracting domains from blocklists
   Number of domains being pulled in by gravity: 147480
   Removing duplicate domains...
 [?] Removing duplicate domains
   Number of unique domains trapped in the Event Horizon: 125142
   Nothing to whitelist!
   Number of regex filters: 0
   Parsing domains into hosts format...
 [?] Parsing domains into hosts format
   Cleaning up stray matter...
 [?] Cleaning up stray matter
   Force-reloading DNS service...
 [?] Force-reloading DNS service
 [?] DNS service is running
 [?] Pi-hole blocking is Enabled
[cont-init.d] 20-start.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
Starting pihole-FTL (no-daemon) as root
Starting lighttpd
Starting crond
[services.d] done.

firefox_2020-02-14_13-52-48.png

Ich hab den Container nochmal testweise neu aufgesetzt, auf Basis des Netzwerk = Host. Die Warnung bzgl. des DNS ist zwar unverändert vorhanden, durch die DNS-Umgebungsvariablen (127.0.0.1 / 1.1.1.1) scheint das aber keine Probleme zu verursachen. Ansonsten scheint es aber zu funktionieren. Den Virtual Host kannst du weglassen, wenn du nur eine IP verwendest und nicht von außen darauf zugreifst.

Mit MacVLAN bin ich zur Zeit auch noch am rumprobieren, hab aber noch nicht richtig die Zeit dazu gefunden. Sofern man kein Docker verwenden möchte, könnte man auch noch eine Virtuelle Maschine mit DietPi unter VMM laufen lassen. Das ist auch ziemlich einfach aufzusetzen.
 

Jeypee

Benutzer
Mitglied seit
21. Apr 2012
Beiträge
66
Punkte für Reaktionen
2
Punkte
14
Und einmal Rolle Rückwärts.
Spaßeshalber habe ich auch noch mal wie zuerst aufgesetzt. Geht nun doch.
Ich vermute sehr stark das die verknüpften Ordner (Volumes) immer wieder quer geschossen haben !
Später ging es dann (evtl. nur bei mir) nicht weil keine Volumes verknüpft waren (warum auch immer)...
Ich poste nochmal die letzte Anleitung damit die neuen wieder etwas besser informiert sind !

1. Docker installieren
2. Download: Registrierung > Suche: "pihole" > pihole/pihole > latest (früher diginc/pi-hole)
3. Setup Docker: Abbild > pihole/pihole:latest > Starten
--a) Erweiterte Einstellungen: Automatischen Neustart aktivieren, (Option: Verknüpfung Desktop Statusseite)
--b) Volume [wahlweise] - Hat den Vorteil das Ihr dort eure Einstellungen gespeichert werden falls Ihr den Container mal neu aufsetzt
-----An der DS im Ordner "docker" einen Unterordner "pi-hole" und darin zwei Unterordner "etc-pihole" und "etc-dnsmasq.d" anlegen.
-----[Docker/pi-hole/etc-pihole] = [/etc/pihole]
-----[Docker/pi-hole/etc-dnsmasq.d] = [/etc/dnsmasq.d]
-----ACHTUNG: WENN ES PROBLEME GIBT den Inhalt der beiden Ordner vor dem Neustart des Pi-Hole löschen !
--c) Netzwerk: Dasselbe Netzwerk wie Docker Host verwenden
--d) Umgebung: Parameter anpassen/ergänzen > [Variable]=[Wert]
-----[ServerIP]=[123.123.123.123] die IP-Adresse Eurer DiskStation, unbedingt schon hier eintragen, spätere Änderung führt zu Mehrfacheinträgen und Bootschleife!
-----[WEB_PORT]=[8888] oder ein anderer bislang nicht vergebener Port, für den Zugriff auf das WebInterface
-----[DNSMASQ_LISTENING]=[all] um sämtlichen Verkehr zu erfassen, im eigenen Netzwerk hinter dem Router…
-----[WEBPASSWORD]=[xxx] Variable ohne Wert eintragen wenn keine Passwortabfrage erfolgen soll
-----[TZ]=[Europe/Berlin] TimeZone / Zeitzone
4. Starten und warten bis komplett im Prokoll geladen wurde.
5. Pi-Hole WebInterface aufrufen: 123.123.123.123:8888/admin (IP Eurer DS und der oben gewählte Port, „/admin“ nicht vergessen…)
6. fritz.box > Heimnetz > Netzwerk > Netzwerkeinstellungen > IPv4-Adressen > Lokaler DNS-Server: [123.123.123.123] (IP Eurer DS, Geräte im Netzwerk anweisen Anfragen an die DS zu richten, korrekte Anzeige der Geräte in Pi-Hole)
7. Option: Pi-Hole anpassen/erweitern: Settings
--a) DNS > Upstream DNS Servers > Custom 1&2 (z.B. von https://www.kuketz-blog.de/empfehlungsecke/#dns)
--b) weitere Sperr-Listen hinzufügen: Blocklists > URLs einfügen (z.B. von https://wally3k.github.io/) > Save and Update
 
  • Like
Reaktionen: nos999

King3R

Benutzer
Mitglied seit
14. Mrz 2017
Beiträge
361
Punkte für Reaktionen
82
Punkte
28
Na wenn es jetzt funktioniert, ist doch alles in Butter.
 

whitbread

Benutzer
Mitglied seit
24. Jan 2012
Beiträge
1.294
Punkte für Reaktionen
54
Punkte
68
Da ich aktuell etwas in Bedrängnis mit meiner RAM-Auslastung komme, probiere ich auch gerade mit Docker nocheinmal herum. (Aktuell läuft PiHole bei mir noch in einer VM auf Basis von DietPi)
Ich habe allerdings die Herausforderung, dass der Traffic an meiner DS218+ tagged ankommt. Dies ist so gewollt, da ich damit die einzelnen VM's bzw. deren Ports über den Router laufen lassen kann, um dort einzelne Verbindungen zuzulassen oder eben nicht. Daher wäre jetzt mein Ansatz, den Docker Container über Open vSwitch anzubinden. Hat das schon jemand erfolgreich hinbekommen?

Für eine Anbindung (leider nur untagged) habe ich folgende Anleitung gefunden:
Rich (BBCode):
ovs-vsctl add-br ovs-br1 (ist durch VMM schon vorhanden als 'ovs_eth0' bei mir)
ifconfig ovs-br1 173.16.1.1 netmask 255.255.255.0 up (wird m.E. nicht benötigt, da keine Kommunikation container-host erwünscht)
docker run -ti --name container1
ovs-docker add-port ovs_eth0 eth1 container1 --ipaddress=10.10.10.99/20 --gateway=10.10.10.1 (
ovs-vsctl add-port ovs_eth0 eth1 (auch dieser Befehl wird m.E. nicht benötigt, da der ovs-docker-Befehl bereits einen Port anlegt)
Der Zustand ist nun, dass der Docker-Container ein Interface erhält mit der o.a. IP, auf dem Host befindet sich ein Port unterhalb der bestehenden Bridge. Kommunikation kann ich bei mir leider nicht testen, da bei mir nur tagged traffic durchgeht.
Zusatzinfo: ovs-vsctl show bringt bei mir Folgendes zum Vorschein:
Rich (BBCode):
Bridge "ovs_eth0"
        Port "tap0211322b101b"
            tag: 100
            Interface "tap0211322b101b"
        Port "tap02113224ca41"
            tag: 101
            Interface "tap02113224ca41"
        Port "ovs_eth0"
            tag: 218 
            Interface "ovs_eth0"
                type: internal
        Port "eth0"
            Interface "eth0"
Über VLAN 218 ist die NAS selbst angebunden, 100 und 101 sind VLAN-Interfaces für virtuelle Maschinen.
Ich probiere weiter - vielleicht hat ja einer eine Idee...
 
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