AdGuard Home, HomeAssistant, HAOS und Fritzbox / DNS Loop? Plötzlich 3-4x höhere CPU Auslastung

Freunde der Sonne,
Menschen die Netzwerk mehr verstehen als ich (was nicht sehr schwer ist vermutlich :smiley: ),

ich habe ein Problem beim Zusammenspiel von Homeassistant, AdGuard Home und meiner Fritzbox.
Generell ist es so eingerichtet (aber irgendwas passt da nicht), dass alle DNS Anfragen bei der Fritzbox ankommen sollen. Deshalb sind auch alle TCP und UDP Anfragen auf 53/853 im Router blockiert, nur für HomeAssistant (in meinem Fall: 192.168.128.81) nicht. Denn hier soll alles von AdGuard Home gemanaged werden.

Wochenlang läuft auch alles problemlos, Filter greifen, aber dann (meistens, aber nicht immer nach einem Neustart von Homeassistant oder dem Router) steigt auf einmal die durchschnittliche CPU von ~10% auf ~30/40%, der Load von ~0.8 auf ~2,5.
Kurzfristig hilft: DNS in der Fritzbox auf Intern zu stellen, und “ha dns restart”. Wenn ich dann aber im Router wieder die DNS Anfragen auf Homeassistant umleite, gehts wieder los.
Längerfristig hilft: Panisches paralleles unstrukturiertes Neustarten von Router und Homeassistant, irgendwannmal klappts :smiley:

Ich konnte es soweit einkreisen, dass ich beobachten kann, dass hassio_dns auf ~30-40% Auslastung schnellt.

In den DNS Logs kann ich sehen, dass in sehr hoher Schlagzahl (mehrere pro Sekunde) Nicht-Auflösungen reinkommen, wie z.B.
[INFO] 172.30.32.1:57826 - 31027 "PTR IN 27.128.168.192.in-addr.arpa. udp 45 false 512" NXDOMAIN qr,rd,ra 45 2.014023572s

Im Supervisor sehe ich mit ungefähr 10 Lines pro Minute, dass er nicht mit 172.30.32.1 verbinden kann, wie z.B.
2024-12-22 09:36:57.195 ERROR (MainThread) [supervisor.api.ingress] Ingress error: Cannot connect to host 172.30.32.1:64314 ssl:default [Connect call failed ('172.30.32.1', 64314)]

Das passiert schon lange immer mal wieder so. Dann ists aber wieder Monatelang gut, und dann kümmer ich mich auch nicht drum.
Ich vermute dass da irgendwie ein Loop ist, wobei mir nicht klar ist wo, und warum es dann nicht permanent so ist. Jetzt würde ich das jedenfalls gerne mal langfristig lösen.

Ich erlaube mir mal, alle meine Einstellungen (die, von denen ich vermute dass sie mit zum Problem beitragen) hier reinzuhacken:

Fritzbox:
DNS auf 192.168.128.81 (Raspberry Pi/HomeAssistant)
Alle Geräte Sperrliste TCP/UDP 53/853, nur 192.168.128.81 unbeschränkt
IPv6 Deaktviert

AdGuard Home:

Upstream DNS-Server:
  https://dns.google/dns-query
  tls://dns.google
  [/fritz.box/]192.168.128.1
Fallback-DNS-Server: -
Bootstrap-DNS-Server: 1.1.1.1:53
Private inverse DNS-Server: -
Private Reverse-DNS-Resolver: Aktiviert
Hostnamenauflösung der Clients: Aktiviert
DNSSEC: Aktiviert
IPv6: Deaktiviert
Sperrmodus: Standard
Gültigkeitsdauer der blockierten Antwort: 10

Homeassistant:

➜  ~ ha dns info   
fallback: true
host: 172.30.32.3
llmnr: true
locals:
- dns://192.168.128.81
mdns: true
servers: []
update_available: false
version: 2024.12.0
version_latest: 2024.12.0
System->Network:
IPv4: Automatic - DNS Server: 192.168.128.81
IPv6: Automatic, keine DNS Server
Homeassistant URL local Network: https://my.subdomain.de (Zeigt auf 192.168.128.81, Lets Encrypt SSL-Zertifikat)

Mein Ziel ist also:
In der FritzBox gebe ich an, dass alle DNS Anfragen (sowohl Internet als auch Heimnetz) zu AdGuard Home, als Addon in Homeassistant istalliert, gehen müssen. Damit sich da jedes Gerät dran hält, sind alle Anfragen auf 53/853 gesperrt.
Ich will es deswegen in der Fritzbox steuern, dass, falls der RPi mal ausfällt, ich über einen Klick, eine Einstellung auf Öffentliche DNS umstellen kann.

Könnt Ihr mir Tipps geben, wie ich mein beschriebenes Problem nachhaltig in den Griff kriegen kann?

Hui, das waren dann wohl zu viele und dedizierte Infos und Fragen :smiley:
Ich probiers mal mit ner knappen kurzen Frage:

Ich verdächtige den DNS Fallback von Homeassistant. Kann ich den gefahrlos deaktivieren?
Mein Setup ist dann so:

  • DHCP über den Router (Fritzbox), IP Adressen immer gleich zuweisen an HomeAssistant
  • DNS Server zeigt auf HomeAssistant (Internet und Heimnetz)
  • 853/53 sind auf allen Geräten, bis auf HomeAssistant gesperrt
  • AdguardHome beantwortet die DNS Anfragen

Im Fall eines Ausfalls bei Homeassistant will ich auf der Fritzbox einfach den DNS auf öffentliche umstellen, und dann können alle Geräte wieder normal ins Netz.

Wird das so klappen?
Ich hab einfach Sorge dass ich mich aus HomeAssistant aussperre, wenn ich diesen Fallback deaktiviere. Achja: Ich erreiche Homeassistant im Heimnetz über eine Subdomain, die ich auf die interne IP gestellt habe. Das SSL Zertifikat kommt über Lets Encrypt.

Ich hatte das Problem, wenn der Router das Internet verliert. Entweder durch einen Neustart oder durch einen DSL Leitungsfehler.
Ich hab dann das System komplett neugestartet. Nur HA oder Adgurd neu starten half nicht.
“ha dns restart” hab ich nicht probiert.

Ich hab jetzt in HA den Router als DNS fest vorgegeben.
Vorher hat HA den DNS (Adguard) über DHCP vom Router bekommen. Ich denke dadurch kann es zu einer Schleife kommen, wo HA nicht mehr raus kommt.
Jetzt macht HA DNS über den Router und alle anderen Clients im Netztwerk über Adguard.
Scheint erstmal zu funktionieren.

1 „Gefällt mir“

Hey, Danke! Hab mich schon gefreut:

aber das habe ich tatsächlich schon seit langem, und trotzdem die Probleme :expressionless: