Skip to main content

PiHole

PiHole ist eine Software zum Blockieren unliebsamer Abfragen in das Internet. Das Funktionsprinzip ist, das PiHole mittels der Software dnsmasq einen eigenen DNS-Server startet. Falls nun eine Software oder ein Browser versucht eine Adresse die auf der Sperrliste steht zu öffnen, wird als IP-Adresse die 0.0.0.0 oder 127.0.0.1 zurückgegeben und die Anfrage läuft ins Leere.

Docker-Compose

PiHole ist ebenfalls als Docker-Image verfügbar. Bei Nutzung von Docker-Compose ist auf der Github-Seite eine entsprechende YML-Datei zu finden.
https://hub.docker.com/r/pihole/pihole/

Black-Lists

Das Einbinden von Black-Lists von Github ist nur über die Raw-Url möglich!

Folgende Black-Lists sind von dem YouTube-Kanal SemperVideo empfohlen und erweitern die bisherige Domainauswahl auf über 2 Millionen Webseiten / Hostnames. Gebt dem Video / den Videos einen Daumen hoch. (Lächeln)
http://youtube.com/watch?v=RVA1PLhAlTs

Die folgenden Listen wurden von SemperVideo erstellt und regelmäßig gepflegt.
Die Gibhub-Seite ist unter https://github.com/RPiList/specials zu finden.
Im Folgenden die entsprechenden Links zu den Listen:

Weitere Listen, die nützliche Domains zum Blocken enthalten:

PiHole-Queries per rsyslog weiterleiten (Log-Server)

Die Log-Daten von pihole können per rsyslog an einen Log-Server (z. B. Graylog2) weitergeleitet werden.

Konfigurationsdatei

  1. Die Datei /etc/rsyslog/22-pihole.conf erstellen und bearbeiten

    sudo vi /etc/rsyslog/22-pihole.conf
  2. In die Datei folgende Konfiguration eintragen und die folgenden Daten eintragen:
    IP_LOG_SERVER, PORT_LOG_SERVER und PROTOKOLL = tcp oder udp

    # Forward all logs to graylog:
    *.*     action(type="omfwd" target="[IP_LOG_SERVER]" port="[PORT_LOG_SERVER]" protocol="[PROTOKOLL]"
                          action.resumeRetryCount="100"
                          queue.type="linkedList" queue.size="10000")
     
    # Define extra log sources:
    module(load="imfile" PollingInterval="30")
    input(type="imfile" File="/var/log/pihole.log"
             Tag="pihole"
             StateFile="/var/spool/rsyslog/piholestate1"
             Severity="notice"
             Facility="local0")
    input(type="imfile" File="/var/log/pihole-FTL.log"
             Tag="piFTL"
             StateFile="/var/spool/rsyslog/piFTLstate1"
             Severity="notice"
             Facility="local0")
  3. Neustarten von rsyslog

    sudo service rsyslog restart