/ Linux

Pi-Hole - Der Werbeblocker für das gesamte Netzwerk

Ich verstehe, dass es Websiten gibt, die sich über Werbung finanzieren. Das ist in meinen Augen auch vollkommen in Ordnung.
Nicht in Ordnung ist es in meinen Augen jedoch, wenn entweder die Werbung überhand vor dem eigentlichen Inhalt nimmt oder aber, wenn ein Gerät, welches ich gekauft habe, mir auf einmal Werbung um die Ohren haut. Als ein Beispiel sei hier einmal mein TV von Samsung genannt.

Das erste Problem kann man mittels Werbeblockern mittlerweile ziemlich gut in den Griff bekommen. Ich selbst bin ein großer Fan von Ublock Origin. Aber zum einen mag ich möglichst wenige Extensions in meinem Browser nutzen, zum anderen löst es nicht das Problem mit den Werbe-Apps auf meinem TV.

Ich nutze nun seit einigen Monaten Pi-Hole. Pi-Hole ist ein DNS-Server, der im lokalen Netzwerk aufgesetzt wird. Ob auf einem Raspberry Pi, der sich dafür anbietet, oder jedem anderen Server ist vollkommen egal. Für die gängigsten Linux-Distributionen gibt es fertige Binaries.

Hardware

Pi-hole is very lightweight as it only handles DNS queries and returns a blank HTML file so it doesn’t need much processing power.

~52MB of free space
512 MB RAM

We officially support the following:

Raspbian: Jessie (Only up to Pi-hole v3.2.1 1.1k) / Stretch (lite / with pixel)
Ubuntu: 16.04 / 16.10
Debian: 8 / 9
Fedora 26
CentOS: 7 (not ARM)

Anders als ein Werbeblocker im Browser, der die entsprechenden Javascript-Dateien auf der Website blockiert, blockiert Pi-Hole auf DNS-Ebene, was bedeutet, dass die Auflösung der URls der Werbenetzwerke bereits beim Versuch des Verbindungsaufbaus verhindert wird. Ein Werbeblocker im Browser ist damit quasi obsolet - kann aber trotzdem nicht schaden, sofern Pi-Hole mal etwas entgehen sollte.

pihole_overview

Ich selbst nutze Pi-Hole auf einem Raspberry Pi der ersten Generation mit 512 MB Ram, der damit noch wunderbar klar kommt. Die Installation ist ziemlich simpel. Voraussetzung ist ein bereits eingerichter Raspberry, idealerweise erreichbar über SSH.

Mittels curl -sSL https://install.pi-hole.net | bash wird automatisch der Installer heruntergladen und gestartet. Pi-Hole selbst führt euch mittels Assistenten durch die Konfiguration.
Neben der Netzwerkkonfiguration, den Nameservern, die zur Abfrage genutzt werden, könnt ihr hier auch IPV6-Support aktivieren.

Anschließend ist das Webportal von Pi-Hole unter http://IP-eures-PIs/admin erreichbar. Über dieses lassen sich nicht nur Statistiken anzeigen, ihr könnt Pi-Hole bei Problemen auch testweise deaktivieren oder Einstellungen bezüglich verwendeten der DNS-Server vornehmen. Auch DNSSEC support kann auf Wunsch aktiviert werden.

Damit eure Endgeräte in eurem Netzwerk nun aber auch eure Pi-Hole-Installation nutzen, ist es notwendig den DNS-Server in eurem Router, in meinem Falle einer Fritzbox anzupassen - natürlich könnte man das auch manuell je Gerät nutzen - ich möchte jedoch, dass jedes Gerät, welches mit meinem Netzwerk verbunden ist Pi-Hole als DNS-Server verwendet.

fritzbox_dns

Geht dazu in die Oberfläche eurer Fritzbox und wechselt in den Punkt Heimnetz. Dort findet ihr unter dem Reiter Netzwerkeinstellungen den Bereich IP-Adressen. Abhängig davon, ob ihr IPv4 und/oder IPv6 nutzt, müssen die folgenden Schritte pro Protokoll durchgeführt werden - was beispielsweise bei mir durch Dual Stack notwendig ist.

fritzbox_dns2

Im nächsten Dialog könnt ihr nun den DNS-Server hinterlegen. Tragt hier je nach Protokoll die IPv4 oder IPv6-Adresse eurer Installation ein. Diese hat euch der Konfigurations-Assistent am Ende auch mitgeteilt.

Anschließend speichern, ggf. einmal eure Endgeräte neustarten bzw. den DHCP-Lease erneuern. Fertig.