Anleitung zur Erstellung eines Piholes mit Docker

Status
Für weitere Antworten geschlossen.

BlueEnni

Benutzer
Mitglied seit
21. Aug 2019
Beiträge
19
Punkte für Reaktionen
0
Punkte
0
Anleitung Pihole als Dockercontainer


Vorabgedanken:
DNS läuft über den Port 53, hat man einen DNS Server auf der Synology, so wird der Port bereits genutzt und kann eventuell nicht verwendet werden.

Mit macvlan kann man über den gleichen Nic ein Subnet in der gleichen IP-Range der Synology IP erstellen. Braucht man längerfristig nur eine IP, so setzt man die Range der Subnetzmaske auf /32. Dadurch wird dem Container immer nur diese IP zugewiesen.

Erstellung eines weiteren Netzwerks mit dem macvlantreiber:

Überprüfen, ob der Dienst SSH aktiviert ist: Systemsteuerung/Terminal & SNMP/SSH?
2019-08-21 12_17_33-synology - Synology DiskStation.jpg
Anschließend mit einem lokalen Benutzerkonto via SSH (Putty) auf die Synology IP verbinden. In der Console sich mit dem Befehl „sudo su“ Adminrechte geben und folgenden Befehl ausführen (Info Synology hat IP:192.168.222.10/24):

docker network create -d macvlan --subnet=192.168.222.0/24 --gateway=192.168.222.1 --ip-range=192.168.222.14/31 -o parent=eth0 Pihole

ip link add mac0 link eth0 type macvlan mode bridge
ip addr add 192.168.222.15/31 dev mac0
ifconfig mac0 up


Bei einem Bond(Linkaggregation):

docker network create -d macvlan --subnet=192.168.222.0/24 --gateway=192.168.222.1 --ip-range=192.168.222.14/31 -o parent=bond0 Pihole

ip link add mac0 link bond0 type macvlan mode bridge
ip addr add 192.168.222.15/31 dev mac0
ifconfig mac0 up

?
Nun erscheint das eben erstellte Netzwerk auch auf der Synology GUI.


Der Rest wird über die GUI eingerichtet.

Containererstellung:

In der Registerkarte „Registrierung“ der Docker Applikation nach dem Image Pihole suchen und die latest Version herunterladen.
2019-08-21 12_28_56-synology - Synology DiskStation.jpg

Unter der Registerkarte Abbild das Image Pihole auswählen und auf „Starten“ klicken. Nach Wunsch entsprechend den Namen vergeben und auf „Erweiterte Einstellungen“ klicken.
2019-08-21 12_32_15-synology - Synology DiskStation.jpg
Unter Erweiterte Einstellungen nun den Punkt „Automatischen Neustart aktivieren“ auswählen ?.
2019-08-21 12_32_51-synology - Synology DiskStation.png
Nun in der Registerkarte „Volume“ einen Subordner (pihole) in docker hinzufügen.
2019-08-21 12_33_37-synology - Synology DiskStation.png
?
Anschließend noch den Mount-Pfad angeben.
2019-08-21 12_34_29-synology - Synology DiskStation.png
?
In der Registerkarte „Netzwerk“ mit dem Plus das eben erstellte Netzwerk Pihole hinzufügen.
2019-08-21 12_35_15-synology - Synology DiskStation.png
?
Anschließend das verbleibende Netzwerk in meinem Fall „bridge“ löschen.
2019-08-21 12_35_36-synology - Synology DiskStation.png
?
Jetzt sollte nur noch das Netzwerk „Pihole“ im Feld Netzwerkname sichtbar sein.
2019-08-21 12_35_59-synology - Synology DiskStation.png
?
Unter „Port-Einstellungen“ nun die Port Address Translation (PAT) nach euren Wünschen und Bedarf einstellen (oberhalb von Port 50000 ist in der Regel unbelegt). Das waren alle Einstellungen. Nach getätigten PAT Einstellungen kann auf „Übernehmen“ geklickt werden.

?
Das Ganze im Anschluss nach der Konfigurationsüberprüfung übernehmen.

Jetzt kann man unter der Registerkarte „Container“ die Details des Pihole Containers öffnen und die Einstellungen in der Übersicht noch einmal überprüfen.

?
Passwort neu setzen:

Unter dem Punkt „Protokoll“ kann nun das initial erstellte Passwort eingesehen werden, in dem man das Protokoll nach password filtert.

Das Passwort kann man im Reiter „Terminal“ ändern. Dazu zunächst ein neues Terminal Fenster erstellen.

?
Hier den Befehl „pihole -a -p 12345678“ (das neue Passwort ist nun 12345678) eintippt und mit der Enter-Taste bestätigt.


Überprüfen der verwendeten Ports:

Mit Zenmap kann man nun überprüfen, welche Ports nach außen offen und sichtbar sind. Hier sollte der Port 53 und der Port 80 erscheinen.
?
DNS Server auf Pihole umleiten:

In der Fritzbox eueren DNS-Server auf die Pihole IP umleiten.


Pihole Einrichtung:

Mit der Url: http://192.168.222.14/admin (in eurem Fall kann es eine andere IP sein) kann man die GUI des Pihole öffnen.

?
In der Registerkarte „Settings“ unter dem Punkt „DNS“ kann der gewünschte DNS Server zu dem euere DNS-Anfragen geschickt werden ausgewählt werden. Am zuverlässigsten würde ich Cloudflare und Google’s DNS Server einschätzen und dementsprechend auch verwenden. Unter „Advanced DNS settings“ den Haken bei „Never Forward non-FQDNs“? rausnehmen. Fertig ist euer Pihole.


Testen & Ergänzen der Addblockliste:

Testen kann man das Pihole in dem ihr CMD öffnet und den Befehl:“ipconfig /flushdns“ eingebt und mit der Entertaste bestätigt. Nun eueren Chrombrowser neu startet und einen Tab im Inkognitomodus öffnet. Sollten Add’s (Werbung) auf Webseiten auftauchen, die Domains dieser (z.B. bild.de) in die Blacklist als Wildcard einfügen und den Prozess des Browserneustarts inklusive flushdns erneut durchführen.
 

Anhänge

  • 2019-08-21 12_24_11-synology - Synology DiskStation.jpg
    2019-08-21 12_24_11-synology - Synology DiskStation.jpg
    44,3 KB · Aufrufe: 450
Zuletzt bearbeitet:

BlueEnni

Benutzer
Mitglied seit
21. Aug 2019
Beiträge
19
Punkte für Reaktionen
0
Punkte
0
Leider kann man nicht mehr Bilddateien einfügen :/

Hier die Bilder die nicht in das Thema gepasst haben.

2019-08-21 12_36_50-synology - Synology DiskStation.png

2019-08-21 12_37_23-synology - Synology DiskStation.png

2019-08-21 12_38_33-synology - Synology DiskStation.jpg

2019-08-21 12_39_28-synology - Synology DiskStation.jpg

2019-08-21 12_40_50-synology - Synology DiskStation.png

2019-08-21 12_42_06-synology - Synology DiskStation.jpg

2019-08-21 13_18_52-Pi-hole Admin Console.jpg
 

Anhänge

  • 2019-08-21 13_27_29-Zenmap.png
    2019-08-21 13_27_29-Zenmap.png
    16,7 KB · Aufrufe: 422
  • 2019-08-21 13_07_34-FRITZ!Box 7490.jpg
    2019-08-21 13_07_34-FRITZ!Box 7490.jpg
    38,6 KB · Aufrufe: 425
  • 2019-08-21 12_43_05-Mail.jpg
    2019-08-21 12_43_05-Mail.jpg
    61,5 KB · Aufrufe: 418
Zuletzt bearbeitet:

Thorben

Benutzer
Mitglied seit
21. Sep 2018
Beiträge
20
Punkte für Reaktionen
0
Punkte
1
Danke für die Anleitung,
hat bei mir prima funktioniert.
 

BlueEnni

Benutzer
Mitglied seit
21. Aug 2019
Beiträge
19
Punkte für Reaktionen
0
Punkte
0
Bitte gerne ;)

Bin gerade dabei das Mediawiki mit Docker zu implementieren, da folgt evtl. noch eine neue Anleitung.
 
Zuletzt bearbeitet von einem Moderator:

Thorben

Benutzer
Mitglied seit
21. Sep 2018
Beiträge
20
Punkte für Reaktionen
0
Punkte
1
Nabend ich hab da doch noch eine Frage/Problehm.
Seid dem ich jetz die DNS anfragen über den PiHole "Filtern" lasse kann ich inerhalb meines Lokalen Netzwerks keine Hostnamen auflösen lassen.
Zur Info:
Ich Nutze auch den DHCP Server von PiHole.
PiHole selber Zeigt auch keine Namen aus dem Lokalen Netz an sondern nur IP's.
Kann mir da Jemand weiterhelfen ?
 

BlueEnni

Benutzer
Mitglied seit
21. Aug 2019
Beiträge
19
Punkte für Reaktionen
0
Punkte
0
Hast du mal probiert in Pihole die Namen zu vergeben - unter DHCP?

Ich selbst nutze den DHCP und DNS Server der Synology.

Der DHCP von mir zeigt auf den DNS Server und der DNS Server auf das Pihole.

Gruß
 
Zuletzt bearbeitet von einem Moderator:

Thorben

Benutzer
Mitglied seit
21. Sep 2018
Beiträge
20
Punkte für Reaktionen
0
Punkte
1
Ja hab ich gemacht jedoch ohne erfolg aber die Idee den PiHole rein als Addblocker zu nuzen und DHCP und DNS direckt auf der DS Laufen zu lassen werde ich die Tage mal ausprobieren.
 

BlueEnni

Benutzer
Mitglied seit
21. Aug 2019
Beiträge
19
Punkte für Reaktionen
0
Punkte
0
Nichts für ungut, dass scheint mir nicht wirklich weniger Aufwand zu sein.

Da würde ich eher die bridge als Netzwerk auswählen, welche bereits per default existiert und entsprechend das PAT einstellen... dabei natürlich Port 53 gleich belassen. Der Rest ist einfach das gleiche wie bei jedem anderen Container.
Ist für mich wesentlich weniger Aufwand als mit zusätzlichen Parametern herum zu spielen ;)

2019-08-29 02_45_15-synology - Synology DiskStation.png

2019-08-29 02_45_38-synology - Synology DiskStation.png

2019-08-29 02_45_56-Pi-hole Admin Console.jpg
 
Zuletzt bearbeitet von einem Moderator:

subraumanomalie

Benutzer
Mitglied seit
28. Aug 2019
Beiträge
5
Punkte für Reaktionen
0
Punkte
1
Alles gut, viele Wege führen nach Rom... bin froh dass das Thema einen breiteren Zugang findet...

Die existierende Bridge zu verwenden war mein erster Versuch, mit dem Ergebnis dass alle Geräte-Anfragen mit der entsprechenden Standard-IP der Bridge ausgewiesen wurden: 172.17.0.1...
Der zweite Versuch mit "Dasselbe Netzwerk wie Docker Host verwenden" hat dann die korrekten IP-Adressen der Geräte gezeigt, dafür sind zwar zusätzliche Parameter notwendig, aber ich spare mir die Konsole... :cool:
Der Eintrag der DiskStation-IP in der FritzBox als "Lokaler DNS-Server" statt "Andere DNSv4-Server verwenden" führte dann auch zur Auflösung der GeräteNamen...
 

BlueEnni

Benutzer
Mitglied seit
21. Aug 2019
Beiträge
19
Punkte für Reaktionen
0
Punkte
0
Die IP der Bridge kannst du vergessen. Die ist natürlich nicht erreichbar, sie ist ja auch in einem ganz anderen Subnet. ;)
Das Netzwerk bridge ist nur dafür da, dass du andere Ports verwenden kannst (wird nur für die Weboberfläche Port 80 benötigt).

Auf das Pihole kommst du dann mit der IP deiner Synology.

Mein Tipp:
Erstell dir einen Container unter Erweitert mit dem Netzwerk bridge (nicht Host Netzwerk verwenden).
Und dem Port Mapping/Translation

55555 = 443
53 = 53
53 = 53
Automatisch = 67
55000 = 80

Sobald der Container läuft, kannst du mit Zenmap/NMAP die Ports deiner Synology IP Scannen und es sollten Port 55555, 55000 und Port 53 erscheinen.

Dann ganz einfach http://"Synology-IP":55000/admin in den Browser und du bist auf deinem Pihole.

Als IP für DNS Server trägst du natürlich deine Synology ein und nicht die Bridge-IP
 
Zuletzt bearbeitet:

Solear

Benutzer
Mitglied seit
05. Aug 2014
Beiträge
224
Punkte für Reaktionen
0
Punkte
16
Ich würde mit macvlan dem pihole-Container eine ganz eigene IP innerhalb des Subnetzes geben. Damit hat sich das ganze Umgebiege erledigt und man kommt nicht mit Services der Diskstation ins Gehege. Steuern lassen sich die Container auch leichter über alternative Containerverwaltungsoberflächen, wie portainer. Die der DSM ist wirklich nur rudimentär.
 

subraumanomalie

Benutzer
Mitglied seit
28. Aug 2019
Beiträge
5
Punkte für Reaktionen
0
Punkte
1
Die IP der Bridge kannst du vergessen. Die ist natürlich nicht erreichbar, sie ist ja auch in einem ganz anderen Subnet. ;)
Das Netzwerk bridge ist nur dafür da, dass du andere Ports verwenden kannst (wird nur für die Weboberfläche Port 80 benötigt).

Auf das Pihole kommst du dann mit der IP deiner Synology.

Mein Tipp:
Erstell dir einen Container unter Erweitert mit dem Netzwerk bridge (nicht Host Netzwerk verwenden).
Und dem Port Mapping/Translation

Da hast Du mich falsch verstanden, dieses Setup war bereits Gegenstand meines o.g. ersten Versuchs, Pi-Hole war grundsätzlich erreichbar (natürlich mit der DS-IP) und hat seinen Dienst zuverlässig verrichtet, im Query Log wurden jedoch nicht die jeweiligen IP-Adressen der Clients angezeigt sondern lediglich 172.17.0.1, so wie hier: https://www.synology-forum.de/showthread.html?85418-Pi-Hole-auf-Docker-Zugriff-auf-Weboberfl%C3%A4che-geblockt&p=777443&viewfull=1#post777443...

Mein Ziel war eine unkomplizierte Konfiguration mit vorhandenen und (aus meiner Sicht) beherrschbaren Mitteln, ohne weitere Funktionen der FritzBox ablösen zu müssen... läuft mit dem Host Netzwerk zu meiner vollsten Zufriedenheit...
 

BlueEnni

Benutzer
Mitglied seit
21. Aug 2019
Beiträge
19
Punkte für Reaktionen
0
Punkte
0
Ich würde mit macvlan dem pihole-Container eine ganz eigene IP innerhalb des Subnetzes geben. Damit hat sich das ganze Umgebiege erledigt und man kommt nicht mit Services der Diskstation ins Gehege. Steuern lassen sich die Container auch leichter über alternative Containerverwaltungsoberflächen, wie portainer. Die der DSM ist wirklich nur rudimentär.

sehe ich auch so - siehe meine Anleitung da ist das mit implementiert.

Gruß
 

BlueEnni

Benutzer
Mitglied seit
21. Aug 2019
Beiträge
19
Punkte für Reaktionen
0
Punkte
0
Da hast Du mich falsch verstanden, dieses Setup war bereits Gegenstand meines o.g. ersten Versuchs, Pi-Hole war grundsätzlich erreichbar (natürlich mit der DS-IP) und hat seinen Dienst zuverlässig verrichtet, im Query Log wurden jedoch nicht die jeweiligen IP-Adressen der Clients angezeigt sondern lediglich 172.17.0.1, so wie hier: https://www.synology-forum.de/showthread.html?85418-Pi-Hole-auf-Docker-Zugriff-auf-Weboberfl%C3%A4che-geblockt&p=777443&viewfull=1#post777443...

Mein Ziel war eine unkomplizierte Konfiguration mit vorhandenen und (aus meiner Sicht) beherrschbaren Mitteln, ohne weitere Funktionen der FritzBox ablösen zu müssen... läuft mit dem Host Netzwerk zu meiner vollsten Zufriedenheit...

ja gut, solange alles läuft wie du es dir wünscht ;)
 

BlueEnni

Benutzer
Mitglied seit
21. Aug 2019
Beiträge
19
Punkte für Reaktionen
0
Punkte
0
Mir ist aufgefallen, dass die Verlinkung des mac0 interface zum bond/eth inklusive IP nach einem reboot verworfen wird.

Habe einen Task in der Synology erstellt, der alle 10min das interface erstellt. Die Durchführung lediglich nach einem boot hat nicht funktioniert.
 

Solear

Benutzer
Mitglied seit
05. Aug 2014
Beiträge
224
Punkte für Reaktionen
0
Punkte
16
Nach einem boot muss man noch 30 oder 120 Sekunden warten, bis das Netzwerk hochgefahren ist. Das kann man per sleep Befehl einbauen
 

BlueEnni

Benutzer
Mitglied seit
21. Aug 2019
Beiträge
19
Punkte für Reaktionen
0
Punkte
0
Merci :)
 
Zuletzt bearbeitet von einem Moderator:

Lucifor

Benutzer
Mitglied seit
22. Jan 2019
Beiträge
57
Punkte für Reaktionen
0
Punkte
12
Hallo Leute,

ich habe bis Dato einen Raspberry für das Hole benutzt, ich benötigen diesen aber für einen weiteren 3D Drucker, somit wollte ich das Hole auf die Diskstation umziehen.
Ich habe diese Anleitung befolgt, beim setzen des Netzwerkes über SSH aber den letzen Teil anstatt die 14/32 auf 241/32 gesetzt, ist es richtig das ich damit die IP des Holes setze?

docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.254 --ip-range=192.168.1.241/31 -o parent=eth0 Pihole

Hat soweit auch geklappt, aber das Docker Abbild startet in Sekundentakt neu, tut er jetzt schon seit mehreren Minuten. im Log steht folgende Zeile die mich verwundert:
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 fro....

Jemand eine Idee dazu?
 
Zuletzt bearbeitet:
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