Internet-Werbung blockieren im ganzen Netzwerk - Pi-hole/Docker

 

Durch die Verwendung eines Adblockers ist es möglich einen Großteil der angezeigten Werbung im Internet auszublenden. Wer fĂŒr sein Heimnetzwerk einen zentralen Adblocker sucht, sollte sich den Werbeblocker Pi-hole ansehen. Pi-hole ist ein Open-Source DNS-Server mit integriertem Tracking- und Werbeblocker. Pi-hole lĂ€uft auf den gĂ€ngigen Linux-Systemen und kann somit unter anderem auf einem Raspberry-Pi oder in einem Docker-Container betrieben werden.

Docker Basics

Docker ermöglicht es, Services oder Applikationen per Befehl in einem sogenannten Container zu starten.
Ein Container ist eine vom Betriebssystem (OS) unabhÀngige isolierte Umgebung:
Beim ersten Start eines Containers, lÀdt Docker selbststÀndig alle notwendigen Quellen
aus dem Internet.
Docker kann unter Windows, macOS oder einer Linux-Distribution installiert werden,
siehe auch: Docker

Damit die DNS-Anfragen aller GerÀte im Netzwerk von Pi-hole beantwortet werden, kann die IP-Adresse von Pi-hole als DNS-Server zentral am Router hinterlegt werden. GerÀte mit automatischer Adressvergabe: DHCP, verwenden dadurch Pi-hole als DNS und somit dessen Werbefilter. Als Beispiel kann in der freien Router-Firmware OpenWRT der DNS wie folgt angepasst werden: /openwrt-mein-setup#dns. Ich verwende Pi-hole als Docker-Container auf meiner NAS, siehe auch:  NAS selber bauen: flexibel, stromsparend und billig [HowTo].

docker-compose.yml

Nachdem der Port 80 auf meiner NAS bereits anderweitig besetzt ist, verwende ich eine leicht angepasste Version der docker-compose.yml des Herstellers: 

version: "3"

# More info at https://github.com/pi-hole/docker-pi-hole/ and https://docs.pi-hole.net/
services:
  pihole:
    container_name: pihole
    image: pihole/pihole:latest
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "67:67/udp"
      - "84:80/tcp"
    environment:
      TZ: 'Europe/Amsterdam'
      WEBPASSWORD: 'password'
    # Volumes store your data between container upgrades
    volumes:
      - './etc-pihole/:/etc/pihole/'
      - './etc-dnsmasq.d/:/etc/dnsmasq.d/'
    # Recommended but not required (DHCP needs NET_ADMIN)
    #   https://github.com/pi-hole/docker-pi-hole#note-on-capabilities
    cap_add:
      - NET_ADMIN
    restart: always

In der Datei wird der Port 84 auf 80 gemappt. Entsprechend ist die Admin-OberflĂ€che spĂ€ter unter der IP-Adresse der NAS mit Port 84 erreichbar. Zudem habe ich die Variable "WEBPASSWORD" mit einem sicheren Kennwort befĂŒllt. Das Beispiel verwendet Bind-Mounts und keine Docker Volumes fĂŒr das permanente Speichern der Daten. Siehe: Docker Daten speichern: Docker Volumes vs. Host-Ordner

Der Start des Containers im Terminal erfolgt mit folgendem Befehl: 

docker-compose up -d

Beim ersten Start hatte ich dann noch ein Problem mit dem Port 53, dieser war auf meiner NAS bereits belegt:

Ubuntu/Debian Port 53 besetzt

Da meine NAS Debian verwendet, blockiert der Dienst systemd-resolv den DNS-Port 53. Damit sich fĂŒr den Pi-hole-Docker-Container der Port 53 nutzen lĂ€sst, habe ich den systemd-resolved-Service deaktiviert.

user@rechner:/docker/pi-hole$ sudo netstat -tulpn | grep LISTEN
...
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      1279/systemd-resolv
...
user@rechner:/docker/pi-hole$ sudo systemctl disable systemd-resolved.service
Removed /etc/systemd/system/dbus-org.freedesktop.resolve1.service.
Removed /etc/systemd/system/multi-user.target.wants/systemd-resolved.service.
user@rechner:/docker/pi-hole$  sudo systemctl stop systemd-resolved

Admin-OberflÀche

Der Aufruf der Admin-OberflÀche erfolgt im Browser mit der IP-Adresse der NAS und den zuvor verwendeten Port 84:

http://x.x.x.x:84/admin

Pi-hole verwendet eine vordefinierte Blacklist und zeigt bereits auf der Startseite Statistiken zu den Clients und den erlaubten, sowie blockierten Domains:

ZusĂ€tzlich zu Pi-hole verwende ich aktuell noch die DNS-Server von OpenDNS als Upstream DNS-Servers um nicht jugendfreie Inhalte aus dem Heimnetzwerk möglichst zu verbannen, siehe auch:  kindersicheres Internet ĂŒber das Heimnetzwerk - DNS am Router.

In Pi-hole befindet sich die Einstellung fĂŒr den Upstream DNS Server unter Settings/DNS:

 

 

positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE fĂŒr deine Bewertung!

Aktualisiert: 14.10.2022 von Bernhard | Translation English |🔔 | Kommentare:0

➚ GIT-Repositories selbst hosten: GitLab als Docker-Container starten | ➊ Container

Top-Artikel in diesem Bereich


ioBroker installieren - Docker

Mit ioBroker können verschiedene Automatisierungslösungen oder GerÀte in einem System zusammengefasst werden. Um bestimmte Gateways oder GerÀte ansprechen zu können, werden in ioBroker verschiedene Adapter verwendet.


Inbetriebnahme Zigbee2MQTT in Docker - Schritt fĂŒr Schritt

Zigbee2MQTT ist eine Open-Source Zigbee-Bridge welche sich, dank dem Netzwerkprotokoll MQTT, leicht in bestehende Smarthome-Lösungen integrieren lÀsst. Als Beispiel kann Zigbee2MQTT kombiniert mit MQTT - Broker  Mosquitto und Home-Assistant Daten der Zigbee-GerÀte erfassen, anzeigen, aufzeichnen und diese steuern. Das hier beschriebene Setup verwendet Docker als Basis. Herstellerseite: https://www.zigbee2mqtt.io


Bitwarden in Docker betreiben - Setup Schritt fĂŒr Schritt

Bitwarden ist ein webbasierter Passwort-Manager, Ă€hnlich LastPass, aber Open Source und der Möglichkeit diesen selbst zu betreiben (hosten). Wie sich Bitwarden im Vergleich zu anderen Passwort-Managern einordnet, habe ich auf folgender Seite ĂŒberlegt: Passwort-Manager sicher? KeePass vs. LastPass vs. Bitwarden. Bitwarden besteht aus mehreren Services, welche ĂŒber verschiedene Container bereitgestellt werden können. Das relativ aufwĂ€ndige Setup wurde mit "Bitwarden Unified" speziell fĂŒr ein Selbs...

Fragen / Kommentare


Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu Mehr Details