Inhaltsverzeichnis
Was ist AdGuard Home?
Vielen Leuten ist das Projekt Pi-hole ein Begriff. Damit verbunden wird primär das Blockieren von Werbung für Produkte oder iOS oder Android InApp Werbung, . Und zwar für alle Geräte, die den Server, auf dem die Software läuft, als DNS-Server nutzen.
Ein vergleichsweise relativ unbekanntes Projekt ist AdGuard Home. Die technische Architektur ist die gleiche wie bei Pi-hole. Der Mehrwert liegt meines Erachtens an dem expliziten Familienschutzfilter, keine wesentlichen Abhängigkeiten zu anderen Paketen und der Möglichkeit, für definierte Geräte einen anderen Upstream-DNS einzurichten. Zusätzlich existiert das Webinterface in Deutsch und vielen anderen Sprachen – das ist zwar kein K.O.-Kriterium, trotzdem fühlt man sich etwas mehr „zu Hause“. Blocklisten, die in Pi-hole verwendet wurden, können genau so in AdGuard weiter verwendet werden.
Installation
Voraussetzung
AdGuard Home ist ebenso vielseitig wie Pi-hole und kann auf fast allen Linux-Systemen und Virtualisierungen installiert werden. Genaue Spezifikationen kannst du hier nachlesen. Als Basis nutze ich einen Proxmox-Container mit Debian, 500 MB zugewiesenem RAM und einem Prozessor-Kern sowie einer Festplattenkapazität von 1 GB. Außerdem solltest du deinem Container/System eine feste IPv4- und IPv6-Adresse zuweisen:
Native Installation
Logge dich auf deinem Host-System ein und installiere AdGuard Home mittels folgendem Befehl:
curl -sSL https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh
Weitere Installationsmöglichkeiten, insbesondere die Installation auf Docker, findest du unter github.com/AdguardTeam/AdGuardHome
Eintellungen am Router
Damit die gesamten Anfragen jedoch über AdGuard Home geschickt und gefiltert werden, müssen am Router noch die Einstellungen für die externen DNS-Server geändert werden. In meinem Fall ist eine Fritz!Box der Router. Der Router bleibt in dieser Konstellation der DHCP-Server und ist für die interne DNS-Auflösung (z.B. fritz.box) zuständig, nur die externen DNS-Abfragen sollen über AdGuard laufen. Dazu loggst du dich auf deinem Router ein und gehst dort zu „Internet → Zugangsdaten → DNS-Server“:
Dort trägst du die statische IPv4 Heimnetzadresse sowie die Linklocal IPv6 Adresse des AdGuard-Servers ein. Bei der Fritz!Box sotte man jeweils beide Felder benutzen, sonst meckert sie beim Abspeichern. Achtung: Trägt man hier als alternativen DNS-Server eine öffentliche IP ein, so kann es sehr gut sein, dass die Fritz!Box den Alternativeintrag nutzt und somit die gewünschte Filterung umgeht – dadurch wird dann keine Werbung blockiert.
OPTIONAL: Zuweisung des AdGaurd-Servers als DHCP-Server
Damit der Router alle Geräteanfragen mit IP an den AdGuard-Server weiterreicht, muss – zumindest in der FRITZ!Box – die IP-Adresse des Servers unter „Heimnetz → Netzwerk → Netzwerkeinstellungen IPv4-Einstellungen“ als lokaler DNS-Server eingetragen werden:
Webinterface und Einrichtung
Nach erfolgreicher Installation erreichst du deinen AdGuard Home-Server und den Einrichtungsassistenten unter folgenden IP-Adressen:
http://127.0.0.1:3000
bei lokaler Installation oder
http://X.X.X.X:3000
bei Remote-Installation auf deinem Host-System
Die Einrichtung mit dem Assistenten ist aus meiner Sicht selbsterklärend, weshalb ich an dieser Stelle nicht weiter darauf eingehe.
Allgemeine Einstellungen
Unter Einstellungen Allgemeine Einstellungen kannst du ein paar grundlegende Dinge einstellen, wie zum Beispiel das Aktualisierungsintervall der Listen, allgemeiner Kinderschutz, Safe-Search-Forcierung und Protokollierung. Hierzu sei gesagt, dass diese Einstellungen (außer Protokollierung) später auch per Device eingerichtet werden können. Dazu komme ich weiter unten aber noch:
DNS-Einstellungen
Unter Einstellungen DNS-Einstellungen lassen sich generelle DNS-Upstream-Server einstellen. Wenn diese verschlüsselt sein sollen, trägst du hier einfach die HTTPS- oder TLS-Varianten der Server ein. Zusätzlich kannst du wählen, in welcher Reihenfolge die Einträge berücksichtigt werden sollen (Last, parallel, schnellste):
Hier findest du einige DNS-Server und deren Adressen.
Im Abschnitt Konfiguration des DNS-Zwischenspeicher empfehle ich bei TTL-Höchstwert und TTL-Minimalwert den Eintrag 10
, wodurch Änderungen an Listen und DNS-Einträgen maximal 10 Sekunden im Cache gehalten werden.
Client-Einstellungen und Kindersschutz
Du kannst eine Kindersicherung für bestimmte Geräte bzw. Gerätegruppen einrichten, Internetdienste wie Netflix, Chat-Netzwerke etc. sperren oder gezielt für hier hinterlegte Geräte einen anderen DNS-Upstream einrichten. Dafür wählst du unter Einstellungen Client-Einstellungen aus und fügst in der oberen Ansicht einen Client hinzu und kannst wie unten in den Screenshots zu sehen, entsprechende Einstellungen vornehmen:
Als Bezeichner
kannst du mit +
mehrere IP-Adressen hinterlegen und somit eine Gerätegruppe erstellen.
Filter
Blacklists
Unter Filter DNS-Sperrlisten kannst du, wie vielleicht von Pi-hole gewohnt, Blocklisten zum Blockieren der Werbung hinterlegen. Eine gute Auswahl findest du auf der Seite firebog.net:
Whitelists
Zum Hinzufügen von Whitelists navigierst du zu DNS-Freigabelisten. Dort kannst du generelle Freigabelisten hinzufügen. Ich nutze dafür folgende Liste: https://raw.githubusercontent.com/hg1978/AdGuard-Home-Whitelist/master/whitelist.txt
Benutzerdefinierte Filterregeln
Möchtest du für einzelne Domains eigene Freigabe- oder Sperrregeln erstellen, kannst du dies unter Benutzerdefinierte Filterregeln machen:
Beispiele:
||example.org^
– blockiert den Zugang zur Domain example.org und all ihren Subdomains
@@||example.org^
– entblockt den Zugang zur Domain example.org und all ihren Subdomains
127.0.0.1 example.org
– AdGuard Home wird jetzt die Adresse 127.0.0.1 für die Domain example.org zurückgeben (aber nicht für die Subdomains).
/REGEX/
– Zugriff auf die Domains sperren, die dem example_regex_meaning entsprechen
DNS-Umscheibungen
Unter diesem Punkt ist es möglich, Adressen wie zum Beispiel fritz.box
einzurichten und umzuleiten:
Zusätzlich könntest du deine AdGuard Home-Installation über adguard.local
erreichbar machen. Beachte, dass Weiterleitungen immer auf Port 80 geroutet werden. Eine Anfrage an einen anderen Port müsste dann also so aussehen: beispiel.local:12345
Anfragenprotokoll
Unter Anfragenprotokoll sieht man die Anfragen, welche bisher gemacht wurden. Rot unterlegte Anfragen sind geblockte Anfragen. Wenn eine Anwendung nicht mehr (richtig) funktioniert, einfach schauen welche Domainnamen zu Zeitpunkt der Nutzung der Anwendung aufgerufen werden, diese dann durch Anklicken einzeln entblocken und anschließend testen, ob wieder alles funktioniert.
13 Kommentare
KommentierenIst vielleicht mal ein Versuch Wert
Sehr guter und interessanter Bericht. Ich nutze seit einigen Jahren Pihole und war bis dato recht zufrieden. Vor allem, weil der Pihole in Zusammenarbeit mit Pivpn auch im mobilen Netz sehr gut funktioniert.
Nun meine Frage: Wie muss der Agguard Home konfiguriert werden um genau das zu erreichen?
Das kann ich nicht genau beantworten, vermute aber, es geht mit piVPN genau so, da das ja nur eine Zusatzsoftware ist.
Hallo,
klasse Anleitung. Aber warum unter Netzwerkeinstellungen nur die IPV4 auf Adguard umbiegen? Müsste das nicht Analog auch mit der IPV6 gemacht werden. Und welche nehme ich, da es zwei IPV6 Adressen gibt. Einmal beginnend mit „fd00“ und beginnend mit „2001“
Danke für den interessanten Artikel. Ich habe mal eine Testinstallation auf meinem Dietpi-Raspi vorgenommen. Die Einstellungen des DNS Servers in der FritzBox unter den Punkt „Internet → Zugangsdaten → DNS-Server“ habe ich mal die IP Werte angegeben. Daraufhin waren Internetseiten nicht mehr erreichbar und es kamen im Browser nur noch Fehlermeldungen/Fehlerseiten. Muss dann noch etwas in der Fritzbox eingestellt werden?
Beim optionalen Punkt, steht DNS anstatt DHCP
Meines Wissens muss der DNS Server unter:
Heimnetz/Netzwerk/Netzwerkeinstellungen/IP-Adressen/IPv4-Konfiguration/Heimnetz
eingerichtet werden. so hatte ich es für den pi.hole gemacht. Werde Adguard nochmal testen, war bisher immer wieder bei pihole gelandet.
Das ist richtig.
Trägt man in der FritzBox bei den Normalen DNS Server die IP von AdGuard Home ein, hat man das Problem das wenn AdGuard Home Down ist (weil VM ausgeschaltet etc.) man gar keine Verbindung mehr hat.
Weil die Fritte ja dann versucht über AdGuard zu Resolven was nicht geht weil nicht erreichbar und dann geht gar nichts mehr.
Daher sollte man in der FritzBox bei den Normalen DNS Einstellungen einfach die Standard DNS Server lassen oder Cloudflare etc. nutzen (als Fall-Back Server) und nur per:
Heimnetz/Netzwerk/Netzwerkeinstellungen/IP-Adressen/IPv4-Einstellungen/Heimnetz/Lokaler DNS-Server
Heimnetz/Netzwerk/Netzwerkeinstellungen/IP-Adressen/IPv6-Einstellungen/DNSv6-Server im Heimnetz
/Lokaler DNSv6-Server
Die AdGuard DNS IP Eintragen. Das sind die Einstellungen für das Router Advertisement die den Geräten mitteilen welche DNS Server verwendet werden soll. Standard ist hier die IP der FritzBox hinterlegt da diese ja als DNS Server genutzt werden soll, wir wollen ja aber AdGuard Home also tragen wir dort die AdGuard IP ein und die FritzBox teilt das den Geräten mit.
Der Vorteil ist: Wenn AdGuard Home mal ausfällt, funktioniert trotzdem alles weiterhin, es wird dann nur eben der normale FritzBox DNS Server verwendet (in meinem Fall Cloudflare).
Hallo Max,
ich hab alles wie hier beschrieben eingestellt und du du sagtest in der FB eingestellt.. aber in die adguard Einstellungen sehe ich 0 „Blocks“ Das kann doch nicht sein, oder ?
Meine Vermutung ist das die FB sagt „Meine Haupteinstellungen sind schneller als die im Heimnetz also nehme ich die und ignoriere die aus dem Heimnetz“
Kann das sein ?
Gruß Jan
Klappt das auch mit Apple Private Delay?
Moin, war der AdGuard zu diesem Zeitpunkt „noch“ Kostenlos?
Für mich sah es eben doch so aus als müsste ich eine Lizenz (für 3 oder 9 Geräte) kaufen die entweder monatlich abgerechnet wird oder ich „Lebenslang“ kaufen kann.
Ansonsten netter Bericht, mich Interessiert vor allem die Kinderschutzfunktion.
Unter https://adguard.com/de/adguard-home/overview.html bzw. https://github.com/AdguardTeam/AdGuardHome#getting-started kannst du AdGaurd auf einem Raspberry o.Ä. in deinem lokalen Netzwerk kostenfrei installieren.
Hallo,
gibt es eine Möglichkeit die Einstellungen von AdGuard zu exportieren, ich habe diese Option nicht gefunden. Habe ich diese übersehen oder gibt es derzeit keine Exportfunktion?
lg
Markus