Wer im Internet surft bekommt auch viel Werbung zu sehen. Im Browser läßt sich diese z.B. mit dem Add-On uBlock Origin blockieren. Wie kann ich aber Werbung und Tracker auch auf Smartphone-Apps blockieren?

Hier kommt Pi-hole ins Spiel.

Das System mit der Pi-hole-Software wird als DNS-Server in ein bestehendes, zumeist kleineres, privates Rechnernetz eingebunden. Es übernimmt damit die Aufgabe, Domainanfragen der verbundenen Clients aufzulösen und in IP-Adressen umzuwandeln. Auf der Basis von Ausschlusslisten von bekannten Werbe- oder Trackingdomains und benutzerdefinierten Ausschlusslisten werden Anfragen entweder an konfigurierbare andere DNS-Server weitergeleitet oder, falls eine angefragte Domain in einer Ausschlusslisten existieren sollte, eine technisch unbrauchbare IP-Adresse an den Client ausgeliefert (sog. DNS sinkhole). Durch die Übermittlung einer unbrauchbaren IP-Adresse an den Client kann dieser auf die angefragte Domain nicht zugreifen und folglich Werbung und/oder Tracking-Inhalte nicht abrufen.

Wikipedia

Installation

Für die Installation gibt es diverse Möglichkeiten. Man könnte – wie der Name schon andeutet – einen Raspberry Pi verwenden, oder die Software auf einem Linux Server installieren. Ich würde sogar vermuten, dass es auf einem WIndows-Server mit WSL auch läuft.
Unser Pi-hole läuft in einem Docker Container. Dazu verwenden wir Docker-compose.
Unsere docker-compose.yml Datei sieht wie folgt aus:

version: "3"
services:
  pihole:
    image: pihole/pihole:latest
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "67:67/udp"
      - "8081:80/tcp"
      - "443:443/tcp"
    environment:
      # enter your docker host IP here
      ServerIP: 192.168.1.2
      PROXY_LOCATION: dns1
      VIRTUAL_HOST: dns1.gymdb1.at:9081
      VIRTUAL_PORT: 9081
    # Add your own custom hostnames you need for your domain
    extra_hosts:
      #   Point any of the jwilder virtual_host addresses
      # to your docker host ip address
      - 'dns1.gymdb1.at:192.168.1.2'
    volumes:
      - '/home/user/pihole/etc/:/etc/pihole'     
    dns:
      - 127.0.0.1
      - 192.168.1.252
    restart: always

Mit „docker-compose up -d“ wird der Container gestartet und falls notwendig auch alle notwendigen Dateien heruntergeladen.
Übrigens findet sich das Pi-hole Projekt auf github und auch dort findet man eine docker-compose.yml Vorlage.

Nach der Installation muss man Pi-hole noch einrichten. Das ist mit der Web-Gui sehr einfach. Ev. ein paar Whitelists oder Blacklists definieren. Die vordefinierte Blocklist ist schon sehr gut.

Das Dashboard gibt einen allgemeinen Überblick.

Empfehlenswert ist auch mal einen Blick auf den Query-Log zu werfen. Dort sieht man die aktuellen Anfragen hereinkommen und man kann dort auch gleich Anfragen blockieren.

Auch die Top Blocked Domains geben einen interessanten Einblick in das Netzgeschehen.

Wir verwenden Pi-hole schon einige Jahre und wir konnten tatsächlich eine Reduzierung des Datenverkehrs feststellen. Damit auch tatsächlich alle Geräte im W-Lan Pi-hole verwenden, werden alle DNS-Anfragen an der Firewall entsprechend umgebogen. Auch für das private Netzwerk zuhause ist Pi-hole sehr empfehlenswert.

Problematisch könnte zukünftig DoH (DNS over HTTPS) werden, denn dadurch wird Pi-hole ausgehebelt. Bis sich das aber flächendeckend durchsetzt, werden noch ein paar Jahre ins Land ziehen.

Weitere Literatur zu Pi-hole:


2 Kommentare

Rene Schwarzinger · 13.01.2020 um 18:17

Wie wirkt sich die Verwendung von Pi-Hole im Schulnetzwerk auf die Performance aus? Können die vielen Sessions ohne Verzögerung in so einem großen Netzwerk von einem Raspberry Pi verarbeitet werden?

Thomas Krupa · 13.01.2020 um 18:49

Durch den Pi-Hole wird weniger Traffic erzeugt. Das wirkt sich positiv aus. Zahlen kann ich dazu aber nicht liefern. Es lassen sich viele Dinge dadurch ganz einfach unterbinden. Windows-Updates, DropBox, Skype, oder was auch immer viel Traffic erzeugt und in der Schule nicht unbedingt gebraucht wird. Das ginge auch über die Firewall, aber die wird von der edugroup gewartet. Ob ein Raspberry PI das schafft, weiß ich nicht, aber ich denke schon.

Schreibe einen Kommentar zu Thomas Krupa Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert