Netzwerkanforderungen
{/* notion-sync: page_id=1df1928df74d80d6b4eec3ba8028c32c /} {/ Notion is the source of truth: https://app.notion.com/p/1df1928df74d80d6b4eec3ba8028c32c — re-sync from Notion before treating this file as authoritative. */}
Anforderungen bei der Installation eines Welotec (oder gleichwertigen IPC) im Kundennetzwerk für den Betrieb von Roasthubs:
- Eine statische IP-Adresse für den Linux-Host (damit die Instanz im lokalen Netzwerk erreichbar ist).
- Eingehender und ausgehender UDP- und TCP-Port 9993 (ZeroTier-VPN-Zugang zum Welotec).
- Eingehende und ausgehende UDP-Ports 443 und 7844 (Cloudflare-Tunnel).
Wir bevorzugen außerdem eine statische IP, damit der Tagesbetrieb nicht allein von einer externen Internetverbindung abhängt. Bitte reservieren Sie eine Adresse und teilen Sie sie Roasthubs vor der Installation mit.
Cloudflare-Tunnel (Kurzüberblick)
Tunnel werden unter Cloudflare Zero Trust → Networks → Tunnels verwaltet. Bevorzugen Sie die Erstellung des Tunnels mit dem Ansible-Playbook: Es erstellt den Tunnel, installiert Anmeldedaten, registriert den Dienst, aktiviert ihn beim Start und prüft, ob er läuft.
Externe / Kundendomains
Voraussetzungen:
- Ein laufender Tunnel.
- Ein proxied Cloudflare-CNAME, der auf den Tunnel zeigt (zum Beispiel
staging.roasthubs.com→<TUNNEL_ID>.cfargotunnel.com).
Ingress wird für den Tunnel konfiguriert (Dashboard bei remote verwalteten Tunneln, oder /etc/cloudflared/config.yml bei lokaler Verwaltung). Beispielstruktur:
tunnel: staging
credentials-file: /home/roasthubs/.cloudflared/<tunnel-id>.json
ingress:
- hostname: staging.roasthubs.com
service: http://127.0.0.1:80
- hostname: rhs.example.com
service: http://127.0.0.1:80
- service: http_status:404
Starten Sie den Tunnel-Dienst nach lokalen Konfigurationsänderungen neu, zum Beispiel:
sudo systemctl restart cloudflared-tunnel.service
Benutzerdefinierter Hostname auf einer Nicht-Cloudflare-Kundendomain
Die Client-Domain muss als Cloudflare Custom Hostname authentifiziert sein (Zertifikat von Cloudflare; Validierung per TXT). Stellen Sie dem Kunden bereit:
- Einen CNAME für seinen Hostnamen (zum Beispiel
rhs.customer.com) auf den von Roasthubs geproxyteten Hostnamen (nicht roh<TUNNEL_ID>.cfargotunnel.com). - Den Hostname pre-validation TXT-Namen und -Wert aus der Custom-Hostname-Oberfläche.
Sobald beide DNS-Einträge existieren, stellt Cloudflare das Zertifikat aus und die App ist unter dem Kundenhostnamen erreichbar.
Behalten Sie immer einen geproxyteten CNAME unter der Roasthubs-Cloudflare-Zone bei, der den Tunnel frontiert. Kunden nur auf
<TUNNEL_ID>.cfargotunnel.comzu verweisen wird nicht unterstützt.
Hinweise zum Netzwerkdesign
Gewünschte Zugriffsmuster:
- SSH zum IPC
- Datenbankzugriff auf dem IPC (möglichst nicht LAN-weit freigegeben; siehe Edge-Härtungsdokumentation)
- PLC-Netzwerkzugriff
- DNS zur Anwendung
Typisches PLC-Netzwerk: 10.18.0.0/24 mit 10.18.0.5 auf der Welotec-Schnittstelle (kann down sein). Bevorzugen Sie getrennte CIDR-Routen, um Kollisionen zu vermeiden, zum Beispiel:
10.18.0.0/24→ PLC-Netzwerk- eine dedizierte
/32→ IPC-Management-Schnittstelle - veröffentlichter Anwendungs-Hostname →
<subdomain>.roasthubs.com