Forum: PC Hard- und Software Rpi Lan/Wlan0 Gateway


von M. M. (maik3)


Lesenswert?

Moin,

folgende Situation: ein Wechselrichter macht einen Wifi AP auf und 
bietet auf Port 6607 eine Modbus/TCP-Schnittstelle an.
Logge ich meinen Laptop in das Wifi des Wechselrichters klappt alles 
soweit und ich kann per Python-Skript und Modbus-Library die Daten des 
WR auslesen.

Jetzt ist es natürlich doof dass der Laptop zum Auslesen ins Wifi des WR 
muss.
Komfortabler wäre es, der WR wäre im normalen Haus-Netzwerk.
Dazu braucht es aber Zusatzhardware, die ist noch nicht vorhanden.

Als temporäre Lösung wollte ich einen Rpi nutzen um als Bridge, Gateway, 
oder wie immer man das nennen mag zu fungieren.

Rpi wird am LAN-Port mit dem Switch im Keller verbunden, über seine 
Wifi-Schnittstelle loggt er sich am AP des WR ein.

Nun muss ich den Rpi aber noch irgendwie dazu bringen den Traffic vom 
LAN-Port an eine bestimmte IP am WLAN-Port zu routen und die Response 
des WR dann wieder korrekt zurück.

Hausnetz (=LAN-Port des Rpi): 192.168.0.0/24

IP des WR in seinem Wifi: 192.168.200.1/24

Wie gehe ich das am besten an?

von Frank K. (fchk)


Lesenswert?

Einfachste Lösung: Installiere Dir mittels apt das Paket rinetd.

In die rinetd.conf schreibst Du:
0.0.0.0 6607 192.168.200.1 6607

systemctl restart rinetd

Wenn Du Dich dann mit Port 6607 auf Deinem Pi verbindest, landet das 
beim rinetd, und der macht eine weitere Verbindung von sich zum WR auf 
und reicht die Daten dann durch. Funktioniert einfach so, ohne dass Du 
was mit Routing und Forwarding etc machen musst.

https://wiki.ubuntuusers.de/rinetd/

fchk

von Stefan P. (form)


Lesenswert?

Auf dem Raspi das Forwarding aktivieren mit:
echo 1 > /proc/sys/net/ipv4/ip_forward
oder
sysctl -w net.ipv4.ip_forward=1
oder dauerhaft via Eintrag in der
/etc/sysctl.conf

Und dann brauchst Du auf dem Laptop (oder alternativ zentral auf deinem 
Heimrouter) noch einen statischen Routing Eintrag, der für das Ziel 
192.168.200.1/32 als Gateway die IP-Adresse des Raspi setzt.

Alternativ ohne das alles:
Auf dem Laptop einen SSH-Client zum Raspi laufen lassen, mit aktivierter 
Forward-Funktion innerhalb SSH.

von M. M. (maik3)


Lesenswert?

Frank K. schrieb:
> Einfachste Lösung: Installiere Dir mittels apt das Paket rinetd.

Danke.
Works like a charm.

Genau das was ich gesucht habe und wesentlich einfacher als die Lösungen 
mit iptables usw.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.