Optimierte Einstellungen für AdGuard in Kombination mit einer Fritz!Box und IPv6

Für ein werbefreies Netzwerk setze ich AdGuard ein. Innerhalb von Home Assistant nutze ich AdGuard als Addon. Alternativ kann man AdGuard auch auf einem Synology NAS installieren.

Grundsätzlich ist es eine feine Sache, wenn man seine DNS-Einstellungen im Netzwerk anpasst, um Werbung und Tracker zu filtern. Jedoch birgt dies auch die Gefahr mit sich, dass das Internet eventuell träger wird oder sogar komplett ausfällt. DNS spielt eben eine sehr wichtige Rolle im Internet. Genau dieser Fall ist bei mir eingetreten. Da ich von zu Hause aus arbeite und ich das Internet für meine Arbeit benötige, fällt es sehr schnell auf, wenn das Aufbauen von Verbindungen länger als normal dauert oder es kommt gar keine Verbindung zustande.

Kurz zum Setup: Auf einem Raspberry Pi läuft Home Assistant und AdGuard als Addon. In der Fritz!Box ist als DNS-Server die IP-Adresse des Raspberry Pis angegeben. Jedes Gerät im Netzwerk nutzt die Fritz!Box als DNS-Server. Diese leitet die Anfragen an den Raspberry Pi mit AdGuard weiter. Somit kennt AdGuard nur die Fritz!Box als Client. Die Einstellungen für den DNS-Server findest du unter Internet > Zugangsdaten > DNS-Server.

Begrenzung der DNS-Anfragen

In den Einstellungen von AdGuard ist jedoch ein Limit für die DNS-Anfragen hinterlegt (Einstellungen > DNS-Einstellungen > DNS-Serverkonfiguration). Ein Client darf mit der Standardeinstellung nur 20 Anfragen pro Sekunde stellen. Da alle Anfragen von der Fritz!Box kommen, kann es an der Stelle schon mal eng werden.

Da AdGuard nur im privaten Netzwerk genutzt wird und die Anfragen alle über die Fritz!Box kommen, sollten die Anfragen natürlich nicht limitiert werden. Somit habe ich das Limit entfernt.

IPv6

AdGuard listet die IP-Adressen unter Einrichtungsassistent auf, die als DNS-Server genutzt werden können. Neben der IPv4-Adresse des Raspberry Pis werden auch die IPv6-Adressen aufgelistet.

Leitet man die DNS-Anfragen über die Fritz!Box, muss auch eine IPv6-Adresse eingetragen werden. Im Vergleich zu IPv4 können Geräte mehrere IPv6-Adressen haben. Neben der öffentlichen IPv6-Adresse werden einem Gerät auch lokale Adressen zugeteilt. Die öffentliche IPv6-Adresse sollte man nicht verwenden, da diese den Prefix enthält, den man vom Provider zugewiesen bekommt. Dieser Prefix ist jedoch nicht statisch, somit ändert sich auch die IPv6-Adresse. Bekommt man vom Provider einen neuen Prefix zugewiesen, dann bekommt der Raspberry Pi auch eine neue IPv6-Adresse zugewiesen. Die hinterlegte Adresse in der Fritz!Box ist dann nicht mehr gültig.

Damit die Fritz!Box statische IPv6-Adressen zuverlässig zuweist, muss eine Option aktiviert werden. Diese Einstellung hat man auch recht gut versteckt: Heimnetzwerk > Netzwerk > Netzwerkeinstellungen > weitere Einstellungen > IPv6-Konfiguration

Im Abschnitt Unique Local Addresses muss die Option Unique Local Addresses (ULA) immer zuweisen aktiviert werden. Anschließend bekommt der Raspberry Pi immer eine statische IPv6-Adresse zugewiesen, die mit fd00:: anfängt. Diese wird auch in AdGuard angezeigt.

Upstream-DNS-Server

Ein weiterer Vorteil von AdGuard ist die Möglichkeit mehrere Upstream-DNS-Server zu hinterlegen. Bei einer Anfrage kann AdGuard die DNS-Server z.B. parallel abfragen, um ein schnelleres Ergebnis zu liefern. Die Art und Weise wie die DNS-Server angefragt werden, kann auch in den Einstellungen hinterlegt werden. Aktuell nutze ich die Einstellung Lastverteilung.

Bei der Auswahl der DNS-Server habe ich mich nach den Empfehlungen von Kuketz IT-Security gerichtet.

https://dns.quad9.net/dns-query
tls://dns2.digitalcourage.de
tls://fdns1.dismail.de
tls://dnsforge.de

DNS-Sperrliste

Falls du noch ein bisschen Inspiration für Filterlisten brauchst, nachfolgend die Listen, die aktuell bei mir aktiv sind:

AdGuard DNS filter: https://adguardteam.github.io/AdGuardSDNSFilter/Filters/filter.txt
AdAway: https://adaway.org/hosts.txt
hpHosts - Ad and Tracking servers only: https://hosts-file.net/ad_servers.txt
MalwareDomainList.com Hosts List: https://www.malwaredomainlist.com/hostslist/hosts.txt
EasyList: https://easylist.to/easylist/easylist.txt
EasyList Germany: https://easylist.to/easylistgermany/easylistgermany.txt
StevenBlack: https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
EasyPrivacy: https://easylist.to/easylist/easyprivacy.txt

Fazit

Nach dem Optimieren der Einstellungen in AdGuard und der Fritz!Box, läuft der AdBlocker im Netzwerk sehr viel besser und es kommt nicht mehr zu langen Ladezeiten.

Gerade die Begrenzung der Anfragen in AdGuard finde ich keine schöne Standard-Einstellung. Man muss nur mal eine große Website öffnen, die externe Dienste eingebunden hat, da kommen schon einige DNS-Anfragen zusammen. Der DNS-Server im eigenen Netzwerk soll an der Stelle natürlich nicht der Flaschenhals sein.

Falls du auch AdGuard und eine Fritz!Box im Einsatz hast, überprüfe doch mal deine Einstellung und passe diese eventuell an, damit die DNS-Anfragen in deinem Netzwerk stabil laufen.