# Pi-hole

Pi-hole ist eine freie Software mit der Funktion eines Tracking- und Werbeblockers sowie eines optionalen DHCP-Servers. Pi-hole basiert auf einem Linux-System und ist für den Einsatz auf Kleinstcomputern im Sinne eines eingebetteten Systems entwickelt worden. Verbreitet ist der Einsatz auf Computern der Raspberry-Pi-Serie. Die Software wird als DNS-Server in ein bestehendes Netzwerk integriert und steht damit allen Geräten im Netzwerk zur Verfügung, deren DNS-Einstellungen sich konfigurieren lassen.

## Funktionsweise

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 Ausschlussliste 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. Ebenso können Domains manuell zu einer weißen Liste hinzugefügt werden, wenn die Funktion einer Website durch blockierte Domains beeinträchtigt wird.
Da in einem kleinen Netzwerk die Clients neben ihrer eigenen, lokalen IP-Adresse auch die Adresse des abzufragenden DNS-Servers vom DHCP-Server erhalten, bestehen drei unterschiedliche Wege, auf denen ein Pi-hole in ein bestehendes Netzwerk integriert werden kann:
* Umkonfiguration des DHCP-Servers (in kleinen privaten Netzwerken wird diese Aufgabe normalerweise vom Router übernommen), so dass alle Clients als Standard-DNS-Server auf das Gerät mit der Pi-hole-Software verwiesen werden,
* Abschaltung des bisherigen DHCP-Servers und Aktivierung des in der Pi-hole-Software integrierten DHCP-Servers, der in der Folge als Standard-DNS-Server auf sich selbst verweist oder
* die individuelle DNS-Konfiguration einzelner Geräte innerhalb des lokalen Netzwerks.
Durch diese Funktionsweise ist es grundsätzlich und in der Standardeinstellung möglich, über die Benutzeroberfläche sämtliche Internetseiten, die von im Netzwerk befindlichen Geräten aufgerufen werden, nachzuverfolgen.

## Hardwareanforderungen

Die Hardwareanforderungen sind gering. Wenn eine reine WLAN-Anbindung ausreichend ist, kann für den Betrieb in einem privaten Netzwerk ein Raspberry Pi zero eingesetzt werden. Die Installation kann neben Raspberry Pi OS auf diversen Linux-Distributionen erfolgen, wie beispielsweise Ubuntu und Fedora, aber auch über Docker virtualisiert und auf einem Network Attached Storage installiert werden.

## Technische Grenzen

Eine Filterung erfolgt nur, soweit dies über Ausschlusslisten vordefiniert ist. Die Pi-hole-Software verfügt über keine Funktion, welche angeforderte Inhalte inhaltlich überprüft.
Darüber hinaus erfolgt die Filterung ausschließlich auf Basis von Domainnamen. Werbung oder Tracking-Code, der bereits clientseitig durch den Zugriff auf bestimmte IP-Adressen abgerufen wird und daher keine DNS-Anfrage erfordert, kann von der Pi-hole-Software nicht beeinflusst werden.