ModBus TCP Proxy in Proxmox
Installation eines ModBus TCP Proxy in einem Proxmox LXC Container.LXC einrichten
Erstellen eines neuen LXC Containers. Button "Create CT".
| Hostname | beliebig | |
| Passwort | beliebig | |
| Template | alpine-3.23-default_20260116_amd64.tar.xz | oder höher bzw. entsprechend der verhandenen Hardware |
| Disc size | 0.1 GiB | |
| CPU Cores | 1 | |
| Memory | 32 MiB | für Update und Installation; kann im Betrieb auf 16 MiB reduziert werden |
| Swap | 32 MiB |
ModBus-Proxy installieren
Neuen LXC Container starten und Console öffnen.
apk update VM aktualisieren
apk upgrade
apk add python3 Python installieren
apk add py3-pip pip installieren
pip install modbus-proxy[yaml] --break-system-packages ModBus-Proxy installieren
apk upgrade
apk add python3 Python installieren
apk add py3-pip pip installieren
pip install modbus-proxy[yaml] --break-system-packages ModBus-Proxy installieren
ModBus-Proxy konfigurieren
ModBus-Proxy konfigurieren und automatisch starten.
Konfigurationsdatei erstellen:vi modbus-config.yml
devices:
- modbus:
url: 192.168.1.175:1502
listen:
bind: 0:1502
- modbus:
url: 192.168.1.176:502
listen:
bind: 0:502
- modbus:
url: 192.168.1.175:1502
listen:
bind: 0:1502
- modbus:
url: 192.168.1.176:502
listen:
bind: 0:502
Parameter entsprechend der lokalen Gegebenheiten anpassen.
Startscript erstellen:
vi /etc/local.d/modbus-proxy.start
#!/bin/sh
modbus-proxy -c /root/modbus-config.yml > /root/_modbus-proxy.log 2>&1 &
exit 0
modbus-proxy -c /root/modbus-config.yml > /root/_modbus-proxy.log 2>&1 &
exit 0
Das & am Ende der zweiten Zeile nicht vergessen, sonst bleibt der Container beim Booten hängen und man kann sich nicht mehr zur Console verbinden!
ModBus-Proxy automatisch starten:
chmod +x /etc/local.d/modbus-proxy.start Startscript ausführbar machen
rc-update add local default Startservice aktivieren
rc-update add local default Startservice aktivieren
Abschluss
Container neu starten.
Für den laufenden Betrieb sollten 16 MiB Memory ausreichen.
Links
GitHub tiagocoutinho/modbus-proxy