LXCCU über einen WLAN Stick am Raspberry Pi betreiben.

Fragen, Support etc.

Moderator: Co-Administratoren

Antworten
Moses1989
Beiträge: 1
Registriert: 23.02.2016, 21:05

LXCCU über einen WLAN Stick am Raspberry Pi betreiben.

Beitrag von Moses1989 » 24.02.2016, 08:27

Hallo zusammen,
Da es bei mir wegen fehlender Kabel nicht anders möglich ist, muss ich meinen LXCCU Pi über Wlan betreiben.
Da ich keine Anleitung oder Konzept gefunden habe, wie man das umsetzen könnte, habe ich mich mit einem Kumpel selbst ans Werk gemacht.
Die Lösung ist vielleicht nicht die schnellste, beste oder eleganteste, aber bei mir funktioniert sie gut.

Die Ursache für die Probleme mit der LXCCU im Wlan liegt an dem Netzwerk Setup des lxc
containers. Dessen Netzwerkinterface wird über eine bridge (lxccubr0) mit der Netzwerkkarte (eth0) verbunden, damit er sich dort eine eigene IP Adresse über DHCP beziehen kann.
Im Gegensatz zum Kabelnetzwerk scheitern mehrere MAC Adressen pro interface meistens an Treiber, Netzwerksetup, Wifi Security oder dem AccessPoint.

Der Plan: Wir entfernen das physikalische Interface aus der bridge und lassen die LXCCU darin alleine. Sie bekommt eine Static IP und ist dann von Pi selbst aus erreichbar. Anschließend forwarden wir Port 80 vom physikalischen interface (in meinem Fall wlan0 / 192.168.0.5) über die bridge auf Port 80 der LXCCU (unten konfiguriert als 192.168.10.2).

Falls also jemand vor dem gleichen Problem steht wie ich, vielleicht hilft es einem:

1. Routing
Zunächst aktivieren wir forwarding auf dem pi, damit er zwischen dem Heimnetz und dem kleinen Virtuellen Netz an der bridge routet:
Dazu in der /etc/sysctl.conf folgende Zeile auskommentieren:

Code: Alles auswählen

net.ipv4.ip_forward = 1
Außerdem aktivieren wir masquerade auf unserem physikalischen interface. In meinem Fall wlan0. Ich mache das in der rc.local - könnte man beispielsweise auch per upscript machen.
In der Datei /etc/rc.local vor dem exit folgendes einfügen:

Code: Alles auswählen

iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
2. Netzwerkkonfiguration PI
Die vom lxccu beim Installieren angelegte Netzwerkkonfiguration ändern wir entsprechend unseres Planes ab. Die bridge bekommt eine Fest-IP (über die der PI mit dem CCU container sprechen kann). Außerdem entfernen wir das wlan interface aus der bridge denn wir wissen ja, dass das nur Stress macht.
/etc/networking/interfaces

Code: Alles auswählen

auto lxccubr0
iface lxccubr0 inet static
        address 192.168.10.1
        netmask 255.255.255.0
        bridge_ports none
2. Netzwerkkonfiguration LXCCU
Wir passen die Netzwerkkonfiguration vom CCU container an. Da sie keinen DHCP server erreichen kann (in der bridge gibt es keinen) gibt es ebenfalls eine Fest-Ip.
Die Einstellung kann man per WebInterface vornehmen oder aber, weil man dort ja nicht so einfach rankommt, einfach in den Konfigurationsdateien des Containers umstellen.

In der Datei: /var/lib/lxc/lxccu/root/usr/local/etc/config/netconfig die Zeilen MODE, IP, NETMASK, GATEWAY und NAMESERVER1 anpassen.

Code: Alles auswählen

HOSTNAME=homematic-ccu2
MODE=MANUAL
CURRENT_IP=192.168.10.2
CURRENT_NETMASK=255.255.255.0
CURRENT_GATEWAY=192.168.10.1
CURRENT_NAMESERVER1=192.168.10.1
CURRENT_NAMESERVER2=0.0.0.0
IP=192.168.10.2
NETMASK=255.255.255.0
GATEWAY=192.168.10.1
NAMESERVER1=192.168.0.1
NAMESERVER2=0.0.0.0
CRYPT=0
Als NAMESERVER1 können wir unseren Heimnetz-Router festlegen, da der Raspberry die Anfragen routen wird.

3. Port forwarding einrichten
Jetzt müssen als letztes noch iptables-Regeln für alle LXCCU Ports, die wir benötigen eingerichtet werden. Exemplarisch hier Port 80:

Wie oben mache ich das in der rc.local auch wenn es vielleicht bessere Wege gibt.
In der Datei /etc/rc.local vor dem exit folgendes einfügen:

Code: Alles auswählen

iptables -t nat -A PREROUTING -p tcp -i wlan0 --dport 80 -j DNAT --to-destination 192.168.10.2:80
Falls euer physikalisches Interface nicht wlan0 ist muss der Befehl entsprechend angepasst werden.

Jetzt einen Reboot durchführen, und eure LXCCU sollte nun auch über WLAN über die IP des Pis über Port 80 aus eurem privaten Netzwerk erreichbar sein. 8)

wonderland
Beiträge: 1
Registriert: 15.01.2017, 21:56

Re: LXCCU über einen WLAN Stick am Raspberry Pi betreiben.

Beitrag von wonderland » 15.01.2017, 22:01

Uralter Beitrag, aber hat trotzdem ein dickes Dankeschön verdient :-)

Hat bei mir mit Raspberry 3 + YAHM genauso auch prima funktioniert und er steht jetzt ohne LAN-Kabel dort wo er eigentlich auch hin sollte.
(Bridge heisst dann natürlich nicht lxccubr0 sondern yahmbr0 und der /var/lib-Pfad ist auch entsprechend anders).

..- Wonderland

sacki
Beiträge: 1
Registriert: 09.12.2017, 23:35

Re: LXCCU über einen WLAN Stick am Raspberry Pi betreiben.

Beitrag von sacki » 09.12.2017, 23:42

Hallo, von mir aus auch ein Dickes Danke. Stand total auf dem Schlauch, der Wald und die Bäume :) natürlich wieso nicht über IP tables. :D Dickes Danke kommt wenn ich mich an die Lightify Geschichte mache. Immerhin liegen diese jetzt in 2 getrennten Subnetzen

Antworten

Zurück zu „Allgemeines zur OCCU“