GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Docker

So richten Sie Pi-hole auf einem Synology NAS ein

Heute schauen wir uns an, wie man Pi-hole auf einem Synology NAS einrichtet.

Wir werden uns zwei verschiedene Methoden ansehen, die beide Docker verwenden, um Pi-hole auf einem Synology NAS zu installieren. Die erste Methode, die wir uns ansehen werden, ist „einfacher“ und sollte verwendet werden, wenn Sie keine SSH-Verbindung zu Ihrem NAS herstellen möchten. Diese Methode verwendet die Host-Netzwerkschnittstelle. Bei der zweiten Methode müssen Sie eine SSH-Verbindung zu Ihrem Synology NAS herstellen, um eine Macvlan-Netzwerkschnittstelle für Docker zu erstellen. Um Ihre Frage zu beantworten, haben beide die gleiche Funktionalität, aber die erste Option verwendet die IP-Adresse Ihres NAS (und einen anderen Webport), während die zweite Option (mit der Macvlan-Netzwerkschnittstelle) eine eigene hat IP-Adresse.

Bevor wir beginnen, ist es unglaublich wichtig zu beachten, dass es sehr wichtig ist, redundante DNS-Server zu haben. Ich empfehle Ihnen dringend, einen billigen Raspberry Pi Zero zu kaufen und Pi-hole darauf zu konfigurieren, sodass Sie zwei Pi-hole-DNS-Server haben. Dadurch wird sichergestellt, dass Ihre Clients beim Neustart Ihres NAS keine DNS-Auflösungsdienste verlieren.

1. Erste Schritte

Diese Schritte müssen für beide Installationen durchgeführt werden, daher werden wir diese Schritte zuerst aus dem Weg räumen.

1. Installieren Sie Docker aus dem Paketzentrum von Synology.

2. Wir müssen zwei Ordner erstellen, denen wir unser Docker-Image zuordnen. Standardmäßig erstellt Docker einen Ordner mit dem Namen docker nachdem die Installation abgeschlossen ist. Innerhalb dieses Ordners erstellen wir einen Ordner mit dem Namen pihole . Innerhalb dieses Ordners werden wir zwei Unterordner erstellen. Erstellen Sie einen Ordner mit dem Namen pihole und einen weiteren Ordner mit dem Namen dnsmasq.d .

2. Host-Netzwerkschnittstelle (Option 1) – Synology NAS Pi-hole-Setup

Wie oben erwähnt, verwendet diese Option die Host-Netzwerkschnittstelle. Aus diesem Grund müssen Sie mit der IP-Adresse Ihres Synology NAS und einem definierten Port auf Pi-hole zugreifen.

3. Öffnen Sie Docker , navigieren Sie zur Registrierung , und suchen Sie nach Pi-Hole. Doppelklicken Sie auf Pi-hole/Pi-hole (offizielles Pi-hole-Docker-Image), um es herunterzuladen.

4. Wählen Sie Neueste aus . Das Bild wird jetzt heruntergeladen.

5. Doppelklicken Sie auf das Pi-hole-Image, um die Docker-Konfiguration zu starten.

6. Geben Sie Ihrem Container einen Namen und wählen Sie dann Erweitert aus Einstellungen . HINWEIS :Wenn Sie beabsichtigen, Pi-hole für DHCP zu verwenden, müssen Sie Container mit hoher Berechtigung ausführen. aktivieren

7. Jetzt müssen wir die Erweitert konfigurieren Einstellungen .

  • Haken Sie Aktivieren ab automatischer Neustart.

  • Im Band Abschnitt müssen wir die von uns erstellten Ordner den internen Docker Pi-hole-Speicherorten zuordnen. Wählen Sie Hinzufügen aus Ordner und fügen Sie die dnsmasq.d hinzu Ordner und geben Sie den Bereitstellungspfad als /etc/dnsmasq.d ein . Machen Sie dasselbe für den Pihole-Ordner mit dem Mount-Pfad als /etc/pihole .

  • Unter Netzwerk , wählen Sie Dasselbe Netzwerk wie Docker-Host verwenden. aus

  • Navigieren Sie zur Umgebung Abschnitt . Wir müssen ein paar Variablen hinzufügen.
  • Klicken Sie auf das + signieren und diese Variablen hinzufügen:
    • WEBPASSWORT: Passwort, mit dem Sie auf das Admin-Portal zugreifen möchten.
    • WEB_PORT: Der Port, mit dem Sie auf das Admin-Portal zugreifen möchten. Dies muss etwas sein, das nicht verwendet wird. Im Allgemeinen sollte etwas in den 8000ern in Ordnung sein.
    • DNSMASQ_LISTENING: lokal
    • Server-IP: Diese existiert bereits. Ändern Sie diese in die IP-Adresse Ihres NAS.

8. Klicken Sie auf Anwenden um den Pi-hole-Docker-Container zu erstellen.

9. Da Sie Ihre Host-Netzwerkschnittstelle verwenden, müssen Sie Port 53 und den oben ausgewählten „WEB_PORT“ (ich habe 8888 verwendet) auf Ihrer Synology-Firewall öffnen. Dies ist der Standard-DNS-Port und der Port für das Pi-hole-Webportal. Wenn Sie wissen möchten, wie Sie die Firewall konfigurieren, habe ich hier ein Tutorial erstellt.

10. Öffnen Sie die Systemsteuerung und navigieren Sie zu Firewall . Wählen Sie Bearbeiten aus Regeln .

11. Erstellen Sie eine Regel mit dem benutzerdefinierten Port die du oben definiert hast. Das Protokoll kann auf TCP belassen werden .

12. Erstellen eine Regel mit dem DNS-Port das ist 53 . Wählen Sie unter Protokoll Alle aus .

13. Stellen Sie sicher, dass die Regeln über Ihrem Alle ablehnen stehen Regel.

14. Sie sollten jetzt über diese Webadresse auf Pi-hole zugreifen können:http://[NAS IP_ADDRESS]:[WEB_PORT]/admin

15. Der Installationsvorgang ist nun abgeschlossen. Navigieren Sie zum Abschnitt DNS-Konfiguration, um den Konfigurationsprozess abzuschließen.

3. Macvlan-Netzwerkschnittstelle (Option 2) – So richten Sie Pi-hole auf einem Synology NAS ein

Zum Zeitpunkt des Schreibens dieses Beitrags kann ich v5.1.1 (neueste Version) nicht dazu bringen, mit dieser Methode zu arbeiten. Ich habe verschiedene Male getestet und kann bestätigen, dass v5.0 und v5.1 ordnungsgemäß funktionieren.

v5.1.2 scheint das Problem gelöst zu haben, das v5.1.1 verursacht hat!

Wie oben erwähnt, besteht der Vorteil einer solchen Einrichtung darin, dass wir unserem Pi-Hole eine eigene IP-Adresse geben können. Dazu müssen wir eine SSH-Verbindung zu unserem Synology NAS herstellen.

1. Stellen Sie sicher, dass Sie sich per SSH mit Ihrem Synology NAS verbinden können. Öffnen Sie die Systemsteuerung , wählen Sie Terminal &SNMP aus , und aktivieren Sie SSH Service. Wenn Sie die Firewall von Synology verwenden, vergewissern Sie sich, dass Sie Datenverkehr über Port 22 zulassen. Ich habe ein Video darüber erstellt, wie Sie bei Problemen eine SSH-Verbindung zu Ihrem Synology NAS herstellen können.

2. SSH mit Ihrem bevorzugten SSH-Tool in Ihr Synology NAS. Als erstes müssen wir eine resolv.conf erstellen -Datei, damit Docker die richtigen DNS-Serveradressen abrufen kann. Dieser Schritt ist für Sie möglicherweise nicht obligatorisch, aber ich hatte große Probleme, Pi-hole ohne diesen Schritt zu konfigurieren. Führen Sie diese Befehle aus:

cd /[VOLUME_#]/docker/pihole
sudo vi resolv.conf

3. Geben Sie in der erstellten Datei die beiden folgenden Zeilen ein und speichern Sie die Datei. Wenn Sie sich nicht sicher sind, wie Sie den vi-Editor verwenden, erfahren Sie hier, wie Sie ihn verwenden. HINWEIS :Wenn Sie damit Probleme haben, erstellen Sie einfach eine lokale Datei mit dem Namen resolv.conf mit den zwei Zeilen unten und laden Sie es in Ihren Pihole-Ordner in DSM hoch.

nameserver 127.0.0.1
nameserver 8.8.8.8

4. Nachdem die Datei erstellt wurde, müssen wir eine Docker Macvlan-Netzwerkschnittstelle erstellen. Zuerst müssen wir feststellen, welche Netzwerkschnittstellen derzeit vorhanden sind (auf Ihrem Synology NAS) und den Adapternamen notieren. Führen Sie dazu den folgenden Befehl aus und notieren Sie sich den Namen der Netzwerkschnittstelle, die die IP-Adresse Ihres Synology NAS hat (in diesem Beispiel ist meine eth0).

ifconfig

5. Als nächstes müssen Sie den folgenden Befehl ausführen, während Sie das richtige Subnetz ersetzen (die meisten sind standardmäßig 192.168.1.0/24). Sie müssen auch eine IP-Adresse auswählen, die Sie verwenden möchten, die derzeit nicht verwendet wird. Ich werde 192.168.1.198 verwenden. HINWEIS :ph_network ist der Name des Netzwerks (Sie können dies nach Belieben ersetzen).

sudo docker network create -d macvlan -o parent=eth0 --subnet=192.168.1.0/24 --gateway=192.168.1.1 --ip-range=192.168.1.198/32 ph_network

Unser Netzwerk ist nun erstellt. Wir können dann unsere SSH-Sitzung beenden und sie in DSM deaktivieren (falls Sie sie nicht verwenden). Wenn Sie es deaktivieren und eine Firewall-Regel dafür erstellt haben, sollten Sie auch die Firewall-Regel deaktivieren.

6. Als nächstes müssen wir ein Bridge-Netzwerk erstellen. Dadurch kann unser Host (NAS) mit unserem Pi-Hole-Container kommunizieren. Öffnen Sie Docker und navigieren Sie zum Netzwerk Sektion. Wählen Sie Hinzufügen und geben Sie ein Subnetz ein, das derzeit nicht verwendet wird. Die IP-Adresse der Bridge, die ich erstelle, lautet 192.168.10.2.

7. Unsere neuen Netzwerke sind jetzt erstellt. Als nächstes müssen wir unseren Pi-hole-Container erstellen.

8. Öffnen Sie Docker , navigieren Sie zur Registrierung , und suchen Sie nach Pi-hole . Doppelklicken Sie auf Pi-hole/Pi-hole (offizielles Pi-hole-Docker-Image), um es herunterzuladen.

9. Wählen Sie v5.1 aus . Das Bild wird jetzt heruntergeladen.

10. Geben Sie Ihrem Container einen Namen und wählen Sie dann Erweiterte Einstellungen aus . HINWEIS :Wenn Sie beabsichtigen, Pi-hole für DHCP zu verwenden, müssen Sie Container mit hoher Berechtigung ausführen. aktivieren

11. Jetzt müssen wir die Erweiterten Einstellungen konfigurieren .

  • Haken Sie Aktivieren ab automatischer Neustart.
  • Im Band Abschnitt müssen wir die von uns erstellten Ordner den internen Docker Pi-hole-Speicherorten zuordnen. Wählen Sie Hinzufügen aus Ordner und fügen Sie die dnsmasq.d hinzu Ordner und geben Sie den Bereitstellungspfad als /etc/dnsmasq.d. ein Machen Sie dasselbe für den Pi-Hole-Ordner mit dem Mount-Pfad als /etc/pihole .
  • Anders als bei der ersten Option müssen wir unsere resolv.conf mappen auch Datei. Wählen Sie Datei aus und navigieren Sie zur resolv.conf Datei, die wir erstellt haben. Geben Sie den Bereitstellungspfad als /etc/resolv.conf. ein

  • Unter dem Netzwerk fügen Sie die beiden von uns erstellten Netzwerke (ph_network, ph_bridge) hinzu und entfernen Sie die Brücke Netzwerk.

  • Klicken Sie auf das + signieren und diese Variablen hinzufügen:
    • WEBPASSWORT :das Passwort, mit dem Sie auf das Admin-Portal zugreifen möchten.
    • DNSMASQ_LISTENING: lokal
    • VIRTUAL_HOST: Pihole
    • Server-IP: Dies existiert bereits. Ändern Sie diese in die IP-Adresse des oben erstellten ph_network (192.168.1.198).

12. Klicken Sie auf Anwenden um den Pi-hole-Docker-Container zu erstellen.

13. Sie sollten jetzt über diese Webadresse auf Pi-hole zugreifen können:http://[IP_ADDRESS]/admin

4. DNS-Konfiguration – So richten Sie Pi-hole auf einem Synology NAS ein

Nachdem die Einrichtung von Pi-hole abgeschlossen ist, müssen wir einen Weg finden, unsere Clients auf unseren DNS-Server zu verweisen. Dafür gibt es zwei Möglichkeiten:

  • Verweisen Sie den DNS-Server Ihres Routers auf die IP-Adresse Ihres Pi-hole-Servers. Dadurch wird sichergestellt, dass jedes angeschlossene Gerät Pi-hole als DNS-Server verwendet.
  • Verweisen Sie jeden Client auf Ihren DNS-Server. Dies ist von Vorteil, wenn Sie möchten, dass nur bestimmte Clients Pi-hole als DNS-Server verwenden.
    • Windows-Anweisungen
    • Mac OS-Anleitung
    • Linux-Anleitung

Ich verweise die DNS-Server meines Routers auf meinen Pi-hole-Server, da ich sicherstellen möchte, dass sich jedes Gerät damit verbindet.

5. Fazit

In diesem Tutorial wurde erklärt, wie Pi-hole auf einem Synology NAS eingerichtet wird. Der Prozess ist nicht schlecht und Pi-Hole ist großartig! Ich benutze es schon eine Weile und obwohl ich gelegentlich auf das Problem stoße, dass es etwas blockiert, das ich brauche, ist es ein ziemlich einfacher Prozess, es zu finden und auf die weiße Liste zu setzen.

Ich werde noch einmal auf die Bedeutung redundanter Pi-Hole-Server hinweisen. Es gibt so viele Vorteile, einen zweiten DNS-Server zu haben, und mit Raspberry Pi Zero-Kits, die nur 25 US-Dollar kosten, lohnt es sich.

Vielen Dank für das Lesen des Tutorials. Wenn Sie Fragen haben, hinterlassen Sie diese bitte in den Kommentaren!


Docker
  1. So verwenden Sie Rsync und SSH in einer Docker-basierten GitLab-CI-Pipeline

  2. Was ist Docker? Wie funktioniert es?

  3. So installieren und verwenden Sie Docker unter Ubuntu 20.04

  4. So installieren Sie Docker auf dem Raspberry Pi

  5. So installieren Sie Portainer auf einem Raspberry Pi!

So installieren Sie qbittorrent auf Ubuntu 20.04 Focal Fossa

So suchen Sie Dateien im Terminal unter Linux

So installieren Sie SMPlayer unter Ubuntu 20.04 LTS

So fügen Sie Swap Space unter Debian 9 hinzu

Installieren und Konfigurieren von Jenkins unter Linux

So installieren Sie OpenCV unter CentOS 8