So blockieren Sie Werbung auf DNS-Ebene mit Pi-hole und OpenVPN unter Ubuntu 16.04

Einführung

Online-Werbung ist nicht nur ärgerlich, sondern auch eine potenzielle Quelle von Malware auf Ihren Geräten. Zwar gibt es Plugins, mit denen Anzeigen für einzelne Anwendungen / Geräte blockiert werden können, jedoch werden Anzeigen unter https://www.digitalocean.com/community/tutorials/an-einführung-zu-dns-terminologie-komponenten-und gestoppt -concepts [DNS-Ebene] bietet eine viel umfassendere Lösung für alle Ihre Anwendungen und Geräte gleichzeitig.

Pi-hole - ein DNS-Server, der ursprünglich für die Verwendung auf dem Raspberry Pi-Einplatinencomputer erstellt wurde. - filtert Anzeigenanforderungen heraus -Serving von Domains, Blockieren von Anzeigen und Verbessern der Netzwerkleistung Mit Pi-hole können Sie jede DNS-Anfrage in Ihrem Netzwerk aktiv überwachen und Anfragen im laufenden Betrieb blockieren. Diese Funktionalität geht auch über Webbrowser hinaus. So können Sie Anzeigen in anderen Anwendungen herausfiltern, indem Sie auf die entsprechende DNS-Abfrage abzielen.

Pi-hole ist besonders effektiv, wenn Sie es in Verbindung mit einer Virtual Private verwenden Netzwerk (VPN). VPNs stellen Verbindungen über tunnels her und halten diese aufrecht. Hierbei handelt es sich um logische Netzwerkverbindungen zwischen Clients und Servern. Wenn Ihr VPN außerdem Secure Socket Layer (SSL) unterstützt, das gesamte Netzwerk Die Transaktion wird verschlüsselt und bietet eine sichere Verbindung für die Datenübertragung.

In diesem Lernprogramm installieren und konfigurieren Sie OpenVPN und Pi-hole so, dass sie als privater, netzwerkweiter, DNS-basierter Werbeblockerfilter für alle an Ihr Netzwerk angeschlossenen Geräte fungieren.

Voraussetzungen

Um dieses Tutorial abzuschließen, benötigen Sie:

Schritt 1 - Sammeln von Netzwerkinformationen

Bevor Sie mit der Installation beginnen, müssen Sie die Netzwerkinformationen erfassen, die Pi-hole für die Kommunikation mit dem VPN verwendet. Da der Installationsprozess von Pi-hole Ihre Terminalsitzung übernimmt, wird der gesamte Prozess viel reibungsloser verlaufen, wenn Sie diese Informationen zur Hand haben, bevor Sie beginnen.

Verwenden Sie zunächst den Befehl "+ ip " mit den Unterbefehlen " addr " und " show ", um die IP-Adresse von " tun0 +" (https://www.digitalocean.com/community/tutorials/an-introduction) zu ermitteln -zu-Netzwerk-Terminologie-Schnittstellen-und-Protokollen # Schnittstellen [Netzwerkschnittstelle], auf denen Ihr VPN-Tunnel aktiv ist.

ip addr show tun0

Die Ausgabe enthält ausführliche Informationen zur Schnittstelle.

Output from ip addr show tun01: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100
   link/none
   inet  peer 10.8.0.2/32 scope global tun0
      valid_lft forever preferred_lft forever

Genauer:

  • In der ersten Zeile wird der Schnittstellenname "+ tun0 +" gefolgt von einer Reihe von Flags angezeigt, die die Eigenschaften des Netzwerksockets beschreiben.

  • Die zweite Zeile zeigt an, dass derzeit keine link layer -Geräte auf diesem Server verfügbar sind Schnittstelle.

  • Die dritte Zeile enthält die IP-Adresswerte für diese Netzwerkschnittstelle.

  • In der vierten Zeile wird angegeben, dass die IPv6-Gültigkeitsdauer und die bevorzugte Nutzungsdauer der Schnittstelle beide auf "+ für immer +" festgelegt sind. In diesem Fall ändert sich die Lease-Zeit für die IP-Adresse nie, da die Adresse während der VPN-Installation speziell der Schnittstelle zugewiesen wurde.

Notieren Sie sich die IP-Adresse nach "+ inet +", da dies die Adresse Ihres VPN-Servers ist. Sie müssen dies wissen, wenn Sie Pi-hole installieren.

Neben der IP-Adresse Ihres VPN-Servers muss Pi-hole auch das gateway kennen, das für den IPv4-Verkehr verwendet werden soll. Sie können sich ein Gateway als Zugangspunkt zwischen verschiedenen Netzwerken vorstellen.

Verwenden Sie den Befehl "+ ip " erneut, diesmal mit den Unterbefehlen " route " und " show ", um Informationen zur Routingtabelle Ihres Servers abzurufen. https://www.digitalocean.com/community/tutorials/an-introduction-to-linux-io-redirection#pipes[Pipe the routing table information] an ` grep `, wodurch https://www.digitalocean.com / community / tutorials / using-grep-regular-expressions-to-search-for-text-patterns-in-linux [parse und suche die Ausgabe] nach dem String ` default `. ` default +` gibt das vom Server verwendete Standard-Gateway an.

ip route show | grep default

Im folgenden Beispiel wird in der Ausgabe angegeben, dass die IP-Adresse des Standard-Gateways "+ 198.51.100.1 " lautet, dass das Gateway über die Schnittstelle " eth0 " erreichbar ist und dass die Option " onlink +" des Gateways aktiviert ist. Dies ist die Standardeinstellung für getunnelte Verbindungen.

Output from ip r | grep defaultdefault via  dev eth0 onlink

Notieren Sie sich die IP-Adresse nach "+ via +", da dies die Standard-Gateway-Adresse Ihres Servers ist. Sie müssen dies wissen, wenn Sie Pi-hole installieren.

Mit den vorliegenden Netzwerkinformationen können Sie Pi-hole herunterladen und installieren.

Schritt 2 - Herunterladen von Pi-hole

Verwenden Sie Git, um gemäß https://github.com/pi-hole/pi-hole#alternative-semi-automated-install-methods den https://github.com/pi-hole/ zu klonen. pi-hole [Pi-hole-Repository auf GitHub] in + ~ / Pi-hole +, ein Verzeichnis, das beim Klonen automatisch erstellt wird. Verwenden Sie die Option "+ - Tiefe 1 +", um einen Klon mit einem Verlauf zu erstellen, der auf die letzte Revision gekürzt wurde. Auf diese Weise erhalten Sie die neueste Version von Pi-hole ohne die zusätzlichen historischen Überarbeitungen.

Wechseln Sie in Ihr Ausgangsverzeichnis und klonen Sie das Repository.

cd ~
git clone --depth 1 https://github.com/pi-hole/pi-hole.git Pi-hole

Die Ausgabe bestätigt den Speicherort, an den Sie klonen, und liefert dann einen Echtzeitbericht über den Vorgang, einschließlich der Anzahl der Objekte, von denen Git erwartet, dass sie kopiert werden, sowie der Anzahl der tatsächlich kopierten Objekte.

Output from git cloneCloning into 'Pi-hole'...
remote: Counting objects: 65, done.
remote: Compressing objects: 100% (56/56), done.
remote: Total 65 (delta 5), reused 26 (delta 1), pack-reused 0
Unpacking objects: 100% (65/65), done.
Checking connectivity... done.

Wechseln Sie nun in das neu erstellte Verzeichnis "+ Pi-hole / automatic \ install / +", in dem Sie das Installationsskript von Pi-hole finden.

cd Pi-hole/automated\ install/

Öffnen Sie das Installationsskript, um sicherzustellen, dass Sie mit der Funktionsweise vertraut sind, oder ändern Sie es nach Bedarf.

nano basic-install.sh

Speichern und schließen Sie die Datei, um fortzufahren.

Sie haben jetzt eine Kopie der aktuellsten Version von Pi-hole und haben das automatisierte Installationsskript auf potenzielle Probleme untersucht. Es ist Zeit, Pi-hole zu installieren und zu konfigurieren.

Schritt 3 - Ausführen des Installationsskripts

Die Installation und Konfiguration von Pi-Hole erfolgt mithilfe eines terminalbasierten Assistenten. Starten Sie den Assistenten mit folgendem Befehl:

bash basic-install.sh

Das Installationsskript teilt Ihnen zunächst mit, dass es sich um die * Installation von Paketen * handelt und dass zusätzliche Dateien abgerufen werden, die für die Installation benötigt werden.

image: http: //assets.digitalocean.com/articles/block-ads-using-pi-hole/step-1.png [Schritt 1: Pi-hole-Installationsskript]

Auf dem nächsten Bildschirm werden Sie vom * Pi-hole automatic installer * darüber informiert, dass Sie einen netzwerkweiten Werbeblocker installieren.

Drücken Sie "+ ENTER", um fortzufahren.

image: http: //assets.digitalocean.com/articles/block-ads-using-pi-hole/step-2.png [Schritt 2: Pi-Hole-Installationsskript]

Als nächstes teilt Ihnen der Installationsassistent mit, dass Pi-Hole * kostenlos und Open Source * ist und wie Sie für das Pi-Hole-Projekt spenden können.

Drücken Sie + ENTER +, um die Installation fortzusetzen.

image: http: //assets.digitalocean.com/articles/block-ads-using-pi-hole/step-3.png [Schritt 3: Pi-Hole-Installationsskript]

Das Installationsskript informiert Sie dann darüber, dass eine * statische IP-Adresse * erforderlich ist, damit der Dienst ordnungsgemäß funktioniert.

Drücken Sie erneut "+ ENTER", um fortzufahren.

image: http: //assets.digitalocean.com/articles/block-ads-using-pi-hole/step-4.png [Schritt 4: Pi-Hole-Installationsskript]

Der nächste Bildschirm fordert Sie auf, ein Interface auszuwählen, auf dem Pi-hole zu hören ist. Da Sie Pi-Hole benötigen, um die Netzwerkschnittstelle des VPN zu überwachen, markieren Sie mit den Pfeiltasten auf Ihrer Tastatur * tun0 * und drücken Sie anschließend die Leertaste, um die Auswahl zu treffen. Drücken Sie als nächstes "+ TAB ", um zu den Optionen am unteren Bildschirmrand zu springen. Wenn * <Ok> * markiert ist, drücken Sie ` ENTER +`, um die Einstellungen zu speichern und fortzufahren.

image: http: //assets.digitalocean.com/articles/block-ads-using-pi-hole/step-5.png [Schritt 5: Pi-Hole-Installationsskript]

Der Assistent fordert Sie nun auf, den * Upstream DNS Provider * anzugeben. Dieser Service wird von Pi-hole verwendet, um Resolve Domain-Namen . Der Einfachheit halber können Sie diesen Wert auf den Standardwert * Google * setzen.

Drücken Sie + TAB, um zum unteren Bildschirmrand zu springen, und drücken Sie dann` + ENTER`, wenn * <Ok> * markiert ist.

image: http: //assets.digitalocean.com/articles/block-ads-using-pi-hole/step-6.png [Schritt 6: Pi-Hole-Installationsskript]

Auf dem folgenden Bildschirm werden Sie von Pi-hole aufgefordert, die zu filternden internet protocols auszuwählen . Protokolle - wie IPv4 und IPv6 - legen das technische Format von Paketen und das Adressierungsschema für die Kommunikation von Computern über ein Netzwerk fest. IPv4 ist das am weitesten verbreitete Internetprotokoll zum Verbinden von Geräten mit einem Netzwerk.

Das Filtern von IPv4 und IPv6 ist erforderlich, damit Pi-hole effektiv arbeitet. Lassen Sie daher beide Protokolle ausgewählt und drücken Sie die Tabulatortaste, um zu den Optionen am unteren Bildschirmrand zu springen. Wählen Sie * <Ok> * und drücken Sie dann + ENTER.

image: http: //assets.digitalocean.com/articles/block-ads-using-pi-hole/step-7.png [Schritt 7: Pi-Hole-Installationsskript]

Pi-hole fragt Sie nun, ob Sie die aktuellen Netzwerkeinstellungen als * statische IP-Adresse * verwenden möchten. Da Sie Pi-hole benötigen, um das VPN nutzen zu können, geben Sie diese Informationen im nächsten Bildschirm manuell ein.

Wählen Sie mit den Pfeiltasten * <Nein> * und drücken Sie dann + ENTER.

image: http: //assets.digitalocean.com/articles/block-ads-using-pi-hole/step-8.png [Schritt 8: Pi-Hole-Installationsskript]

Pi-hole fordert Sie nun zur Eingabe einer * IPv4-Adresse * auf. Geben Sie hier die Adresse Ihres VPN-Servers ein. Dies ist die IP-Adresse des Links: # step-1-% E2% 80% 94-Sammeln von Netzwerkinformationen [Schritt 1], die nach "+ inet " in der Ausgabe eingegangen sind, die Sie beim ersten Ausführen von " ip +" erhalten haben Befehl.

Wenn Sie dem Link OpenVPN Server on Ubuntu 16.04 gefolgt sind : preresquites [Prerequisites], dann sollte Ihre IP-Adresse mit der im folgenden Screenshot übereinstimmen. Fügen Sie am Ende der IP-Adresse "+ / 24 +" hinzu, um die https://www.digitalocean.com/community/tutorials/understanding-ip-addresses-subnets-and-cidr-notation-for-networking des VPN anzugeben. Netzmasken und Subnetze [Subnetzmaske].

Wählen Sie * <Ok> * und drücken Sie + ENTER, um fortzufahren.

image: http: //assets.digitalocean.com/articles/block-ads-using-pi-hole/step-9.png [Schritt 9: Pi-Hole-Installationsskript]

Im nächsten Bildschirm müssen Sie das * IPv4-Gateway (Router) * eingeben, mit dem Pi-hole auf das Internet zugreifen soll. Geben Sie hier die IP-Adresse des Standard-Gateways Ihres Servers ein. Dies ist die IP-Adresse des Links: # step-1-% E2% 80% 94-Sammeln von Netzwerkinformationen [Schritt 1], die nach "+ via " in der Ausgabe eingegangen sind, die Sie beim zweiten Ausführen von " ip +" erhalten haben Befehl.

Wählen Sie * <Ok> * und drücken Sie + ENTER +, nachdem Sie die Informationen eingegeben haben.

image: http: //assets.digitalocean.com/articles/block-ads-using-pi-hole/step-10.png [Schritt 10: Pi-Hole-Installationsskript]

Vergewissern Sie sich im nächsten Bildschirm, dass die * IP-Adresse * und das * Gateway * korrekt sind, bevor sie auf die Konfiguration von Pi-hole angewendet werden. Wenn Sie eine Änderung vornehmen müssen, wählen Sie * <Nein> * und drücken Sie + ENTER. Andernfalls wählen Sie * <Ja> * und drücken Sie + ENTER +, um mit der Installation fortzufahren.

image: http: //assets.digitalocean.com/articles/block-ads-using-pi-hole/step-11.png [Schritt 11: Pi-Hole-Installationsskript]

Zusätzlich zu einer Befehlszeilenschnittstelle können Sie Pi-hole auch über die * Webadministrationsschnittstelle * verwalten. Einer der Hauptvorteile der Webschnittstelle ist die Möglichkeit, DNS-Abfragen und Blockierungsstatistiken in Echtzeit anzuzeigen.

Standardmäßig ist die * Webadministrationsoberfläche * auf * Ein * eingestellt. Dies ist sowohl die empfohlene als auch die für den Link erforderliche Einstellung: # step-7-% E2% 80% 94-Filtern mit Blocklisten [Step 7] und # step-8-% E2% 80% 94-Filtern -mit-schwarzen-und-weißen-Listen [Schritt 8] in diesem Tutorial.

Obwohl in diesem Lernprogramm die Weboberfläche zum Verwalten von Pi-Hole verwendet wird, können Sie mehr über den Befehl von Pi-Hole erfahren, wenn Sie während der Entwicklung verschiedene Zweige des Projekts überprüfen oder einfach nur eine Terminalsitzung durcharbeiten möchten -line interface in this official FAQ.

Wählen Sie mit + TAB * <Ok> * und drücken Sie dann` + ENTER`.

image: http: //assets.digitalocean.com/articles/block-ads-using-pi-hole/step-12.png [Schritt 12: Pi-Hole-Installationsskript]

Um die Möglichkeit der * Webadministrationsoberfläche * zu nutzen, DNS-Abfragen und Blockierungsstatistiken in Echtzeit anzuzeigen, müssen Sie Pi-hole so konfigurieren, dass Abfragen protokolliert werden.

Dies ist sowohl die Standardeinstellung als auch die empfohlene Einstellung. Verwenden Sie daher "+ TAB ", um "* <Ok> *" auszuwählen, und drücken Sie dann " ENTER +".

image: http: //assets.digitalocean.com/articles/block-ads-using-pi-hole/step-13.png [Schritt 13: Pi-Hole-Installationsskript]

Zu diesem Zeitpunkt lädt Pi-hole die verbleibenden Abhängigkeiten zusammen mit den Standarddaten für die Block- und Blacklist herunter und installiert sie. Von dort aus wendet Pi-hole alle Netzwerkkonfigurationseinstellungen an, die Sie in den vorherigen Bildschirmen eingegeben haben.

Während dieses Schritts teilt Pi-hole Ihnen mit, dass eine * Firewall in Verwendung * ist, und das Installationsprogramm fordert Sie auf, die Firewall-Einstellungen zu akzeptieren, die für die ordnungsgemäße Funktion des Dienstes erforderlich sind.

Wählen Sie mit + TAB * <Ja> * und drücken Sie dann` + ENTER`.

image: http: //assets.digitalocean.com/articles/block-ads-using-pi-hole/step-14.png [Schritt 14: Pi-Hole-Installationsskript]

Von hier aus wird Pi-hole die Installation selbstständig fortsetzen. Wenn Sie fertig sind, ändert sich der Titel des Dialogfelds in * Installation abgeschlossen! *, Und Pi-hole wird automatisch gestartet und filtert alle DNS-Abfragen im Netzwerk.

Drücken Sie "+ ENTER", um den Installationsassistenten zu beenden.

image: http: //assets.digitalocean.com/articles/block-ads-using-pi-hole/step-15.png [Schritt 15: Pi-Hole-Installationsskript]

Pi-hole ist jetzt installiert und konfiguriert. Bevor Sie fortfahren, sollten Sie testen, ob alles wie erwartet funktioniert.

Schritt 4 - Testen der DNS-Filterung

Wenn sowohl OpenVPN als auch Pi-Hole vollständig eingerichtet sind und zusammenarbeiten, wird jede DNS-Anfrage in Ihrem Netzwerk an Pi-Hole weitergeleitet. Dort wird geprüft, ob die angeforderte Domain mit einer anderen Domain in der Sperrliste oder in der Sperrliste übereinstimmt schwarze Liste. In diesem Fall löscht der Filter die Domain vollständig. Andernfalls lässt der Filter die Domain passieren.

Auch wenn Pi-hole noch nicht für OpenVPN konfiguriert ist, können Sie die aktuelle Installation überprüfen, indem Sie die Fähigkeit von Pi-hole testen, Adserving-Domains direkt von Ihrem Server aus zu filtern.

Verwenden Sie zum Ausführen des Tests den Befehl "+ host ", um eine DNS-Suche auf " google.com " durchzuführen, und geben Sie das Standard-Gateway " 10.8.0.1 +" als abzufragenden Nameserver an. Dadurch wird die Anfrage durch die Filter von Pi-hole geleitet.

host google.com 10.8.0.1

Da die Ausgabe die öffentliche IP-Adresse der Domain enthält, wissen Sie, dass "+ google.com +" nicht mit Domains auf der Sperrliste oder der Sperrliste übereinstimmt.

Output from host google.com 10.8.0.1...
google.com has address
...

Versuchen Sie nun den Befehl + host + erneut und übergeben Sie ihn + pagead2.googlesyndication.com +, einer bekannten Domain für die Anzeigenschaltung.

host pagead2.googlesyndication.com 10.8.0.1

Anstelle der öffentlichen IP-Adresse der Domain erhalten Sie dieses Mal die Standard-Gateway-Adresse zurück. Dies bedeutet, dass Pi-hole die Adserving-Domain erfolgreich identifiziert und daraufhin die Anfrage gelöscht hat.

Output from host pagead2.googlesyndication.com 10.8.0.1...
pagead2.googlesyndication.com has address
...

Wenn Sie die Adresse des Standard-Gateways nicht in der Ausgabe sehen, überprüfen Sie, ob Sie "+ 10.8.0.1 +" als abzufragenden Nameserver angegeben haben, und überprüfen Sie das Terminal auf Meldungen, die darauf hinweisen, dass beim Installieren oder Starten ein Problem aufgetreten ist Pi-Loch.

Pi-hole ist jetzt korrekt installiert und filtert Anfragen. Es ist also an der Zeit, OpenVPN so zu konfigurieren, dass DNS-Anfragen an Pi-hole gesendet werden.

Schritt 5 - OpenVPN konfigurieren

OpenVPN ist derzeit so konfiguriert, dass der gesamte DNS-Verkehr an den DNS-Server geleitet wird, den Sie bei der Installation unter folgendem Link angegeben haben: #preresquites [Prerequisites]. Um Pi-hole als Werbeblocker nutzen zu können, müssen Sie OpenVPN neu konfigurieren, um den DNS-Verkehr stattdessen auf Pi-hole zu lenken.

Öffnen Sie zunächst die Hauptkonfigurationsdatei von OpenVPN zum Bearbeiten.

sudo nano /etc/openvpn/server.conf

Suchen Sie die folgenden Zeilen:

/etc/openvpn/server.conf

...
;push "dhcp-option DNS 208.67.222.222"
;push "dhcp-option DNS 208.67.220.220"
...

Mit diesen Einstellungen können Sie DHCP-Optionen - einschließlich DNS-Einstellungen - an Clients senden, die mit dem VPN verbunden sind.

Da die beiden in "+ server.conf" enthaltenen "+ dhcp-option" -Einstellungen standardmäßig auskommentiert sind, lassen Sie sie an Ort und Stelle, falls Sie später noch einmal darauf zurückgreifen müssen.

Fügen Sie nun die neue Einstellung hinzu, die OpenVPN anweist, Clients anzuweisen, für alle DNS-Anforderungen Pi-hole zu verwenden, das sich unter + 10.8.0.1 + befindet.

/etc/openvpn/server.conf

...
;push "dhcp-option DNS 208.67.222.222"
;push "dhcp-option DNS 208.67.220.220"

...

Speichern und schließen Sie die Datei, um fortzufahren.

Laden Sie OpenVPN neu, um die Änderungen zu übernehmen.

sudo systemctl restart openvpn@server

Testen Sie abschließend, ob OpenVPN erfolgreich gestartet wurde.

sudo systemctl status openvpn@server

Wenn alles geklappt hat, zeigt die Ausgabe an, dass OpenVPN "+ aktiv (läuft) +" ist.

Output from systmctl...
Active:  since Mon 2017-11-27 22:08:43 UTC; 1 day 23h ago
...

Wenn der Dienst nicht gestartet werden konnte, wiederholen Sie die vorherigen Schritte, um das Problem zu beheben.

OpenVPN ist jetzt so konfiguriert, dass DNS-Anfragen an Pi-hole geleitet werden. Sie müssen jedoch die Firewall anpassen, damit alles funktioniert.

Schritt 6 - Anpassen der Firewall-Regeln

Nachdem Pi-Hole und OpenVPN konfiguriert sind und ausgeführt werden, öffnen Sie den Port "+ 53 +", damit DNS-Anforderungen, die die Filter von Pi-Hole bestanden haben, an den Upstream-DNS-Server weitergeleitet werden können.

sudo ufw allow 53

Öffnen Sie die Firewall für HTTP- und HTTPS-Datenverkehr, damit das Surfen im Internet ordnungsgemäß funktioniert.

sudo ufw allow http
sudo ufw allow https

Als nächstes weisen Sie UFW an, alle "+ udp " - und " tcp " -Übertragungen zuzulassen, die aus dem " 10.8.0.0 / 24 " - bis " 10.8.0.1 " -IP-Bereich an Port " 53 +" stammen. Auf diese Weise können DNS-Abfragen aus dem IP-Bereich des VPN zur Filterung an Pi-hole übergeben werden.

sudo ufw allow proto udp from 10.8.0.0/24 to 10.8.0.1 port 53
sudo ufw allow proto tcp from 10.8.0.0/24 to 10.8.0.1 port 53

In ähnlicher Weise können Sie zulassen, dass Web-Datenverkehr mit Ursprung im IP-Bereich "+ 10.8.0.0 / 24 " über den VPN-Server bei " 10.8.0.1 " an Port " 80 +" übertragen wird.

sudo ufw allow proto tcp from 10.8.0.0/24 to 10.8.0.1 port 80

Laden Sie UFW neu, um die Änderungen zu übernehmen.

sudo ufw reload

Bei Erfolg lautet die Ausgabe:

Output from ufw reloadFirewall reloaded

Wenn Sie auf ein Problem stoßen, befolgen Sie die Anweisungen auf dem Bildschirm, um das Problem zu beheben.

Nachdem die Firewall für OpenVPN und Pi-Hole konfiguriert wurde, können Sie sich bei der Webadministrationsoberfläche anmelden, um die Filterfunktionen von Pi-Hole zu erkunden.

Schritt 7 - Filtern mit Blocklisten

Pi-hole wird mit einer Reihe von Standardblocklisten ausgeliefert, die vom Entwicklungsteam des Projekts verwaltet werden. Diese Listen allein reichen jedoch nicht immer aus. Im Idealfall sollten Sie die Sperrlisten an Ihre spezifischen Surfgewohnheiten und die von Ihnen verwendeten Anwendungen anpassen. Sie können Sperrlisten und mehr mit der Admin-Weboberfläche von Pi-hole verwalten.

Um Pi-hole über seine Weboberfläche zu verwalten, müssen Sie https://www.digitalocean.com/community/tutorials/how-to-set-up-an-openvpn-server-on-ubuntu-16-04#step -12-install-the-client-configuration [verbinde dich mit deinem OpenVPN-Netzwerk] zuerst. Navigieren Sie nach dem Herstellen der Verbindung mit Ihrem Webbrowser zur Standardhomepage der Webschnittstelle unter "+ http: /// admin +".

Sie werden von einem Bildschirm begrüßt, der Widgets enthält, die die Anzahl der * in den letzten 24 Stunden blockierten Abfragen *, die Anzahl der * in den letzten 24 Stunden blockierten Abfragen *, den Prozentsatz der * in den letzten 24 Stunden blockierten Abfragen * und die Anzahl der * Domains auf Sperrlisten * angeben. . Außerdem sehen Sie eine Tabelle mit den * Abfragen der letzten 24 Stunden *, eine Pi-Hole * -Status * -Anzeige und Navigationsoptionen für die Seite * Dashboard *, * Login * und * Spenden * bei PayPal.

image: http: //assets.digitalocean.com/articles/block-ads-using-pi-hole/widnli.png [Webinterface-Dashboard nicht angemeldet]

Klicken Sie auf * Login *, um auf die vollständige Benutzeroberfläche zuzugreifen. Wenn Sie dazu aufgefordert werden, geben Sie das Kennwort ein, das Sie auf dem letzten Pi-Hole-Installationsbildschirm in folgendem Link erhalten haben: # step-3-% E2% 80% 94-running-the-installation-script [Step 3].

Nachdem Sie sich angemeldet haben, bleibt das allgemeine Layout der Benutzeroberfläche unverändert. Es enthält nun jedoch mehr Menüoptionen auf der linken Seite des Bildschirms und zusätzliche Widgets für * Abfragetypen im Zeitverlauf * und * Ziele im Zeitverlauf weiterleiten *. .

image: http: //assets.digitalocean.com/articles/block-ads-using-pi-hole/widli.png [Webinterface Dashboard angemeldet]

Bevor Sie zusätzliche Sperrlisten zu Pi-hole hinzufügen, sollten Sie zuerst die offiziellen Sperrlistendaten der Projektbetreuer aktualisieren, da das neueste Update möglicherweise einige oder alle Datenquellen enthält, die Sie manuell hinzufügen möchten.

Klicken Sie auf der linken Seite des Bildschirms auf * Extras *, um das Navigationsmenü zu erweitern, und wählen Sie dann * Listen aktualisieren * aus.

Klicken Sie im nächsten Bildschirm auf die blaue Schaltfläche * Listen aktualisieren * in der Mitte des Bildschirms, um die neueste Version der offiziellen Sperrlistenquellen abzurufen.

image: http: //assets.digitalocean.com/articles/block-ads-using-pi-hole/wiuload.png [Webinterface aktualisiert Liste der Domains, die Anzeigen liefern]

Während Pi-hole das Update durchführt, werden die Quellen angezeigt, aus denen die Listendaten abgerufen werden, ob die Quellen seit dem letzten Update geändert wurden und ob Daten in Ihre Installation importiert wurden. Wenn der Vorgang abgeschlossen ist, wird in der grünen Leiste oben auf dem Bildschirm * Erfolg! * Angezeigt.

image: http: //assets.digitalocean.com/articles/block-ads-using-pi-hole/wiuload2.png

Mit den aktualisierten offiziellen Sperrlistendaten können Sie Ihre eigenen zusätzlichen Sperrlisten hinzufügen.

Klicken Sie im Navigationsmenü auf der linken Seite des Bildschirms auf * Einstellungen *, um die Hauptkonfigurationsoptionen von Pi-hole anzuzeigen.

Klicken Sie im nächsten Bildschirm auf das Symbol * + * in dem Feld mit der Bezeichnung * Pi-Holes Blocklisten *, um die aktuellen Blocklistendaten anzuzeigen.

image: http: //assets.digitalocean.com/articles/block-ads-using-pi-hole/wiaabl.png [Webinterface, das zusätzliche Blocklisten hinzufügt]

Standardmäßig verwendet Pi-hole die folgenden Blocklisten zum Filtern:

Um Ihrer Installation eine neue Liste hinzuzufügen, geben Sie die Quell-URL der Liste in das Eingabefeld am unteren Rand des Fensters ein und klicken Sie auf die Schaltfläche * Speichern und aktualisieren *, um Ihre Eingabe zu speichern und die Funktion * Listen aktualisieren * erneut auszuführen. Dadurch werden automatisch die Daten abgerufen, die der neuen Sperrlistenquelle zugeordnet sind.

Weitere Sperrlisten, die in Kategorien unterteilt sind, z. B. verdächtige Listen, Werbelisten und Verfolgungs- und Telemetrielisten, finden Sie unter The Big Blocklist Collection.

Nachdem Sie die Standardblocklisten aktualisiert und gelernt haben, wie Sie weitere manuell hinzufügen, werfen wir einen Blick auf das Filtern von Anforderungen mit Black- und Whitelists.

Schritt 8 - Filtern mit Blacklists und Whitelists

Neben den Blocklisten, mit denen Pi-hole DNS-Anfragen filtert, können Sie auch einzelne Domains mit Blacklists ansprechen. In Blacklists werden ausgehende und eingehende Anforderungen an und von bestimmten Domänen automatisch gelöscht. Dies kann insbesondere für Unternehmen und andere Organisationen nützlich sein, die Domänen blockieren müssen, die nicht für die Arbeit geeignete Inhalte enthalten oder für das Hosten von Viren und anderer Malware bekannt sind.

Um eine Domain auf die Blacklist zu setzen, klicken Sie in der Hauptnavigation auf der linken Seite des Bildschirms auf * Blacklist *.

Auf dem nächsten Bildschirm können Sie einer Domain entweder * genaue * oder * Platzhalter * hinzufügen.

image: http: //assets.digitalocean.com/articles/block-ads-using-pi-hole/wibs.png [Webinterface Blacklist Screen]

Mit * genau * blockieren werden nur diejenigen Domains blockiert, die den von Ihnen in das Eingabefeld * Domain hinzufügen * eingegebenen Werten genau entsprechen. Mit anderen Worten, wenn Sie "+ example.com " in das Eingabefeld eingeben, werden Anforderungen an und von " example.com " blockiert, Anforderungen an und von " www.example.com +" jedoch nicht .

Mit * Wildcard * -Blocking werden sowohl die von Ihnen eingegebene Domain als auch alle zugehörigen subdomains wird gesperrt. In diesem Fall bedeutet dies, dass sowohl "+ example.com " als auch " www.example.com +" blockiert werden.

Testen Sie die Blacklist-Funktionalität, indem Sie "+ pi-hole.net +" in das Eingabefeld "Domain hinzufügen" eingeben und dann auf die Schaltfläche "Hinzufügen (genau)" klicken. * pi-hole.net * wird jetzt unter * Genaues Blockieren * auf dem Bildschirm * Blacklist * aufgeführt.

image: http: //assets.digitalocean.com/articles/block-ads-using-pi-hole/wibp.png [Webinterface Blacklisting pi-hole.net]

Jede Anfrage an oder von "+ pi-hole.net " wird nun durch den Blacklist-Filter von Pi-hole blockiert. Navigieren Sie in Ihrem Webbrowser zu " https: // pi-hole.net +". Obwohl die Fehlermeldung von Browser zu Browser unterschiedlich ist, können Sie diese Adresse nicht mehr erreichen.

Um + pi-hole.net + von * Exact blocking * zu entfernen, klicken Sie auf die rote Schaltfläche mit dem weißen Mülleimersymbol rechts neben der Domain.

Am anderen Ende des Spektrums teilt die Whitelist Pi-hole mit, dass alle Anforderungen an und von bestimmten Domänen immer durch ihre Filter geleitet werden dürfen. Whitelisting kann hilfreich sein, wenn legitime Domains in einer von Ihnen verwendeten Sperrliste landen oder wenn Sie Datenverkehr zu und von Domains zulassen möchten, die eine Mischung aus werbebasiertem und nicht werbebasiertem Inhalt enthalten.

Um eine Domain auf die Whitelist zu setzen, klicken Sie in der Hauptnavigation auf der linken Seite des Bildschirms auf * Whitelist *.

Auf dem nächsten Bildschirm können Sie neue Domains hinzufügen, die in die Whitelist aufgenommen werden sollen, und sehen, welche Domains bereits in die Whitelist aufgenommen wurden.

image: http: //assets.digitalocean.com/articles/block-ads-using-pi-hole/widws.png [Standard-Whitelist-Bildschirm der Weboberfläche]

Obwohl Sie selbst noch keine Domains auf die Whitelist gesetzt haben, listet Pi-hole standardmäßig die Domains auf, die zur Aktualisierung der Sperrlisten verwendet werden. Dies soll verhindern, dass eine Sperrliste eine andere Sperrliste blockiert.

Beachten Sie außerdem den * Hinweis *, der erklärt, dass Sie eine Unterdomäne einer mit Platzhaltern gesperrten Domain nicht auf die Whitelist setzen können. Das bedeutet, wenn Sie bereits einen Platzhalterblock auf "+ example.com " haben, erhalten Sie durch die Whitelist " www.example.com " immer noch keinen Zugriff auf die Subdomain. Um " example.com ", aber eine Whitelist " www.example.com " auf die schwarze Liste zu setzen, müssen Sie stattdessen einen genauen Block auf " example.com +" anwenden.

Um eine Domain auf die Whitelist zu setzen, geben Sie die Domain in das Eingabefeld * Add a domain * ein und klicken Sie dann auf die Schaltfläche * Add *. Pi-hole blinkt kurz eine Meldung mit der Aufschrift * Zur Whitelist hinzufügen… *, gefolgt von einer zweiten Meldung mit der Aufschrift * Erfolgreich! Die Liste wird aktualisiert *. Beide Nachrichten werden dann ausgeblendet und die Liste der auf der Whitelist befindlichen Domains enthält die Domain, die Sie gerade eingegeben haben.

Um eine Domain aus der Whitelist zu entfernen, klicken Sie auf die rote Schaltfläche mit dem weißen Papierkorbsymbol rechts neben der Domain, für die Sie keine Whitelist mehr erstellen möchten.

Informationen zum Testen der Black- und Whitelisting-Funktionen Ihrer Installation finden Sie in der offiziellen Liste von Pi-hole unter pages, um die Anzeigenblockierung Ihres Setups zu testen Performance.

Fazit

Sie haben jetzt eine einfache und dennoch effektive Möglichkeit, DNS-Anfragen in Ihrem Netzwerk zu filtern. Beachten Sie jedoch, dass Sie möglicherweise Ihre Sperrlisten ein wenig anpassen müssen, um sie Ihren persönlichen Surfgewohnheiten anzupassen.

Weitere Informationen zum Ausführen von Pi-hole finden Sie unter https://github.com/diginc/docker-pi-hole[dieses Projekt, in dem Pi-hole in einen Docker-Container eingefügt wird.

Um die Netzwerksicherheit weiter zu verbessern, lesen Sie die Informationen unter enable DNSCrypt in Ihrer aktuellen Pi-hole-Installation, um ein privates und sicheres https zu erstellen : //www.digitalocean.com/community/tutorials/how-to-create-an-intranet-with-openvpn-on-ubuntu-16-04 [intranet].

Allgemeine Informationen und andere Fragen finden Sie unter the official Pi-hole discussion forum.