DNS Namensauflösung mit OPNsense, Adguardhome im Heimnetz

Hallo zusammen.

In dem Thread vor ein paar Tagen hatte ich ja ein vermeintlich defektes Home Assistant, welches aber am Ende daran lag, dass ich DNS-Änderungen am Heimnetzwerk gemacht hatte.
(Link: Hilfe benötigt -- Home Assistant komplett kaputt)

Ich möchte hier nochmal separat und explizit auf das Thema Namensauflösung eingehen, um das besser zu verstehen.

Altes Setup:

  • Unbound (in der OPNsense) war der DNS-Server für alle Clients, und der hat alles an Adguardhome weitergeleitet. Das lief anderthalb Jahre ohne Probleme.

Neues Setup:

  • Ich habe AGH nun als Addon in der OPNsense eingerichtet statt separatem LXC Container.
  • AGH ist den Clients zugewiesen als DNS
  • AGH leitet an Unbound weiter

Dieses Setup funktioniert ebenfalls für Handy, Laptop etc.
Aber Home Assistant scheint ein paar Schwierigkeiten zu haben, deren Ursache mir noch nicht 100% klar ist. Da ich sonst keine Änderungen gemacht habe, vermute ich die Fehlerquelle aber auch wieder im Bereich Netzwerk.

Was ich beobachtet habe:

  1. Popups (neues Widget hinzufügen zum Dashboard, oder auf Sensor klicken für Details, …) werden nicht angezeigt. Deaktiviere ich die Filter in AGH, dann funktioniert das UI sehr schnell.
  2. Das Laden von Sensor-Daten ist sehr träge. Gleiches Spiel hier: AGH deaktiveren, HA ist super schnell.
  3. Home Assistant startet langsam, und ein Neustart der VM schafft es nicht bis zu einem fertigen UI. Es bleibt auf der Konsole hängen.

Ich habe nun mal die folgenden beiden Custom Regeln zu AGH hinzugefügt und muss nun beobachten, ob das Abhilfe bringt:

# Internes Netzwerk nur aus IPv4 auflösen
@@||*.zurhorst.baerl^client='192.168.0.0/16',dnstype=A
# Home Assistant hat gar keine Sperrung
@@||*^$client='192.168.20.102'$important

Ich hoffe so, das sämtliche internen Namen (homeassistant.zurhorst.baerl, database.zurhorst.baerl, pve1.zurhorst.baerl, wasserzaehler.zurhorst.baerl, …) so direkt und ungefiltert weitergeleitet werden an Unbound.

An welcher Stelle (oder Stellen) sollten denn Hostnamen spezifiziert sein?
– Ich habe für HA, Datenbank-Server, die ESP32s etc überall feste IPs vergeben in OPNsense. (static Eintrag im DHCPv4 Modul)

Gleichzeitig habe ich aber auch “wichtige” IPs nochmal zusätzlich in den /etc/hosts drin. (z.B. PVE hat da drin die Hosts für PBS, Opnsense etc. drin stehen).

Wie habt ihr das Zusammenspiel zwischen AGH und Unbound gelöst im Bezug auf fests IPs und Auflösung von internen Namen?

Danke & Grüße,
Marcus

Hallo Markus,

mein Setup sieht wie folgt aus:

  • Opnsense mit Unbound macht alles
  • Adguard läuft auf meinem Proxmox hinter der Opnsense im LXC
  • somit können beide den Port 53 nutzen und der Client merkt nix
  • Unbound der Opnsense ist als Upstream im Adguard eingetragen
  • ich habe ein Alias (HOST Adressen) in der Opnsense über die Server angelegt, welche NICHT über Adguard gehen sollen
  • dann legst du in den Interface oder im NAT, müsste ich nochmal schauen, die Regeln an: zum Beispiel → DNS = Adguard → wenn Alias Server DNS = Firewall

So habe ich es seit fast 2 Jahren problemlos laufen. Die IPs die Opnsense behalten soll, habe ich im Dienst DHCP bei Opnsense mit hinterlegt.

Was ich aber als Problem habe, ist, dass wenn ich ein Update/Upgrade der Opnsense machen, HA im VLAN dann “verreckt”. Die CPU Last der VM geht auf 25% hoch und die HA GUI kann dann nur schwer erreichen. Lösung (recht simpel):

Home Assistant während eines Updates der Opnsense herunterfahren und danach wieder starten. Dann habe ich gar keine Probleme.

Ich schicke dir mal meine Konfig vom AdGuard ( auf der OPNSense ):

Upstream-DNS-Server

[/local/]127.0.0.1:53053
[/meine.domain/]127.0.0.1:53053
[/0.10.in-addr.arpa/]127.0.0.1:53053
127.0.0.1:53053
[::1]:53053

Private inverse DNS-Server

127.0.0.1:53053
[::1]:53053

und die von Unbound ( auf der OPNSense ), das funktioniert problemlos seit 2 Jahren und auch mit HA zusammen.
Die OPNSense läuft bei mir auf eigener Hardware, also nix Proxmox etx.

Feste IP sind bei mir alle als DHCP-Reservation der OPNSense, auf den Clients selber haben ich nichts eingetragen.

Danke euch. Meine Config schaut ja gleich aus.
Am Ende geht ja beides: AGH vor oder hinter Unbound.

Ich habe es nun umgebaut, so dass AGH davor kommt, und das lasse ich erst mal so. Ich hoffe nur, dass sich die Probleme ausmerzen lassen.

Ich mache nun nochmal einen kompletten Neustart der VM von Home Assistant. Dann kann ich mal exakt beobachten, wo es nun akut klemmt.

Edit:
Der Restart der VM ging sehr schnell, und das HA GUI ist komplett geladen. Meine Custom Regeln für AGH scheinen zu funktionieren. :+1:

Was mir aber auffällt:
HA fragt bei AGH sowohl IPv4 als auch IPv6 beim DNS an, wenn es den Datenbank-Server erreichen möchte. Woran könnte das liegen?