Einleitung
Da uns Arch Linux am Desktop gut gefällt, werden wir eine Serverinstallation damit machen und uns pi-hole aus dem AUR (Arch User Repository) installieren, um ungewünschte Werbung zumindest halbwegs in Schach zu halten.
Im AUR finden wir zusätzlich zu den Haupt-Repositories (core, extra, multilib) noch eine Vielzahl an Programmen, die wir uns runterladen und installieren können.
Eine Übersicht der AUR-Pakete bzw. eine Suchfunktion finden wir unter: https://aur.archlinux.org/
Diese Programme sind Community verwaltet, können also auch irgendwann mal nicht mehr aktualisiert werden oder komplett verschwinden.
In unserem Fall scheinen die pi-hole Pakete regelmäßig gewartet und angepasst zu werden. Das pi-hole-FTL Paket wurde 2017 erstellt und wird nach wie vor upgedated.
https://aur.archlinux.org/cgit/aur.git/log/?h=pi-hole-ftl
Für die Installation können wir uns wieder am Wiki Eintrag orientieren:
https://wiki.archlinux.org/title/Pi-hole
Arch Linux Server Installation
Als pi-hole Rechner kommt ein alter Intel NUC zum Einsatz der frei ist, später wird er vielleicht auch noch andere Aufgaben übernehmen – oder wir migrieren unsere Installation auf einen Raspberry Pi.
Die Installation verläuft ähnlich der Desktop Installation, allerdings wählen wir hier als Profil „Server“ aus, einen Desktop sollten wir nicht benötigen:

Bei den zusätzlichen Paketen wählen wir sshd aus, um uns dann gleich mit ssh auf unseren Rechner verbinden zu können.

Unter Audio können wir noch „no Audio Server” auswählen, da es sowieso keine Audio Ausgabe geben soll.
Vorbereitungen
Um uns Installation und Updaten von AUR-Paketen zu erleichtern, werden wir einen AUR-Helper (Pacman Wrapper) installieren:
https://wiki.archlinux.org/title/AUR_helpers
Unsere Wahl fällt auf yay, es gibt allerdings auch noch einige Alternativen, falls uns yay nicht zusagen sollte.
Um yay zu installieren, müssen wir zuerst das AUR-Paket runterladen, kompilieren und installieren.
Dazu ändern wir 2 Sachen in der Datei /etc/makepkg.conf:
- sudo vim /etc/makepkg.conf
- MAKEFLAGS=“-j4″ kommentieren wir ein und setzen es auf „-j4“, um alle 4 cores unseres NUCs beim kompilieren zu verwenden
- Das Erstellen von debug Paketen deaktivieren wir, indem wir unter OPTIONS debug auf !debug ändern
OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge debug lto)OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug lto)
Als nächstes laden wir uns das yay-bin aus dem AUR herunter, dazu updaten wir unser System und installieren wget:- sudo pacman -Syu
- sudo pacman -S wget
- wget https://aur.archlinux.org/cgit/aur.git/snapshot/yay-bin.tar.gz
- tar xpf yay-bin.tar.gz
- makepkg -si
Pi-hole Installation
Als erstes ergänzen wir den hosts Eintrag unserer IP um pi.hole:- sudo vim /etc/hosts
Als nächsten können wir pi-hole mittels yay suchen und installieren:
- yay pi-hole
Zusätzlich benötigte Pakete werden automatisch mitinstalliert:
Nachdem die Pakete erstellt wurden, können wir mit „J“ bestätigen um sie zu installieren:
Mit yay -Yc können wir nicht mehr benötigte Pakete deinstalliere, ebenso debug Pakete – sofern wir die debug Änderung in /etc/makepkg.conf nicht gemacht haben:
Nachdem die Installationen fertig sind, aktivieren wir den systemd-Autostart für pi-hole-FTL und starten den Dienst auch gleich mit:
- sudo systemctl enable pihole-FTL
- sudo systemctl start pihole-FTL
Die Weboberfläche ist jetzt unter der IP erreichbar: http://192.168.42.227/admin/
Sollten wir eine Passwortabfrage beim Zugriff haben wollen, können wir eines mit folgedem Befehl setzen:
- sudo pihole setpassword
Unter Tools à Pi-hole diagnosis sehen wir bereits 2 Probleme:
Pi-hole hat standardmäßig Ad-Listen aktiviert, hier gibt es anscheinend ein Problem mit Liste 2 à daher werden wir sie unter Lists einfach deaktivieren.
Außerdem ist noch kein Upsteam DNS-Server aktiviert, das können wir unter Settings à DNS machen und z.B. Cloudflare aktivieren:
Auf unserem Windows Client können wir jetzt unseren pi-hole Server als manuellen DNS-Eintrag unter den WiFi Settings einstellen und ausprobieren, ob wir im QueryLog Einträge sehen.

Unter Tools à Network sehen wir nun unseren Windows-Client.

Alternativ können wir auch auf unserer Fritzbox den DNS-Server einstellen (nachdem wir getestet haben, ob er funktioniert).
Dazu gehen wir unter Heimnetz à Netzwerk àNetzwerkeinstellungen àIP-Adressen und können unter IPv4-Adressen den Lokalen DNS-Server ändern:

Der Vorteil wäre, dass so auch mobile Geräte diesen DNS-Server verwenden, da dieser mit dem DHCP Request mitkommt.
Testweise greifen wir auf www.orf.at zu, und sehen gleich die Anfragen von unserem Aufruf – geblockt wird hier allerdings noch nichts:

Aber nach der Filterung auf geblockte Einträge sehen wir schon Einträge:

Adlists
Unter Lists haben wir bereits eine Liste deaktiviert, hier können wir natürlich auch noch weitere Listen ergänzen.
Einen guten Überblick bietet die Seite https://github.com/hagezi/dns-blocklists
Hier können wir uns z.B. die GH (github) URL für die Multi Pro Liste aussuchen.

Und für unseren pi-hole und in unsere Lists aufnehmen mit „Add blocklist“.

Aktuelle haben wir 192.053 Einträge in unserer Blockliste:

In einer SSH-Session können wir mit dem Befehl „sudo pihole -g“ die neue Adlist laden (das geschieht 1x wöchentlich automatisch).

Und schon haben wir 386.317 in unserer Blockliste:

Nach ein bisschen surfen auf ein paar (werbefreudigen) Seiten sehen wir bereits eine höhere Blockquote:

Pi-hole Updaten
Ob es neue Updates gibt, sehen wir unten auf der Übersichtsseite http://192.168.42.227/admin/

Updates können wir einfach mit yay aus dem AUR installieren, nicht über den „pihole -up“ Befehl (das funktioniert unter Arch Linux so nicht).

Nach dem erfolgreichen Kompilieren und Installieren, müssen wir noch pi-hole neu starten mit:
- sudo systemctl restart pihole-FTL
Und schon sehen wir die neuen Versionen auf der Übersichtsseite:
![]()
Fazit
Die Arch Linux Server Installation war problemlos, hier konnten wir auf unsere Erfahrungen aus der Desktop Installation zurückgreifen.
Pi-hole ließ sich dank AUR einfach installieren, die Konfiguration über die Web-UI ging auch ohne Probleme.
Neue Adlists können wir nach Bedarf noch hinzufügen, unter Domain können wir noch eigene Einträge anlegen.
Bisher gefällt uns die Installation und Anwendung gut, im nächsten Schritt werden wir versuchen unseren pi-hole auf unbound umzustellen.

