AdGuard auf Raspberry Pi installieren und das komplette Netzwerk frei von Werbung und Malware halten (mit lokaler DNS-Einstellung für die Fritzbox)

In diesem Tutorial zeige ich dir, wie du AdGuard auf einem Raspberry Pi deiner Wahl einrichtest und die Fritz!Box so einstellst, dass AdGuard die gesamte Werbung aus dem Netzwerk als Lokaler-DNS blockieren kann. Als Ergebnis hast du alle Webseiten, App und Dienste ohne eingeblendete Werbung.

In diesem Tutorial wird der DNS-AdBlocker AdGuard für das gesamte Netzwerk konfiguriert. Du kannst das Tutorial mit fast jedem Raspberry Pi durchführen. Ein Raspberry Pi Zero (2) (W) reicht dafür bereits aus und hat den Vorteil, dass dieser direkt per USB-Kabel mit der Fritz!Box für die Stromversorgung verbunden werden kann. Auch mit dem Raspberry Pi 3 oder Raspberry Pi 4 sowie den anderen Modellen kannst du dieses Tutorial durchlaufen.

Inhalte Verbergen

Umgang mit diesem Tutorial / Guide

Da ich der Meinung bin, dass ein globaler Ad-Blocker / DNS-Werbe-Blocker im Netzwerk eine so geile Sache ist und für jeden eine Pflichteinrichtung sein sollte, habe ich diesen Guide sehr weit aufgebohrt. In vielen anderen Guides wird ein wenig Grundwissen im Umgang mit Linux, SSH, Raspberry Pi oder dem Router vorausgesetzt. In diesem Guide habe ich jeden einzelnen Schritt dokumentiert und zum Nachmachen aufgeführt. Dadurch sollten auch Anfänger auf dem Gebiet in der Lage sein, sich AdGuard mit einem blankem Raspberry Pi einzurichten.

Solltest du also bereits fortgeschritten sein, arbeite bitte zusammen mit dem Inhaltsverzeichnis oben und schau dir nur die Bereiche an, die für dich wirklich für die Einrichtung relevant sind. Auch wird ein weiterer Guide folgen, in dem AdGuard per Docker aufgesetzt und eingerichtet wird.

Solltest du am Anfang im Umgang mit dem Raspberry Pi, Linux, SSH und Co. stehen, gehe bitte jeden einzelnen Schritt von oben nach unten durch. Dann hast du am Ende definitiv einen funktionierenden und gut eingerichteten DNS-Blocker im Netzwerk und nie wieder Probleme mit Werbung :).

BOM | Bill of Material | Bauteilliste

Wenn du die Einrichtung ohne SSH durchführen möchtest, brauchst du zusätzlich:

Vorbereitung / Benötigte Software

Warum macht AdGuard Sinn?

AdGuard ist ein effektiver Werbeblocker, der als DNS-Server eingerichtet werden kann und dadurch das gesamte Netzwerk und alle darin enthaltenen Geräte vor Werbung und Malware schützen kann. Die Einrichtung hierfür ist mit etwas Zeit und Fingerspitzengefühl sehr einfach möglich und sobald es einmal aufgesetzt ist, bedarf es keine laufende Anpassung, um es am Laufen zu halten.

AdGuard selber ist eine Alternative zu Pi-Hole (was sicherlich viele in Kombination mit Raspberry Pi bereits kennen). Dennoch ist AdGuard meiner Meinung nach etwas besser ausgestattet und die bessere Wahl im Vergleich zu Pi-Hole.

Dabei ist AdGuard Home eine vollständig kostenfreie Software, die du selfhosted bei dir im Netzwerk betreiben kannst.

AdGuard Home ist eine Netzwerkweite Software zum Sperren von Werbung und Tracking. Nachdem Sie es eingerichtet haben, deckt es ALLE Ihre Heimgeräte ab, und Sie brauchen dafür keine clientseitige Software. Mit dem Aufstieg von „Internet der Dinge” und vernetzten Geräten wird es immer wichtiger, Ihr gesamtes Netzwerk zu kontrollieren.

https://adguard.com/de/adguard-home/overview

Warum AdGuard auf Raspberry Pi Zero

Du kannst AdGuard Home auf jedem Linux-PC oder Raspberry Pi installieren und zum Laufen bekommen. Dennoch bin ich der Meinung, dass die ideale Version für AdGuard ein Raspberry Pi Zero oder Zero W ist. Einfach aus dem Grund, dass der Raspberry Pi Zero eine sehr geringe Stromaufnahme hat und dadurch auch direkt am USB-Port des Routers oder der Fritz!Box betrieben werden kann, ohne, dass ein zusätzliches Netzteil und eine weitere Steckdose benötigt wird.

Unter normalen Bedingungen kostet der Raspberry Pi Zero W weniger als 10 € – aktuell (Stand 2022) durch die Chipknappheit ist dieser leider auf einen utopischen Preis von über 60 € gestiegen.

Raspberry Pi OS mit balenaEtcher auf microSD Karte flashen

Als ersten Schritt brauchen wir das Betriebssystem auf der microSD Karte für den Raspberry Pi. Dabei ist es egal, welcher Raspberry Pi verwendet wird, das Betriebssystem ist für alle Modelle dasselbe. Ich nutze hierfür das Raspberry Pi OS Lite, da ich den Zugriff per SSH durchführen werde und keine grafische Oberfläche brauche. Wenn du den Raspberry Pi Zero W (2) verwendest, empfehle ich dir sogar die Lite Version, da diese Ressourcensparender ist und der Raspberry Pi Zero 2 (W) natürlich nicht so viel Power hat.

Eine ausführlichere Anleitung zum Flashen eines Betriebssystems auf die microSD-Karte, für den Raspberry Pi findest, du auch hier: Raspbian auf SD Karte installieren mit Etcher (Für Raspberry Pi)

Herunterladen des Raspberry Pi OS Lite

Die Lite Version findest du immer aktuell auf der Webseite vom Raspberry Pi. Einen direkten Link dorthin findest du hier: https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-32-bit

Solltest du einen der größeren Raspberry Pi wie den 3er oder 4er verwenden, kannst du auch die Version mit Desktop verwenden. Bedenke, dass wenn du die Einrichtung ohne SSH machen möchtest, zusätzlich eine Maus, Tastatur und Monitor sowie Mikro-HDMI-Kabel benötigst.

Raspberrypi.com download der Raspberry Pi OS Lite Version

Raspberry Pi OS auf die SD-Karte flashen

Dafür nutze ich das Tool von balena.io den Etcher. Diesen findest du hier: https://www.balena.io/etcher/

Nach der Installation der Software kannst du direkt mit dem Flashen starten. Dafür verbindest du die microSD-Karte mit einem Kartenleser mit deinem PC. Anschließend startest du die balenaEtcher Software.

balenaEtcher Übersicht der 3 Schritte zum Flashen auf eine microSD Karte
  1. Im ersten Schritt suchst du dir das heruntergeladene Image des Raspberry Pi OS auf deiner Festplatte und fügst es bei „Flash from file“ hinzu.
  2. Danach wählst du bei „Change“ deine microSD Karte aus, auf die du das Betriebssystem flashen möchtest.
  3. Abschließend kannst du mit dem Klick auf 3. „Flash!“ den Vorgang starten. Dies dauert dann einige Minuten bis zum Abschluss.

Solltest du Probleme damit haben, kannst du auch noch in folgendem Beitrag dazu nachlesen: Raspbian auf SD Karte installieren mit Etcher (Für Raspberry Pi)

balena Etcher ist fertig für das Flashen des Betriebssystems für Raspberry Pi OS
So sollte es dann aussehen, wenn du mit dem Flashen des Betriebssystems für den Raspberry Pi mit OS in der Lite Version startest
Danach lässt du die Software einfach durchlaufen und wartest, bis das Flashen vollständig abgeschlossen und überprüft ist.
Etcher vollständiger flash des Raspbian OS Lite auf die SD Karte
Sobald das Flashen erfolgreich war, siehst du dieses Bild vor dir.

Flashing Failed: Fehlerbehebung

Es kann vorkommen, dass am Ende die Fehlermeldung: Flashing Failed! erscheint. Das kann diverse Ursachen haben. Meistens liegt es entweder an einer abgebrochenen Verbindung zum Kartenleser / zur microSD-Karte oder an fehlenden Rechten beim Schreiben. Eine fehlerhafte Datei des Betriebssystems (vorzeitig abgebrochener Download) könnte auch der Grund sein.

Probiere die Etcher Software, als Administrator zu starten sowie den Kartenleser an einem anderen USB-Port zu verwenden. Teste den Vorgang erneut und es sollte funktionieren.

microSD-Karte weiter vorbereiten: Datei SSH+ wpa_supplicant.conf + userconf.txt

Mit der neusten Version des Raspbian OS / Raspberry Pi OS existiert das Benutzerkonto mit den Logindaten „pi“;“raspberry“ nicht mehr und ein Zugriff per SSH ist ohne die Erstellung der Datei userconf.txt nicht mehr möglich. SSH an sich ist grundsätzlich standardmäßig nicht aktiviert und wird mit einer leeren Datei im Boot-Verzeichnis mit dem Namen „ssh“ aktiviert. Zusätzlich möchtest du eventuell, dass sich der PI (sofern kein LAN-Anschluss vorhanden) mit dem WLAN verbindet. Dazu ist die wpa_supplicant.conf zuständig.

Um nun direkt per SSH auf den Raspberry Pi zuzugreifen, müssen folgende Dateien im Boot Order der SD-Karte angelegt werden:

userconf.txt für Benutzerkonto im Raspberry Pi OS anlegen

Um nun einen Benutzer für den Raspberry Pi anzulegen, ohne zusätzlich einen Monitor, Tastatur und Maus an diesen anzuschließen, erstellst du im Boot-Verzeichnis die Datei: „userconf.txt“. In dieser Datei definierst du Lohnbedingungen für den Login per SSH.

userconf.txt in Boot Verzeichnis von Raspberry Pi OS microSD-Karte erstellen
Erstelle mit Rechtsklick -> Neu -> Textdatei eine neue Textdatei und benenne diese als userconf.txt um

Auch hierzu findest du weitere Informationen hier: Raspbian auf SD Karte installieren mit Etcher (Für Raspberry Pi)

In diese Datei schreibst du Folgendes hinein:

pi:$6$/4.VdYgDm7RJ0qM1$FwXCeQgDKkqrOU3RIRuDSKpauAbBvP11msq9X58c8Que2l1Dwq3vdJMgiZlQSbEXGaY5esVHGBNbCxKLVNqZW1

Die Zeichenfolge sorgt dafür, dass der Benutzer pi mit dem Passwort „raspberry“ erzeugt wird.

Texteditor für userconf.txt

Nach dem Abspeichern der Datei hast du dein Benutzerkonto für den Login per SSH auf den Raspberry Pi erfolgreich abgeschlossen.

Datei für SSH Zugriff zum Boot-Verzeichnis hinzufügen

Um jetzt SSH vom ersten Start des Raspberry Pi ab an aktiviert zu haben und nicht den Umweg über die Aktivierung per Monitor, Maus und Tastatur zu haben, fügst du in das Boot-Verzeichnis die Datei ssh hinzu.

ssh Datei zum Boot-Verzeichnis hinzufügen
Leere Datei mit dem Namen „ssh“ im Boot-Verzeichnis erstellen, um SSH zu aktivieren

Sobald die „ssh“ Datei hinzugefügt ist, wird SSH beim Starten des Betriebssystems mit gestartet und aktiviert. Du kannst ab diesem Moment per SSH auf den Raspberry Pi zugreifen, mit den zuvor eingestellten Benutzerdaten. Natürlich nur, sofern der Raspberry per LAN-Kabel mit dem Netzwerk verbunden ist.

Dateiendung wird nicht angezeigt oder kann nicht entfern werden

Um die Dateiendungen anzuzeigen, gehst du auf Optionen -> Ordneroptionen -> Ansicht und dort entfernst du den Haken bei: „Erweiterungen bei bekannten Dateitypen ausblenden

WLAN per Datei konfigurieren bei frischem Raspberry Pi OS – wpa_supplicant.conf

Die WLAN-Einstellungen kann man dem Raspberry Pi direkt bei der Einrichtung über die Datei wpa_supplicant.conf mitgeben. Diese Datei wird abgelegt unter boot/wpa_supplicant.conf.

Die Datei ist dabei vor dem ersten Start des Betriebssystems nicht vorhanden und wird mit dem ersten Start generiert. Wir können jedoch auch diesem Verfahren zuvor kommen und die Datei bereits vor dem ersten Start selber erstellen, um anschließend direkt eine Verbindung zum Netzwerk per WLAN zu erhalten.

  • Erstelle die Datei „wpa_supplicant.conf“ im Boot Verzeichnis
  • Füge deine WLAN-Konfigurationen ein
# Datei wpa_supplicant.conf in der Boot-Partition (ab Raspbian Stretch)
country=DE
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
       ssid="wlan-bezeichnung"
       psk="passwort"
       key_mgmt=WPA-PSK
}

Für die SSID wählst du den Namen deines Netzwerks. Wichtig ist, dass dieser auch 1:1 so geschrieben sein muss, wie die SSID deines WLAN Netzwerks / Routers. Bei „psk“ platzierst du dein WLAN-Passwort. Anschließend speicherst du die Datei und bist mit diesem Schritt fertig.

wpa_supplicant.conf im Boot Verzeichnis für WLAN Verbindung beim Booten
WLAN Konfiguration über wpa_supplicant.conf
Trage deine WLAN-Daten ein und speichere die Datei

Starten des Rapsberry Pi mit der fertigen microSD-Karte

Damit sind wir durch die Einrichtung des Betriebssystems so weit durch. Nun hast du eine microSD-Karte mit eingerichtetem Raspberry Pi OS, einem Benutzerkonto, der aktivieren SSH Schnittstelle und der aktivierten und eingerichteten WLAN-Verbindung.

Stecke die SD-Karte in den Raspberry Pi und verbinde diesen mit dem Netzteil. Der Raspberry sollte jetzt booten und in Kürze in deinem Netzwerk zu sehen sein.

Solltest du diesen Guide mit einem Raspberry Pi durchführen, der per LAN mit dem Netzwerk verbunden ist, kannst du den Part um die WLAN-Verbindung natürlich überspringen.

AdGuard Home auf Raspberry Pi installieren

Jetzt kannst du mit der eigentlichen Installation starten. Du hast das Betriebssystem auf deiner microSD-Karte eingesteckt in deinem Raspberry Pi und mit Strom versorgt (optional per LAN mit dem Netzwerk verbunden)

IP-Adresse des Raspberry Pi herausfinden für SSH Zugriff

Wenn dein Raspberry Pi gestartet ist, wird er sich entweder per WLAN mit der oben erstellten Datei oder per angeschlossenem LAN-Kabel mit deinem Netzwerk verbindet. Dadurch solltest du in deinem Netzwerk auch die dem Raspberry zugewiesene IP-Adresse finden. Diese kannst du sowohl über deinen Router (in den Netzwerkeinstellungen) oder mit einer zusätzlichen Software herausfinden. Ich nutze dafür den Wireless Network Watcher von NirSoft.

Wireless Network Watcher Übersicht des Netzwerks und IP-Adresse des Raspberry
Hieraus geht hervor, dass der neue Raspberry in meinem Netzwerk die IP-Adresse: 192.168.178.87 erhalten hat und somit auch erfolgreich mit dem Netzwerk verbunden wurde

SSH Zugriff auf den Raspberry Pi

Um per SSH auf den Raspberry zuzugreifen, nutze ich die Software PuTTY. Die Software kannst du hier herunterladen: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html und dort wählst du einfach die Version bei MSI (Windows Installer)

In Putty selbst kannst du nun die IP-Adresse von deinem Raspberry eintragen und die Verbindung per SSH aufbauen.

Verbindung mit Putty per SSH aufbauen
Verbindung mit Putty per SSH aufbauen

Nachdem du mit Open die Verbindung gestartet hast, klickst du bei der Abfrage nochmal auf „Akzeptieren / accept“ und kommst in eine Terminal-Übersicht.

Logindaten wie oben von dir erstellt worden: pi;raspberry

Nach dem Login kannst du den Raspberry über die Konsole / Terminal mit den Befehlen steuern und einrichten

Die Installation von AdGuard über die Konsole / Terminal

Die Ausgangssituation ist hier folgende:

  • Raspberry Pi läuft mit Raspberry Pi OS Lite
  • Raspberry ist mit dem Netzwerk verbunden (WLAN oder LAN)
  • Die Verbindung per SSH zum Raspberry ist aufgebaut

Alle Updates und Upgrades des Betriebssystems und Kernels ausführen

Um alle Updates in einem Abwasch durchzuführen und zu installieren, tippst du folgende Befehlsfolge per SSH ein:

Per SSH eingeloggt auf dem Raspberry PI
sudo apt update -y
sudo apt upgrade -y

Die Updates und Upgrades können einige Minuten in Anspruch nehmen – sollten jedoch auf jeden Fall vor der Einrichtung durchgeführt werden.

Adguard herunterladen, entpacken und installieren

Nun ist der Raspberry Pi Up2Date und du kannst anfangen, neue Komponenten zu installieren. Dafür laden wir zunächst die AdGuard Home Version für Linux Kernels herunter.

wget https://static.adguard.com/adguardhome/release/AdGuardHome_linux_arm.tar.gz

Anschließend wird das heruntergeladene Paket entpackt:

tar xvf AdGuardHome_linux_arm.tar.gz

Dann kannst du die alte Datei, die du gerade entpackt hast wieder löschen:

rm AdGuardHome_linux_arm.tar.gz

Und jetzt bewegst du dich mit dem cd Befehl in den AdGuardHome Ordner hinein:

cd AdGuardHome/

Die Installation von AdGuard kannst du mit dem folgenden Befehl dann starten:

sudo ./AdGuardHome -s install

Damit ist die Installation bereits abgeschlossen und die Weboberfläche / das Dashboard sollte über den Port 3000 bereits erreichbar sein. Gib in deinen Browser einfach die IP:3000 ein und du gelangst zur AdGuard Oberfläche.

Im normalen Webbrowser
https://[IP-VOM-RPI]:3000
AdGuard erfolgreich auf Raspberry Pi installiert und erreichbar über den Port 3000
Die Installation von AdGuard ist damit abgeschlossen und die Konsole zeigt dir, wie du nun auf das Webinterface zugreifen kannst.

AdGuard in Dashboard / Weboberfläche einrichten (Setup von AdGuard auf Raspberry Pi)

Die Installation ist erfolgreich und über die IP:3000 (IP:PORT) ist die Weboberfläche von AdGuard erreichbar. Du brauchst nun per SSH keine Befehle mehr ausführen und kannst die Verbindung trennen. Behalte dir jedoch den Vorgang im Hinterkopf, da du darüber immer mal wieder die Updates und Upgrades durchführen solltest, um keine Schwachstelle im Netzwerk zu haben.

Jetzt geht es um die Konfiguration von AdGuard. Diese kannst du einfach über ein Web-Interface durchführen, welches sich über die IP-Adresse und dem Port 3000 öffnen lässt.

AdGuard auf Raspberry Pi eingerichtet und Konfiguration läuft über Weboberfläche
Die Weboberfläche erreichst du direkt nach der Installation über die Eingabe der IP und dem Port 3000 im Browser. In meinem Fall: 192.168.178.87:3000

Hier klickst du zunächst auf Anfangen und kommst dann zur nächsten Übersichtsseite.

AdGuard Einrichtung - Seite 2
Hier brauchst du vorerst keine Veränderungen vornehmen und kannst direkt mit weiter auf die nächste Seite der Einrichtung springen. Merke dir in diesem Fall nur die Ports – also Port 80 für Adminoberfläche und Port 53 für DNS Server

Im nächsten Schritt gibst du deine Login-Daten für den Administrator-Zugang ein. Hier wählst du ein für dich stimmigen Benutzernamen und Passwort.

AdGuard Einrichtung Schritt 3 - Passwort und Benutzernamen festlegen
Hier wählst du einfach einen Benutzernamen und ein Passwort für dich zum Einloggen als Admin ins Dashboard später.

Bestätige deine Login-Daten mit Weiter. Nachdem die Login-Daten festgelegt sind, schlägt AdGuard dir einige Einrichtungen für das Gerät vor. Ich empfehle dir hierbei die Verwendung direkt über den Router, da AdGuard damit direkt global für alle sich im Netzwerk befindende Geräte die Werbung blockt.

Die einzelnen Schritte die AdGurad dir dafür anzeigt habe ich dir hier nochmal aufgeführt und werden gleich im Part für die Fritzbox / oder anderem Router nochmal wichtig.

Diese Einrichtung deckt automatisch alle an Ihren Heimrouter angeschlossenen Geräte ab, und Sie müssen nicht jedes einzelne davon manuell konfigurieren.

  1. Öffnen Sie die Einstellungen für Ihren Router. In der Regel können Sie von Ihrem Browser aus über eine URL (wie http://192.168.0.1/ oder http://192.168.1.1/) darauf zugreifen. Möglicherweise werden Sie aufgefordert, das Passwort einzugeben. Wenn Sie sich nicht mehr daran erinnern, können Sie das Passwort oft durch Drücken einer Taste auf dem Router selbst zurücksetzen. Einige Router benötigen eine bestimmte Anwendung, die in diesem Fall bereits auf Ihrem Computer/Telefon installiert sein sollte.
  2. DHCP/DNS-Einstellungen suchen. Suchen Sie nach den DNS-Buchstaben neben einem Feld, das zwei oder drei Zahlensätze erlaubt, die jeweils in vier Gruppen von ein bis drei Ziffern unterteilt sind.
  3. Geben Sie dort Ihre AdGuard Home Server-Adressen ein.
  4. Sie können auf einigen Routern keine beliebigen DNS-Server festlegen. In diesem Fall kann es hilfreich sein, dass Sie AdGuard Home als DHCP-Server festlegen. Andernfalls sollten Sie nach einer Bedienungsanleitung zum Anpassen des DNS-Server für Ihr Router-Modell suchen.

Wie gesagt, ich habe dir die Schritte hier nur nochmal rauskopiert, damit wir diese später vorliegen haben. Du kannst den Schritt mit weiter bestätigen und hast AdGuard damit bereits eingerichtet.

AdGuard Schritt 4 - Einrichtung anderer Geräte / Konfiguration
Die Schritte habe ich dir oben herauskopiert. Die brauchst du dir nicht abzuspeichern. Man findet diese später auch noch im Dashboard selber. Hier kannst du einfach mit weiter fortfahren.
AdGuard Einrichtung abgeschlossen
Nach dem Klick auf Weiter ist die AdGuard Einrichtung abgeschlossen. Mit einem Klick auf „Übersicht öffnen“ kannst du dich mit deinen gewählten Login-Daten einloggen.

Abschluss AdGuard Einrichtung + Login ins Dashboard

Du hast nun erfolgreich AdGuard Home auf deinem Raspberry Pi (egal welcher Version) installiert und eingerichtet. Nun fehlen dem AdGuard System nur noch die Daten, aus denen er die Werbung heraus blocken soll.

Wenn du nun die IP-Adresse von deinem Raspberry Pi eingibst, solltest du automatisch in den Login Bereich von AdGuard kommen und dich mit deinen gewählten Login-Daten einloggen können.

AdGuard-Login
Dashboard über die IP-Adresse vom Raspberry Pi (optional mit Port 80 dahinter) aufrufen und mit den Login-Daten einloggen.
Dashboard von AdGuard über Port 80 nach Login mit Benutzername und Passwort
Erfolgreich ins Dashboard von AdGuard eingeloggt

Sauber, nun sind wir so weit und müssen nur noch unserem Router sagen, dass er die Daten über AdGuard (deinem Raspberry Pi) schicken soll, damit AdGuard die Werbung aus allen Datenströmen heraus blocken kann.

AdGuard IP im Router als DNS-Server einrichten / DNS in der FritzBox ändern

In der Regel ist die FritzBox als DHCP-Server konfiguriert und vergibt den verbundenen Endgeräten in der Regel den richtigen DNS Eintrag. Dies wollen wir nun ändern, um global die DNS Einträge aller Endgeräte anzupassen und die Datenströme über AdGuard zu leiten.

  1. Login in die Fritzbox / Router
    1. Anmelden in die Fritzbox geht meist über https://fritz.box im local Network oder über die localhost IP-Adresse mit der 1 am Ende: 192.168.0.1
    2. Anschließend MUSS die erweiterte Ansicht in der Fritzbox aktiviert sein.
  2. Netzwerkeinstellungen aufrufen
    1. Heimnetz -> Netzwerk und dann im TAB: Netzwerkeinstellungen
    2. Dort klickst du auf IPv4-Adressen // IPv4-Einstellungen
  3. DNS-Server eintragen
    1. Hier findest du den Unterpunkt: Lokaler DNS-Server. Diesen Wert musst du durch die IP deines AdGuard Gerätes ersetzen

Nachdem du dort die IP-Adresse von deinem AdGuard System eingetragen hast, kann AdGuard anfangen zu arbeiten. Alle Geräte bekommen den neuen DNS-Server mit einem Neustart der Verbindung zum Netzwerk (WLAN An und Aus / Neustart des Gerätes) übermittelt. Danach läuft der gesamte Traffic über AdGuard und die Werbung wird durch den DNS-Blocker geblockt.

Bestätigung durch Tasteneingaben bei Aufforderung

Es kann vorkommen, dass nach dem Klick auf „OK“ beim Bestätigen der IP-Adresse für den lokalen DNS-Server eine Bestätigungsaufforderung erscheint.

Hier klickst du auf die Bestätigung mit Fritz!Box-Taste
Danach blinken alle Lampen an der Fritz!Box und du musst irgendeine Taste an der Fritz!Box einmalig drücken
Mit dem abschließenden Klick auf Okay ist dann die Änderungen durchgeführt.

AdGuard aktualisieren / Updates für AdGuard manuell installieren

Da es auch bei AdGuard regelmäßige Updates gibt, füge ich hier für dich noch den Part ein, wie du die Updates auf deinem System installieren kannst.

Login per SSH auf den Raspberry

Diesen Schritt hast du weiter oben bereits ausgeführt. Öffne Putty, trage die IP-Adresse von deinem Raspberry ein und logge dich mit deinen festgelegten Login-Daten dort ein. Wenn du diesem Guide gefolgt bist, lauten die Login-Daten „pi;raspberry“ als Benutzername; Passwort.

ARM Version vom Raspberry Pi Modell herausfinden

Um nun die richtige Linux ARM Version der Software herauszufinden, tippst du folgenden Befehl in deine Konsole per SSH ein:

cat /proc/cpuinfo
Raspberry Pi Zero W mit ARMv6 Porzessor
Hier kannst du unter „model name“ die ARM Version auslesen, die du als Software benötigst.

Es können folgende Möglichkeiten herauskommen:

  • ARMv5
  • ARMv6
  • ARMv7

In meinem Fall ist es die ARMv6 Version mit dem Raspberry Pi Zero W.

Richtige AdGuard Version heraussuchen für die Raspberry Version

Dazu erscheint im AdGuard oben ein Infofeld, dass ein neues Update bereitsteht. Dort klickst du einfach auf „Klicken Sie hier“.

AdGuard Updates durchführen - Aktualisierungs-nachricht im Dashboard für neue Version
Hier klickst du auf die Schaltfläche „Klicken Sie hier“.

Daraufhin wirst du zum aktuellen Repository von AdGuard weitergeleitet. Aktuell wird hier Github genutzt.

Dort angekommen suchst du dir die richtige Linux ARM VX Version für dein Board. In meinem Fall war es die AdGuardHome_linux_armv6 Version. Auf diese klickst du Rechtsklick und wählst: Adresse des Links kopieren.

AdGuard Home bei Github - Link zur richtigen Datei rausziehen
Link zur Datei der neusten Version kopieren, um diesen anschließend per SSH an den RPi zu geben.

Nun hast du die URL für die neuste AdGuard Version in der Zwischenablage und es wird mit der offenen SSH Verbindung (Konsole) zum Raspberry weitergearbeitet.

Update von AdGuard Home installieren

Als Erstes tippst du in die SSH Konsole wieder die Befehle für das Updaten des Raspberry PI’s ein. Sollten keine Updates vorhanden sein, geht der Vorgang relativ schnell. Wenn es Updates gibt, dauert es je nach Anzahl bis zu mehrere Minuten.

sudo apt update -y
sudo apt upgrade -y

Anschließend lädst du dir mit dem Link aus der Zwischenablage (vorheriger Schritt) die neuen Files von AdGuard Home herunter. BEACHTE, dass es in deinem Fall eine andere ARMvX sein könnte und du die Zahl anpassen müsstest.

wget https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.11/AdGuardHome_linux_armv6.tar.gz

Sobald die neue Version heruntergeladen ist, kannst du dir eine Übersicht des aktuellen Ordners mit dem Befehlt „ls“ anzeigen lassen. Das sieht bei mir dann so aus:

LS Übersicht der Ordner im Rapsberry Pi Linux
Hier siehst du jetzt, dass die neue Datei AdGuardHome_Linux_armv6.tar.gz heruntergeladen wurde

Nun navigierst du zum Ort, wo AdGuard installiert ist (in unserem Fall direkt im /AdGuardHome und stoppt den Service, damit wir die aktuellste Version überspielen können.

cd AdGuardHome/
sudo ./AdGuardHome -s stop

Danach kommt eine Rückmeldung, dass der Service erfolgreich gestoppt worden ist. Nun kannst du die neuen Dateien aus dem heruntergeladenem Paket in einen temporären Ordner entpacken:

cd ..
tar -C /tmp/ -f AdGuardHome_linux_armv6.tar.gz -x -v -z

Nun ersetzen wir alle Dateien, die in dem aktuellen AdGuard Ordner sind durch die Dateien aus der neusten Version. Wichtig dabei ist, dass sich die Dateien im Ordner AdGuardHome/AdGuardHome befinden:

sudo cp /tmp/AdGuardHome/AdGuardHome /home/pi/AdGuardHome/AdGuardHome

Damit ist das Update auch schon so gut wie abgeschlossen. Nun gehst du zurück in den AdGuard Ordner und startest den Service erneut:

cd AdGuardHome/
sudo ./AdGuardHome -s start

Nun kannst du noch die temporären Dateien vom Download wieder entfernen. Dafür kannst du einfach rm -r /tmp/Ad und dann die Tabulatortaste drücken (Autovervollständigung). Beim ersten Mal wird er dir den Ordner AdGuard ausgeben. Das bestätigst du mit Enter und der Ordner ist gelöscht. Anschließend dasselbe Vorgehen nochmal und du, er wird die durch die Vervollständigung die AdGuardHome_linux_… Version zum Löschen einfügen.

rm -r /tmp/Ad (TABULATOR - Autovervollständigung) - Zeile 2 Mal ausführen

Damit hast du gerade manuell die Version von AdGuard erfolgreich upgedatet. Das Informations-Fenster für das Update sollte aus dem Dashboard nun verschwunden sein und die aktuellste Version vom AdGuard auf deinem System laufen.

Edit 10.01.2024:

Da sich das Tutorial an Anfänger richtet, hier noch ein Hinweis zu einem Befehl, bei dem ich ins Stolpern kam.
Unter Punkt 10.4 „Update von AdGuard Home installieren“ kommt man im Verlauf zur Befehlszeile

sudo cp /tmp/AdGuardHome/AdGuardHome /home/pi/AdGuardHome/AdGuardHome

Die funktioniert natürlich nur, wenn man als Benutzernamen auch tatsächlich „pi“ gewählt hat. Falls nicht, quitiert der Befehl mit einer Fehlermeldung. Deshalb muss er entsprechend angepasst werden wenn man von „pi“ abweicht. Zum Beispiel

sudo cp /tmp/AdGuardHome/AdGuardHome /home/WonderWoman/AdGuardHome/AdGuardHome

wenn man DC-Fan ist.

evilzurg – Kommentar unter Beitrag

Fazit / Schluss

Herzlichen Glückwunsch, wenn du hier angekommen bist, hast du auf deinem Raspberry Pi das Raspberry Pi OS Lite inklusive AdGuard laufen und den Lokalen-DNS-Server deines Routers (Fritz!Box) auf AdGuard umgeleitet. Damit wird nun die gesamte Werbung aus deinem Netzwerk herausgefiltert und es sollten keine weiteren Werbeanzeigen erscheinen.

Mittlerweile gibt es auch Seiten, die AdGuard den Zutritt zu Webseite vollständig untersagen. Zum Beispiel ist Bild.de eine dieser Seiten. Es kann unter Umständen sein, dass die Seite dich vollständig aussperrt. Leider ist es für den speziellen Fall auch nicht möglich, ein Whitelisting durchzuführen, da selbst das von Bild_de ausgeschlossen wird. Für diesen Fall musst du AdGuard deaktivieren, um weiterhin die Seite der Bild Zeitung zu besuchen.

Ich hoffe, dieser Guide hat dir weitergeholfen und konnte dir einen Mehrwert bieten. Wie bereits oben beschrieben, bin ich mit diesem Beitrag recht tief in die Materie rein und habe alles sehr ausführlich Schritt für Schritt aufgenommen, um jedem den Zugang zu AdGuard zu ermöglichen. Unter normalen Bedingungen kostet der Raspberry Pi Zero W knapp 10€ und damit erhält man einen idealen Werbeblocker für sein Netzwerk.

Hast du Fragen, Anregungen oder einen netten Kommentar für mich, lass es mich wissen. Ich freue mich, von dir zu hören!

9 Gedanken zu „AdGuard auf Raspberry Pi installieren und das komplette Netzwerk frei von Werbung und Malware halten (mit lokaler DNS-Einstellung für die Fritzbox)“

  1. leider gespickt mit vielen Rechtschreibfehlern. Statt „boot“ ist dann auf einmal von „root“ zu lesen. Ist zwar nur ein Buchstabe geändert, aber die Auswirkungen sind eben fatal.
    Ansonsten ganz ok für Einsteiger und Neulinge

    Antworten
    • Vielen Dank für deine Rückmeldung.
      Ich denke, dass hier der Fakt, dass 3-4 mal zu Beginn des Beitrages von „Boot-Order / Root-Ordner“ gesprochen wird, klar ist, welcher Ordner gemeint ist.
      Gerade, weil kein Benutzerkonto Root verfügbar ist und der Root-Ordner per definitionem das Stammverzeichnis gemeint ist.
      Habe es angepasst, war mir nicht bewusst, dass dies unverständlich ist.

      Antworten
      • Vielen Dank für deine ausgezeichnete Arbeit, das hat so geklappt und klappt auch immer wieder bei Freunden und Bekannten. @wassolldas mach’s erstmal besser, zeig mal was hast du denn so veröffentlicht dann geh ich auch mal mitm Rechtschreibprogramm drübba. bin sicher da ist nichts im Netz! Belehr mich eines Besseren!

        Als Nachfrage zum DevArounder
        Fällt dir ein Weg ein wie man diese Konfiguration von Außen zugreifen kann.
        Ein paar unausgegorene Ansätze:
        – per VPN mit der Fritzbox verbinden und dann die ip aufrufen. (ist aber ne alte Firmware die aufgrund des Providers M-Net auf eine ältere Version festgeeist ist)
        – Server installieren der dann per NginxProxyManager sogar einfach zu merkende URLs finden kann, dann braucht man aber ein weiteres Gerät.
        – Ich selber habe es per Proxmoxx gelöst und der Adguard läuft in einem LXC Container
        Was mache ich aber für die Hausfrau da draussen, die das dingen anstecken will und maximal in der Fritzbox noch die IP ändern will / kann.
        die kann dann die Oberfläche verwalten wenn sie daheim ist aber unterwegs, wirds schwieriger?
        Wir wollen das zum Sperren von Diensten benutzen, die dann Netzwerkweit den Kindern z.b. TikTok temporär sperrt. Ich weiß es gibt apps direkt auf dem Handy etc. aber Adguard ist auch für mich eine erste Grundvoraussetzung in einem Netzwerk, bei dem man Global erstmal alles sperren und dann noch selektiv pro gerät – OHNE dass ich Apps installieren muß.

        Kleiner Wermutstropfen, der sich in meinem Gedankenbrei, erst noch setzen muß:
        Was mach ich wenn die kleinen dann doch irgendeine VPN App installieren und dann doch am Adguard vorbei bis in die Nacht Genshin Impact oder Fortnite zocken.
        Doch wieder klassisch die Handygarage und abends abgeben, bevor sie ins Bett gehen?

        Antworten
        • Hey, entschuldige bitte die stark verzögerte Rückmeldung. Gerade gefühlt ein Projekt zu viel in der Pipeline :).

          Habe bei mir in der Wohnung einen NAS Server, auf dem Wireguard läuft. Über den verbinde ich mich per VPN in die Wohnung. Aus Sicherheitssicht glaube ich die beste Möglichkeit.

          Alternativ natürlich den Port von AdGuard im Router freigeben und auf dem Pi neben AdGuard noch DuckDNS aufspielen, damit der sich die IP Adresse selbständig aktualisiert und dann per Domain:Port auf AdGuard Config zugreifen.

          Liebe Grüße
          Riko

          Antworten
  2. Vielen Dank!

    Dieses Tutorial hat uns sehr geholfen, auch um Fragen im Vorfeld zu beantworten.

    Da ich vermutlich Probleme mit der wpa_supplicant.conf hatte, hat es leider nicht auf Anhieb funktioniert.
    Ich vermute es lag am Format für das Zeilenende (Windows CR+LF / UNIX nur LF) und an der Unkenntnis, dass es nichts bringt die Datei nachträglich anzupassen wenn man bereits einmal gebootet hatte.

    Nach etwas Recherche habe ich dann herausgefunden, dass man sich mittlerweile die Punkte 6 bis 6.3.3 sparen kann. Also das mit balenaEtcher und den Dateien userconf.txt, ssh und wpa_supplicant.conf. Einfach den „Raspberry Pi Imager“(https://www.raspberrypi.com/software/) verwendet. Das geht super einfach!
    Gerät wählen, Operating System wählen, Laufwerk mit SD-Karte wählen, Einstellungen festlegen (Gerätename, Benutzerdaten, Wifi-Daten, SSH-Dienst aktivieren) und dann flashen.
    Fertig!

    Da sich das Tutorial an Anfänger richtet, hier noch ein Hinweis zu einem Befehl, bei dem ich ins Stolpern kam.
    Unter Punkt 10.4 „Update von AdGuard Home installieren“ kommt man im Verlauf zur Befehlszeile

    sudo cp /tmp/AdGuardHome/AdGuardHome /home/pi/AdGuardHome/AdGuardHome

    Die funktioniert natürlich nur, wenn man als Benutzernamen auch tatsächlich „pi“ gewählt hat. Falls nicht, quitiert der Befehl mit einer Fehlermeldung. Deshalb muss er entsprechend angepasst werden wenn man von „pi“ abweicht. Zum Beispiel

    sudo cp /tmp/AdGuardHome/AdGuardHome /home/WonderWoman/AdGuardHome/AdGuardHome

    wenn man DC-Fan ist.

    Antworten
  3. Hi Riko und/oder Team,

    vielen Dank für die ausführliche Anleitung zu dem Projekt. Hatte eben das erste Mal einen Raspberry Pi in der Hand und mit der Anleitung hat es mir persönlich viel Spaß gemacht „was zum Laufen“ zu bringen. Also vielen Dank für die Mühe. (1 Problemchen gab es, aber das saß in meinem Arbeitszimmer wohl vor dem Bildschirm 😉

    Viele Grüße

    Antworten

Schreibe einen Kommentar