Vielleicht werden Sie beim Lesen eines Artikels auf einer Website mit Popup-Werbung belästigt. Bei all diesen Anzeigen, wie kann man sie blockieren? Installieren Sie Pi-hole in Docker und verwenden Sie Pi-hole als netzwerkweiten Werbeblocker und verbessern Sie Ihre Netzwerkleistung.
In diesem Tutorial erfahren Sie, wie Sie Pi-hole in einem Docker-Container einrichten und ausführen, um Anzeigen und Websites zu blockieren. Klingt spannend? Lesen Sie weiter, um mehr zu erfahren!
Voraussetzungen
Dieses Tutorial wird eine praktische Demonstration sein. Wenn Sie mitmachen möchten, stellen Sie sicher, dass Sie Folgendes haben:
- Docker auf Windows 10 installiert (aber jedes unterstützte Betriebssystem funktioniert).
- Ein Windows 10-PC – Dieses Tutorial verwendet Windows 10 OS Build 19042.1165.
Zwei persistente Docker-Volumes erstellen
Wenn Sie Pi-hole im Docker-Container einrichten, müssen Sie zuerst ein Docker-Volume erstellen, um die Pi-hole-Anwendung und die DNS-Konfiguration zu speichern.
Öffnen Sie PowerShell als Administrator und führen Sie dann die folgenden Befehle aus, damit Docker zwei Volumes erstellt (volume create
) namens pihole_app
und dns_config
. Sie können die Namen auch nach Ihren Wünschen ändern.
docker volume create pihole_app
docker volume create dns_config
Überprüfen Sie als Nächstes, ob die Docker-Volumes erfolgreich erstellt wurden, indem Sie den folgenden Befehl ausführen, der alle auf Ihrem Computer verfügbaren Docker-Volumes auflistet.
docker volume ls
Unten sehen Sie zwei neu erstellte Volumes namens pihole_app
und dns_config
.
Pi-hole im Docker-Container mit Umgebungsvariablen ausführen
Nachdem Sie nun zwei persistente Volumes zur Verfügung haben, können Sie einen Docker-Container mit dem Basis-Docker-Image von Pi-hole ausführen. Aber zuerst müssen Sie Ihre lokale IP-Adresse notieren.
Führen Sie den folgenden Befehl aus, um Ihre lokale IP-Adresse zu erhalten. Ihre lokale IP-Adresse ist erforderlich, um den einzelnen Docker-Befehl ordnungsgemäß auszuführen.
ipconfig /all
Führen Sie als Nächstes den folgenden Befehl aus, um pihole/pihole
abzurufen Basisimage vom Docker-Hub. Ersetzen Sie die Werte entsprechend, indem Sie die folgende Tabelle als Referenz verwenden. In der folgenden Tabelle werden die einzelnen Flags für den Zweck des Befehls erläutert.
docker run --name=pihole -e TZ=Asia/Manila -e WEBPASSWORD=password -e SERVERIP=YourIPAddressHere -v pihole_app:/etc/pihole -v dns_config:/etc/dnsmasq.d -p 81:80 -p 53:53/tcp -p 53:53/udp --restart=unless-stopped pihole/pihole
Pi-Hole-Docker-Befehlsflags
Befehls-Flags | Definition |
– name=pihole | Benennt einen Docker-Container als Pihole. Es wird ein Fehler ausgegeben, wenn bereits ein Container mit demselben Namen auf Ihrem Computer existiert |
-e TZ=Asien/Manila | Umgebungsvariable für die Zeitzone. Asia/Manila wurde für dieses Tutorial verwendet, aber Sie können alles eingeben, was das gleiche Format hat, das in einem GitHub-Gist aufgelistet ist. |
-e WEBPASSWORD=Passwort | Legt ein Passwort für die Pi-hole-Schnittstelle fest. |
-e SERVERIP=IhreIP-AdresseHier | Legen Sie Ihre IP-Adresse für den Docker-Container fest. Sie werden dies später erneut verwenden, um Pi-Hole zum Laufen zu bringen. |
-v pihole_app:/etc/pihole | Mountt das Volume pihole_app und verwendet das Unterverzeichnis /etc/pihole zum Speichern der Pi-hole-Dateien |
-v dns_config:/etc/dnsmasq.d | Hängt das Volume dns_config ein und verwendet das Unterverzeichnis /etc/dnsmasq. d zum Speichern von DNS-Konfigurationen nach Bedarf. |
p 81:80 -p 53:53/tcp -p 53:53/udp | Ordnet die Ports der Hostmaschine den Ports des Docker-Containers zu (Port 81 in der Hostmaschine wird Port 80 des Docker-Containers zugeordnet) |
—restart=unless-stopped | Legt eine Neustartrichtlinie fest, sodass der Docker-Container immer neu gestartet wird, es sei denn, er wird manuell vom Benutzer gestoppt. |
pihole/pihole | Teilt dem Docker-Run-Befehl mit, das offizielle Pihole/Pihole-Basis-Image vom Docker-Hub zu verwenden. |
Unten sehen Sie, wie der Befehl pihole/pihole
abruft Basisimage von Docker Hub. Einmal das pihole/pihole
Bild auf Ihren Computer heruntergeladen wird, wird der Befehl automatisch fortgesetzt und folgt den Parametern, die Sie im Befehl festgelegt haben.
Nach dem Ziehen des pihole/pihole
Basis-Image sehen Sie eine Ausgabe wie die untenstehende, die darauf hinweist, dass Sie das Pi-hole-Dashboard bereits aus dem Container ausführen können.
Zugriff auf die Pi-hole Dashboard-Weboberfläche
Sobald der von Ihnen erstellte Docker-Container ausgeführt wird, können Sie nun auf das Pi-hole-Dashboard zugreifen. Das Pi-hole-Dashboard ist eine grafische Oberfläche, mit der Sie konfigurieren können, welche Anzeigen blockiert werden sollen, entweder über Ihre eigene Blacklist oder über von der Community verwaltete Blacklists.
Navigieren Sie zu http://localhost:81 in Ihrem Browser, da Sie zuvor Port 81
zugeordnet haben des Hostrechners an Port 80
des Docker-Containers. Dabei leitet Ihr Webbrowser die Seite an das Pi-hole-Dashboard weiter.
Wenn Sie beim Ausführen des vorherigen
docker
einen anderen Port festgelegt haben ändern Sie den Port, um auf das Pi-hole-Dashboard zuzugreifen. Beispiel:http://localhost:n, wobei „n“ die Portnummer darstellt.
Melden Sie sich jetzt beim Pi-hole-Dashboard mit dem Passwort an, das Sie festgelegt haben, indem Sie docker
ausführen Befehl im Abschnitt „Pi-hole-Docker-Container mit Umgebungsvariablen ausführen“. Für dieses Tutorial lautet das Passwort „password“ (ohne Anführungszeichen).
Wie Sie unten sehen, blockiert der Pi-hole-Container Anzeigen nicht aktiv und befindet sich im Standby-Modus und wartet auf so genannte „Abfragen“ oder Anzeigenanfragen zur Auswertung.
Den DNS-Server des Hosts auf die Pi-hole-IP-Adresse verweisen
Wie fangen Sie bei laufendem Pi-hole-Server an, Anzeigen auf Ihrem lokalen System zu blockieren? Sie müssen Ihr lokales System anweisen, alle Anfragen an die IP-Adresse von Pi-hole weiterzuleiten und alle übereinstimmenden Anzeigen zu blockieren. Lesen Sie weiter, um zu erfahren, wie!
1. Klicken Sie mit der rechten Maustaste auf das Symbol Ihrer Netzwerkeinstellungen in der Windows-Taskleiste und wählen Sie Netzwerk- und Interneteinstellungen öffnen , um die Liste aller Netzwerkadapter in Ihrem Computer anzuzeigen.
2. Klicken Sie als Nächstes mit der rechten Maustaste auf Ihren Netzwerkadapter und wählen Sie Eigenschaften . Das Einstellungsfenster Ihres Netzwerkadapters wird angezeigt.
3. Wählen Sie Internet Protocol Version 4 (TCP/IPv4) aus aus der Liste unter Networking und klicken Sie dann auf Eigenschaften Taste.
4. Konfigurieren Sie die IPv4-Eigenschaften wie folgt:
- Wählen Sie die Option Folgende IP-Adresse verwenden um eine statische IP-Adresse festzulegen. Die statische IP-Zuweisung zum Host-Rechner ermöglicht es anderen Geräten, sich zu verbinden und den Adblocker zu verwenden. Das Standard-Gateway für den Router unterscheidet sich je nach den Einstellungen Ihres ISP-Anbieters in Ihrem Land.
- Wählen Sie die Option Folgende DNS-Serveradressen verwenden Option zum Konfigurieren Ihres DNS-Servers und fügen Sie einen DNS-Server zum Bevorzugten DNS-Server hinzu Feld. Geben Sie die IP-Adresse des Docker-Servers ein, die Sie im vorherigen
docker
festgelegt haben Befehl im Abschnitt „Pi-hole-Docker-Container mit Umgebungsvariablen ausführen“. - Fügen Sie einen alternativen Server wie den Google-Server 8.8.8.8 im Alternativen DNS-Server hinzu Feld und klicken Sie auf OK . Der alternative DNS-Server dient als DNS-Server, falls der Pi-hole Docker-Container aus irgendeinem Grund ausfällt. Sie können dem alternativen DNS-Server einen anderen Wert zuweisen, den Sie bevorzugen.
DNS eines einzelnen Geräts konfigurieren
Angenommen, Sie haben ein Smartphone oder ein anderes Gerät, das mit demselben Netzwerk verbunden ist, können Sie den DNS-Server dieses Geräts auf die IP-Adresse des Hosts verweisen. In diesem Tutorial ist ein Smartphone mit demselben Netzwerk verbunden.
1. Tippen Sie in den WLAN-Einstellungen des Smartphones auf Manuell und geben Sie die IP-Adresse des Host-Rechners ein. Sie können auch alternative IP-Adressen hinzufügen, falls Pi-hole fehlschlägt.
Die Benutzeroberfläche für drahtlose Netzwerkeinstellungen auf Smartphones unterscheidet sich voneinander.
2. Besuchen Sie jetzt einige werbeintensive Websites im Webbrowser Ihres Smartphones.
Für dieses Beispiel wurden die Websites von Daily Mail und der New York Times wiederholt für 5-10 Minuten besucht. Der Live-Browser-Admin auf dem Pi-hole-Dashboard zeigt die Anzahl der blockierten Anzeigen vom Gerät, wie unten gezeigt.
Die Balkendiagramme sind zum Zeitpunkt der Erstellung dieses Artikels eine neue Ergänzung der neuesten Version von Pi-hole. Einige ältere Versionen haben stattdessen Liniendiagramme.
Heimnetzwerkweite Blockierung über Routereinstellungen aktivieren
Anstatt einen DNS-Server auf einem einzelnen Gerät zu konfigurieren, versuchen Sie, DNS-Server für alle Geräte in Ihren Routereinstellungen zu konfigurieren. Abhängig von Ihrem Router kann die Verwendung der IP-Adresse vorgesehen sein oder nicht.
Für diese Demo erlaubte der Router keinen Zugriff auf sich ändernde DNS-Server und DHCP. Heimnetzwerke wurden in diesem Tutorial aufgrund von Routerbeschränkungen nicht im Detail untersucht.
In einer Beispiel-Admin-Ansicht können Sie die DNS-Server-IP möglicherweise auf die gleiche Weise codieren, wie dies bei einem einzelnen Gerät der Fall war. Diese Demo verwendet einen Prolink PRS1841U-v2-Router, der an den ISP gebunden ist.
Die DNS-Konfigurationsoberfläche unterscheidet sich von Router zu Router, aber die Einstellungen sehen wie folgt aus.
Sie können auch den DHCP-Server im Router deaktivieren und dann stattdessen den DHCP-Server in Pi-hole aktivieren. Eine beispielhafte Diskussion in der Pi-hole-Community zeigt dies genauer.
Blockieren von Websites über das Pi-hole-Dashboard
Die Standardinstallation von Pi-hole blockiert standardmäßig etwa 92.725 Websites, aber Sie können auch weitere Websites über schwarze Listen des Pi-hole-Herstellers und andere Listen hinzufügen, die von Pi-hole-Fans geteilt werden.
1. Speichern Sie die zu blockierenden Websites in einer Textdatei mit Ihrem bevorzugten Namen. In diesem Beispiel heißt die Datei blocklist.txt .
2. Führen Sie den docker
aus Befehl unten, um die blocklist.txt zu kopieren Datei (cp blocklist.txt
) auf das Volume des Docker-Containers in einer Datei namens blacklist.txt . Bewahren Sie die blacklist.txt auf Datei auf dem Docker-Volume, damit Pi-hole sie automatisch erkennt.
docker cp blocklist.txt d70:/etc/pihole/blacklist.txt
3. Navigieren Sie schließlich erneut zum Pi-hole-Admin-Dashboard. Klicken Sie auf Extras Menü im linken Bereich und dann Schwerkraft aktualisieren Verknüpfung. Klicken Sie abschließend auf Aktualisieren um eine aktualisierte Liste von URLs abzurufen, die Pi-hole blockieren soll.
Ein erfolgreiches Update sieht wie folgt aus.
Aktualisieren der Sperrliste von Websites über die Konsole
Vielleicht ziehen Sie es vor, Konsolenbefehle auszuführen, anstatt durch das Pi-hole-Dashboard zu navigieren. Wenn dies der Fall ist, können Sie einen Docker-Befehl in PowerShell ausführen, um Websites zu blockieren. Führen Sie docker exec
aus Befehl unten, um eine interaktive Terminalsitzung mit pihole_app
zu erstellen Docker-Container, der das Ausführen von Befehlen ermöglicht.
docker exec -it pihole_app /bin/bash
Sobald die Terminalsitzung geöffnet ist, führen Sie den folgenden Befehl aus, um die URL-Blacklist von Pi-hole zu aktualisieren.
pihole -g
Führen Sie
pihole -g
erneut aus von Zeit zu Zeit, damit Ihr Werbeblocker auf dem neuesten Stand bleibt.
Blockieren von Websites über von der Community gepflegte schwarze Listen von URLs
Einige URLs werden regelmäßig von ihren Mitwirkenden aktualisiert, andere nicht, sodass das Hochladen einer schwarzen Liste von einer alten Liste möglicherweise nicht die neuesten Änderungen widerspiegelt.
Nutzen Sie die Adlist-Sperrlisten-Gruppenverwaltungsfunktion von Pi-hole. Klicken Sie im Pi-hole-Dashboard auf Gruppenverwaltung → Anzeigenlisten Menü im linken Bereich und klicken Sie dann auf Hinzufügen , um die Liste der URLs auszuwählen, die Sie in Pi-hole hinzufügen möchten.
Schlussfolgerung
In diesem Tutorial haben Sie gelernt, wie Sie ein Pi-Hole-Docker-Image herunterladen, eine Pi-Hole-Webschnittstelle mit aktiver Überwachung testen und ein externes Gerät testen, um eine Verbindung zu Pi-Hole herzustellen. Sie haben auch gelernt, wie Sie Anzeigen und Websites blockieren, und Sie haben das Pi-hole-Dashboard in Aktion gesehen, während es sie blockiert.
Warum sollten Sie mit diesem Wissen nicht irgendeinen Host-Rechner verwenden, um Werbung für andere verbundene Geräte im selben Netzwerk zu blockieren?