Home Assitant Multicast Traffic an anderes Interface leiten.

BlueEclipse

New member
Hallo zusammen.

Ich habe bei mir aktuelle folgende Situation:
netzwerlkplan.png
Home Assistant läuft auf dem Server in Netzwerk B, und dieser Server ist mit einem OpenVPN Layer-2-Tunnel mit dem Router in Netzwerk A verbunden. Auf dem Router in Netzwerk A wird das tap0-Interface (das Interface, das von OpenVPN für die Verbindung genutzt wird) mit dem LAN- und WLAN-Interface (wlo1 und eth1-4) gebridget.

Jeglicher Multicast-Verkehr aus meinem Heimnetz wird also automatisch durch den VPN-Tunnel zum Server geleitet.

Auf dem Server laufen verschiedene Dienste, unter anderem Home Assistant.

Home Assistant verwendet auch Multicast (z. B. mDNS), um Geräte automatisch zu finden.

Home Assistant sendet jedoch wahrscheinlich seine gesamten Multicast-Anfragen an enp0s6 (und damit in ein Netzwerk, in dem niemand außer dem Server und dem Router ist).

Ich habe das Ganze zwar noch nicht mit WireGuard überprüft (ich weiß aktuell auch nicht, wie, da ich nicht weiß, wie ich Home Assistant dazu bringe, nach Geräten zu suchen), aber ich vermute es anhand dieser Einstellungen, die für die Integrationen gelten:
1732483631903.png

Was möchte ich erreichen?

Ich möchte Home Assistant dazu bringen, alle seine Multicast-Anfragen an tap0 zu senden und damit an Netzwerk A weiterzuleiten.

Bisher habe ich es bereits mit


Code:
sudo ip route add 224.0.0.0/4 dev tap0

Probiert und nach einem Neustart von Home Assistant wurden tatsächlich einige Geräte gefunden.

Das Einzige, was nicht funktioniert, ist die Shelly-Integration. Diese findet a) Shelly 1 Gen nicht automatisch und b) selbst wenn ich ihm die IP-Adresse gebe, bekomme ich nur die Meldung, dass die Verbindung fehlgeschlagen ist (Wireshark zeigt mir aber, dass auf jeden Fall Verkehr zwischen Home Assistant und Shelly stattfindet, sobald ich den „Hinzufügen“-Button tippe).

Ich habe im Home Assistant Community Forum gelesen, dass bei Shelly oft mDNS das Problem ist (was eigentlich wenig Sinn macht, weil mDNS zur automatischen Erkennung (Multicast) genutzt wird und ich Home Assistant die IP von Shelly gebe, also Unicast).

Es geht mir aber weniger um das Shelly-Problem (das löst sich vielleicht ja durch die Effizienzsteigerung von selbst), sondern eher darum, ob es eventuell eine effizientere Lösung als meine gibt.

Derzeit ist es ja so, dass ich quasi mit einer Route den gesamten Multicast-Traffic an tap0 umleite.

Das Ganze ist natürlich ein wenig ineffizient, da ich auch Multicast-Traffic umleite, der beispielsweise bewusst an andere Interfaces geht (obwohl es außer dem Server und dem Router in Netzwerk B keine weiteren Geräte gibt, also besonders viel Multicast-Traffic für Netzwerk B wird dort nicht stattfinden).

Eventuell ist es ja möglich, Home Assistant dazu zu bringen, selbstständig seinen Multicast-Verkehr an tap0 zu senden.

Oben im Bild (Bild 2) sieht man die Seite, wo man in Home Assistant einen Adapter für Multicast-Verkehr (zumindest für Integrationen) festlegen kann. Aber wenn ich dort den Haken rausnehme, kann ich leider nur das Interface enp0s6 auswählen. Ich schätze mal, Home Assistant listet dort nur physische Netzwerkinterfaces auf, und tap0 ist virtuell.

Wenn ich es also hinkriege, tap0 als physisches Interface darzustellen, wird es dort eventuell angezeigt.

Eine andere Möglichkeit wäre vielleicht, nur den Multicast-Traffic von der Home Assistant IP-Adresse (ja, was ist die überhaupt? Home Assistant Supervisor läuft in seinem eigenen Docker-Bridge-Netzwerk, kennt aber wahrscheinlich wegen des Supervisors die verbundenen Netzwerkinterfaces) nach tap0 weiterzuleiten.

Was habt ihr für Ideen/was haltet ihr von meinen Ideen?
 
Was habt ihr für Ideen/was haltet ihr von meinen Ideen?
Was ist das überhaupt für ein Tunnel, Site-to-Site, oder Roadwarrior? Wo terminiert der Tunnel auf der Server-Seite? Was läuft ggf. sonst noch auf dem Server (z.B. Virtualisierung via KVM)?

Ich bin von Natur aus faul und muss mir keine unnötige Arbeit aufhalsen, von daher wäre es bei mir vermutlich einfach ein Site-to-Site-Tunnel, welcher ggf. auch einfach auf einer virtualisierten Firewall terminiert (falls Hardware-technisch nix zur Verfügung steht). Irgendwas kostenloses, z.B. pfSense/OPNsense und dann macht man sich das restliche Leben halt einfach (unter einer OPNsense z.B. mittels entsprechendem Paket). HomeAssistant via Docker habe ich mir - nach erstmaliger Installation unter Docker - auch direkt wieder abgewöhnt (habe es aber auch nicht produktiv im Einsatz), aber so nach dem ersten Eindruck geht halt auch direkt nix über HAOS (dafür gibt es dann auch schon direkt fertige VM-Images).

Wenn Du halt eher Docker-Hardliner bist, da haben irgendwelche Leute bestimmt auch schon irgendwas an Images gebastelt (reine Vermutung, hab nicht nachgeschaut). Alternativ musst Du Dir halt selber entsprechende Dinge basteln (ob nun direkt auf der Kiste selbst, oder in Form eines selbst erstellten Docker-Images sei mal dahingestellt).
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
5.730
Beiträge
56.017
Mitglieder
5.632
Neuestes Mitglied
struggle
Zurück
Oben