November 21, 20241 yr Moin Ich habe derzeit eine getunnelte Verbindung via Wireguard zu einem Server im Netz wo pfsense drauf läuft um einige meiner Docker Container z.b nextcloud und eigene Webseite. Ich habe bisher einfach die Schnittstelle im Docker Einstellungen von Brige auf die Wireguard verbindung geändert, funktioniert auch alles wie soll. Jetzt möchte ich das gleiche mit meiner VM wo homeassistant drauf läuft genau so machen aber leider kann ich da in der Verbindung Schnittstelle nicht den Wireguard tunnel auswählen. Gibt's da eine Möglichkeiten das so ähnlich hinzubekommen ?
November 21, 20241 yr Mit VMs, schwierig(er). Denke mal dass das sehr möglich ist, aber da müsst ich mich durch die Konfiguration wühlen. Das einfachste wären, wenn man Wireguard selbst auf der VM installiert, ansonsten könnte man auch das hier versuchen. https://github.com/bigmoby/addon-wireguard-client hab aber selber keine Ahnung von dem ganzen Homeassistant kram. Bei dem Addon ist aber eventuell das Problem dass das komplette routen von Traffic nicht "simpel" mit 0.0.0.0/0 zu funktionieren scheint. Edited November 21, 20241 yr by Mainfrezzer
November 21, 20241 yr Author 10 minutes ago, Mainfrezzer said: Das einfachste wäre, wenn man Wireguard selbst auf der VM installiert Was wäre da der Ansatz das umzusetzen?
November 21, 20241 yr Solution Ich hab mich jetzt mal mit Homeassistant beschäftigt, was eine Folter. Die Unraid-Variante ist einfacher einmal die .xml irgendwo, am besten unter /tmp erstellen. <network> <name>virtbr10</name> <bridge name="virbr10"/> <forward mode="nat" dev="wg0"/> <ip address="10.0.20.1" netmask="255.255.255.0"> <dhcp> <range start="10.0.20.2" end="10.0.20.254"/> </dhcp> </ip> </network> (kann natürlich und eventuell muss abgeändert werden damit das Wireguard-Interface für Dockercontainer, bei mir wg0, stimmt) virsh net-define PFAD/ZUR/XML virsh net-start virtbr10 virsh net-autostart virtbr10 Dann hat man unter der VM die Auswahlmöglichkeit virbr10 zu nehmen, welches die VPN Verbindung ist. EDIT: Ganz vergessen. In der Go-Datei oder sonstwo muss dann noch ip route add default dev wg0 table 100 ip rule add prio 100 iif virbr10 table 100 Eingebracht werden, sonst hat das Interface keine Verbindung. Edited November 21, 20241 yr by Mainfrezzer
November 22, 20241 yr Author 18 hours ago, Mainfrezzer said: Ich hab mich jetzt mal mit Homeassistant beschäftigt, was eine Folter. Die Unraid-Variante ist einfacher einmal die .xml irgendwo, am besten unter /tmp erstellen. <network> <name>virtbr10</name> <bridge name="virbr10"/> <forward mode="nat" dev="wg0"/> <ip address="10.0.20.1" netmask="255.255.255.0"> <dhcp> <range start="10.0.20.2" end="10.0.20.254"/> </dhcp> </ip> </network> (kann natürlich und eventuell muss abgeändert werden damit das Wireguard-Interface für Dockercontainer, bei mir wg0, stimmt) virsh net-define PFAD/ZUR/XML virsh net-start virtbr10 virsh net-autostart virtbr10 Dann hat man unter der VM die Auswahlmöglichkeit virbr10 zu nehmen, welches die VPN Verbindung ist. EDIT: Ganz vergessen. In der Go-Datei oder sonstwo muss dann noch ip route add default dev wg0 table 100 ip rule add prio 100 iif virbr10 table 100 Eingebracht werden, sonst hat das Interface keine Verbindung. Ich danke dir erstmal vom Herzen 💞 das du dich da so zur Späten Stunde noch gekümmert hattest. Hab jetzt den Oberen Teil fertig bis zu deine Edit. Muss ich dann Unraid neustarten? Bisher war da keine neue Schnitstelle zu finden. Jetzt zu deim Edit da bin ich jetzt nicht schual draus geworden was du da genau mit meinst wo das hin soll.
November 22, 20241 yr 37 minutes ago, Irokiller said: Hab jetzt den Oberen Teil fertig bis zu deine Edit. Muss ich dann Unraid neustarten? Bisher war da keine neue Schnitstelle zu finden. Das sollte eigentlich sofort auftauchen. Sollte auch reichen indem wenn man den VM Dienst neustartet ip route add default dev wg0 table 100 ip rule add prio 100 iif virbr10 table 100 das muss im Terminal ausgeführt werden und halt jedes mal wenn der Server neu startet. Man kanns auch in die Wireguard config schreiben. Einzige Problem dabei ist, dass Wireguard vor dem Array startet und da könnt der dann meckern dass das Interface halt nicht existiert. Edit: Das folgende sollte in der Go-file ausreichen, falls nicht, die Zeit von Sleep höher setzen. (sleep 30; ip route add default dev wg0 table 100; ip rule add prio 100 iif virbr10 table 100 ) & Edited November 22, 20241 yr by Mainfrezzer
November 22, 20241 yr Author 1 hour ago, Mainfrezzer said: ip route add default dev wg0 table 100 ip rule add prio 100 iif virbr10 table 100 das muss im Terminal ausgeführt werden und halt jedes mal wenn der Server neu startet. Man kanns auch in die Wireguard config schreiben. Einzige Problem dabei ist, dass Wireguard vor dem Array startet und da könnt der dann meckern dass das Interface halt nicht existiert. Das könnte man ja theoretisch über ein Cronjob regeln. Jetzt hab ich da mal kurz geschaut und bin auf das Plugin https://forums.unraid.net/topic/48286-plugin-ca-user-scripts/ User Scripts gestoßen wo man das Ja theoretisch mit der auswahl (Beim erstem Array-Start) oder (Beim Start des Arrays) das anwenden könnte. Wohin meintest ja es reicht nach dem neustart vom Server muss das einmalig jewals ausgeführt werden, da würde ja das Beim erstem Array-Start ausreichen, ansonst würde er bei Beim Start des Arrays immer wieder ausführen da weiß ich nicht wie kontraproduktiv das ist. 20 hours ago, Mainfrezzer said: <network> <name>virtbr10</name> <bridge name="virbr10"/> <forward mode="nat" dev="wg0"/> <ip address="10.0.20.1" netmask="255.255.255.0"> <dhcp> <range start="10.0.20.2" end="10.0.20.254"/> </dhcp> </ip> </network> (kann natürlich und eventuell muss abgeändert werden damit das Wireguard-Interface für Dockercontainer, bei mir wg0, stimmt) Ich hatte da jetzt nur die wg0 Schnitstelle angepasst. Muss ich die IP Adresse an den Tunnel anpassen z.b bei mir läuft der Tunnel unter Tunnel Netzwerk: 10.100.2.0 Eingehende Tunnel 10.100.2.1 Ausgehend Tunnel 10.100.2.2 und weißt du zufällig wie ich dan herrausfinde welsche IP dan die VM hat mit Homeassistant läuft ?
November 22, 20241 yr "Lokal" also alles was auf der virbr10 läuft, hat die IPs von der DHCP-Range von der Konfigurationsdatei. Irgendwas im 10.0.20.2-254 Bereich, alles andere, hat was auch immer die Wireguard IP von dem Wireguard-Interface für Dockercontainer ist.
November 23, 20241 yr Author ich habe jetzt versucht um eine Verbindung zur VM aufzubauen leider ohne erfolg. Ich habe die IPs versucht über die Pfsense anzupingen um herrauszufinden unter welscher IP ich Homeassistant erreichen kann. Meine Docker Container hab ich durch anpingen erreicht ohne probleme. Ich habe die Peer-Zugriffs-Typ von nur Dockercontainer auf das ganze Systeam geändert und den DHCP Rage verringert auf 10.0.20.10. Beim Starten der VM zeigt Homeassistant immer ein Faild wenn die 1:31 vorbei sind beim Network Manager Script Dispatcher Edit: Das mit dem Network Manager Script Dispatcher konnte ich lösen in Homeassistant stand die IP zuweisung auf Statisch hatte jetzt auf Automatisch geändert und zack stand dann auch im Startscreen die IP IPv4 mit der 10.0.20.6/24. Jetzt komme ich trozdem nicht weiter weil die Pfsense die 10.0.2.6 nicht finden tut Edited November 23, 20241 yr by Irokiller
November 28, 20241 yr Author Hat zufällig jemand tip wie ich das hinbekomme das Subnetz von Unraid mit der 10.0.20.0/24 durch den Wireguard Tunnel zu der Pfsense zu bekommen? Bisher weiß ich das unter den Erlaubte Peer-IPs in den Wireguard Config theoretisch die 10.0.20.0 eintragen müsste damit der tunnel weiß welsche IPs er durchlassen soll und auf der pfsense das theoretisch das gleiche damit pfsense weiß das sie auch daten über das Netz zurückschicken kann. Aber irgendwie komm ich da nicht weiter. Andere schrieben man könnte z.b in meinen Fall mit der Fritzbox ein subnetz erstellen das dan irgendwie auf unraid zeigt um den trafic darüber zu leiten aber damit bin ich überhaupt nicht weiter gekommen.
November 28, 20241 yr Der eingehende Traffik wird automatisch geblockt beim Nat-Betrieb. Wenns tatsächlich um 1 Gerät geht, dann wäre das Plugin wohl vom Anfang doch sinnvoll, eventuell auch einfach den HA Container, was definitiv stressfreier wäre^^. @SimonFdo you happen to know which iptables rules block the incoming traffic to VMs over a nat-bridged interface? Currently its setup to use a custom virtbridge, thats routed though a wireguard interface for docker container. Outgoing works, well as it should, the issue is the returnpath to the virtual machine. Since its a homeassistant vm, which apparently is an excellent recreation of hell, youre out of luck getting anything properly installed within the vm Edited November 28, 20241 yr by Mainfrezzer
November 28, 20241 yr 35 minutes ago, Mainfrezzer said: Der eingehende Traffik wird automatisch geblockt beim Nat-Betrieb. Wenns tatsächlich um 1 Gerät geht, dann wäre das Plugin wohl vom Anfang doch sinnvoll, eventuell auch einfach den HA Container, was definitiv stressfreier wäre^^. @SimonFdo you happen to know which iptables rules block the incoming traffic to VMs over a nat-bridged interface? Currently its setup to use a custom virtbridge, thats routed though a wireguard interface for docker container. Outgoing works, well as it should, the issue is the returnpath to the virtual machine. Since its a homeassistant vm, which apparently is an excellent recreation of hell, youre out of luck getting anything properly installed within the vm tate RELATED,ESTABLISHED 0 0 REJECT all -- * virbr0 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable Chain LIBVIRT_FWO (1 references) pkts bytes target prot opt in out source destination 0 0 ACCEPT all -- virbr0 * 192.168.122.0/24 0.0.0.0/0 0 0 REJECT all -- virbr0 * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable Chain LIBVIRT_FWX (1 references) pkts bytes target prot opt in out source destination 0 0 ACCEPT all -- virbr0 virbr0 0.0.0.0/0 0.0.0.0/0 Chain LIBVIRT_INP (1 references) pkts bytes target prot opt in out source destination 0 0 ACCEPT udp -- virbr0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:53 0 0 ACCEPT tcp -- virbr0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:53 0 0 ACCEPT udp -- virbr0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:67 0 0 ACCEPT tcp -- virbr0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:67 Chain LIBVIRT_OUT (1 references) pkts bytes target prot opt in out source destination 0 0 ACCEPT udp -- * virbr0 0.0.0.0/0 0.0.0.0/0 udp dpt:53 0 0 ACCEPT tcp -- * virbr0 0.0.0.0/0 0.0.0.0/0 tcp dpt:53 0 0 ACCEPT udp -- * virbr0 0.0.0.0/0 0.0.0.0/0 udp dpt:68 0 0 ACCEPT tcp -- * virbr0 0.0.0.0/0 0.0.0.0/0 tcp dpt:68 These are the IP tables but they are created by libvirt.
November 29, 20241 yr Author 7 hours ago, Mainfrezzer said: Der eingehende Traffik wird automatisch geblockt beim Nat-Betrieb. Wenns tatsächlich um 1 Gerät geht, dann wäre das Plugin wohl vom Anfang doch sinnvoll, eventuell auch einfach den HA Container, was definitiv stressfreier wäre^^. Das Problem an der Homeassistant Version die man über Docker Container bekommen hat nur eine begrenzte Funktionalität, das volle Potenzial hat Homeassistant nur in der Supervisor Version die für Docker nicht gibt. Ich weiß nicht ob tatsächlich nur bei 1 Gerät in Zukunft bleiben wird, hab mir zumindest gedachte ich bekomme das erstmal so hin das ein Geräte funktioniert bevor ich mit noch weiteren anfangen. Ich weiß ja nicht ob das helfen würde für die VM auch ein extra tunnel zu machen damit vielleicht weniger Konflikte gibt?
November 29, 20241 yr 2 minutes ago, Irokiller said: hat nur eine begrenzte Funktionalität, das volle Potenzial hat Homeassistant nur in der Supervisor Version die für Docker nicht gibt. und welche davon benötigst du ? rein interessehalber ... und die supervised version ist ja auch nur eine VM wo HA als docker drin läuft und zusätzliche docker von dem supervisor docker verwaltet werden ... usw usw ... was man auch im Bedarfsfall selbst abbilden kann ... Beispiel hier, HA Docker, zigbee2mqtt, mqtt, nodered, ps52mqtt... als separate Docker, HA inkl. HACS für die Standard addons und co ... Editor ... da gibt es genug und dafür brauche ich sicherlich keinen HA Editor ... daher wirklich nur rein interessehalber, was brauchst du aus der HA Supervisor Edition
November 29, 20241 yr Author 1 hour ago, alturismo said: und welche davon benötigst du ? rein interessehalber ... und die supervised version ist ja auch nur eine VM wo HA als docker drin läuft und zusätzliche docker von dem supervisor docker verwaltet werden ... usw usw ... was man auch im Bedarfsfall selbst abbilden kann ... Beispiel hier, HA Docker, zigbee2mqtt, mqtt, nodered, ps52mqtt... als separate Docker, HA inkl. HACS für die Standard addons und co ... Editor ... da gibt es genug und dafür brauche ich sicherlich keinen HA Editor ... daher wirklich nur rein interessehalber, was brauchst du aus der HA Supervisor Edition Entweder hatte ich damals irgendwo ein Denkfehler, aber vor ca 2 Jahren wo ich mit HA angefangen hatte hieß es damit man HACS installieren kann braucht man die HA Supervisor Edition. Und zigbee2mqtt und mqtt laufen derzeit so auf separaten docker auf Unraid
November 29, 20241 yr 4 minutes ago, Irokiller said: Entweder hatte ich damals irgendwo ein Denkfehler, aber vor ca 2 Jahren wo ich mit HA angefangen hatte hieß es damit man HACS installieren kann braucht man die HA Supervisor Edition. Und zigbee2mqtt und mqtt laufen derzeit so auf separaten docker auf Unraid HACS ist nicht das Thema um die normalen Dinge zu implementieren ... gibt es bei der lsio Version mit einem Eintrag auch bereits schon länger ... addons (was separate Docker in einer HA VM supervised ... sind) ... sind da anders aufzusetzen, beispielsweise mqtt, zigbee2mqtt ... halt als separate Docker und dann nur die Connectors in HA ergänzen, was du bereits machst das geht natürlich alles auch mit der Docker Edition ... nodered, ps52mqtt wären jetzt hier Beispiele ... wenn man die in HA integrieren will, braucht es auch etwas "Lesen" und schauen wie ... aber es geht vieles auch so, egal, hatte mich nur interessiert was es denn gibt was tatsächlich nur so in der "großen" Edition geht.
November 29, 20241 yr Author 21 minutes ago, alturismo said: HACS ist nicht das Thema um die normalen Dinge zu implementieren ... gibt es bei der lsio Version mit einem Eintrag auch bereits schon länger ... addons (was separate Docker in einer HA VM supervised ... sind) ... sind da anders aufzusetzen, beispielsweise mqtt, zigbee2mqtt ... halt als separate Docker und dann nur die Connectors in HA ergänzen, was du bereits machst das geht natürlich alles auch mit der Docker Edition ... nodered, ps52mqtt wären jetzt hier Beispiele ... wenn man die in HA integrieren will, braucht es auch etwas "Lesen" und schauen wie ... aber es geht vieles auch so, egal, hatte mich nur interessiert was es denn gibt was tatsächlich nur so in der "großen" Edition geht. Hab halt die Befürchtung wenn ich in Zukunft noch mehr machen möchte und mit HA das ich dann an die Grenzen des machbaren komme mit der Docker Version um dann wieder auf die Version von der VM umsteigen muss und dann wieder vor dem gleichen Problem stehe.
November 30, 20241 yr Ich habs jetzt mal versucht mit libvirt zu realisieren, aber da steig ich noch nicht durch. Funktionieren wird es wenn man iptables -D LIBVIRT_FWI -o virbr10 -j REJECT --reject-with icmp-port-unreachable in Unraid ausführt. Das müsste man aber dann halt an Events knüpfen. Ich weiß jetzt nicht wann libvirt die Regeln neusetzt. Edited November 30, 20241 yr by Mainfrezzer Ich verwirrte mich selbst mit dem Namendreher, ahhhh
November 30, 20241 yr Author Ich hatte es tatsächlich hinbekommen das ich von der pfsense das Netzwerk 10.0.20.1 anzupingen aber die VM selber nicht direkt. Von der VM selber konnte ich das Netzwerk der Pfsense und auch das Internet mit der 1.1.1.1 Nachdem ich jetzt den Befehl den du geschrieben hast ausgeführt habe hat sich das Problem mit dem ping von der Pfsense zur HA auch erledigt. Also theoretisch kommunizieren sie jetzt miteinander nur komme ich nicht weiter auf die Oberfläche. Das müsste aber theoretisch an der Pfsense liegen. 4 hours ago, Mainfrezzer said: Ich habs jetzt mal versucht mit libvirt zu realisieren, aber da steig ich noch nicht durch. Funktionieren wird es wenn man iptables -D LIBVIRT_FWI -o virbr10 -j REJECT --reject-with icmp-port-unreachable in Unraid ausführt. Das müsste man aber dann halt an Events knüpfen. Ich weiß jetzt nicht wann libvirt die Regeln neusetzt. Wie meinst du das mit an Events knüpfen ? Edit: Ich glaube das liegt vielleicht daran das die Pfsense die Pings von der VM nicht über das Subnetzt 10.0.20.0 bekommt sondern von dem Wireguard Tunnel IP eingeht Edited November 30, 20241 yr by Irokiller
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.