37 — Netzwerk-Migration: rpp1 → Standort A, Pi5 → VPN-Gateway
Status: Phase 1 ERLEDIGT, Phase 2-4 offen (Stand: 2026-03-30)
Ausgangslage
Das Netzwerk besteht aus drei Segmenten (Dreieck-Topologie):
VPS (178.104.125.96)
/ \
WireGuard OpenVPN
(Pi5↔VPS) (VPS→CK)
/ \
Home (178.x) ─────── CK-Netz (10.128.x)
OpenVPN
(Pi5→CK, seit Phase 1)
Heimnetz (192.168.178.0/24)
- FritzBox 7590 (.10) — Gateway, DS-Lite (kein eingehendes IPv4)
- Pi5 (.199) — Smart Home, 11 Docker-Container, WireGuard zu VPS
- rpp1 (.67) — ehemals OpenVPN-Gateway (jetzt inaktiv, bereit für Umbau)
- macOS (.72) / iPad — Clients, brauchen Zugriff auf SaltoServer
Nachbar-Netz (192.168.100.0/24)
- FritzBox 7590 (.1) — WireGuard-Verbindung zur Heim-FritzBox
- Verbindung über Powerline (LAN-auf-Strom)
- Sungrow Wechselrichter (PV-Anlage)
- Geplant: zweiter Mähroboter
- WLAN-Erweiterung für Grundstücksabdeckung
CK-Netz
- Standort A, Pferdebachstr. (10.128.40.0/24): XGS .1, SaltoServer .6, 5 APs
- Standort B, Ruhrstr. (10.128.30.0/24): XGS .1, 8 APs
- Site-to-Site VPN zwischen A und B
VPS sck-debian-nbg (178.104.125.96)
- Eigener OpenVPN-Tunnel ins CK-Netz (10.244.2.2)
- WireGuard zum Pi5 (10.100.0.1 ↔ 10.100.0.2)
- CK-Monitoring: Prometheus, Grafana, Loki, Alertmanager, etc.
Aktuelle Workarounds
- 3 SSH-Tunnel VPS → SaltoServer (SNMP :9116, Blackbox :9115, Salto-Proxy :18101)
- Syslog XGS-40 → SaltoServer (Windows) → VPS (Umweg)
- Syslog XGS-30 → rpp1 (Heimnetz!) → VPS (langer Weg)
Ziel
- rpp1 wird Standort-Probe am Standort A (10.128.40.10)
- Pi5 übernimmt OpenVPN-Gateway-Rolle für Home→CK
- SSH-Tunnel und Syslog-Relays werden vereinfacht
- Dritte Messperspektive: VPS (extern) / Pi5 (Home) / rpp1 (Standort)
Ziel-Topologie
Nachbar-Grundstück Internet
┌─────────────────┐ ┌─────────────────────┐
│ FritzBox 7590 │ │ VPS sck-debian-nbg │
│ 192.168.100.1 │ │ 178.104.125.96 │
│ Sungrow WR (PV) │ │ VPN: 10.244.2.2 │
│ (Mähroboter 2) │ │ WG: 10.100.0.1 │
└───────┬──────────┘ └──┬─────────┬───────┘
│ WireGuard WireGuard│ OpenVPN
│ (FB↔FB) (direkt) │ (vpn.creative-
│ + Powerline │ kirche.de)
┌───────┴──────────────────────────────────┐ │ │
│ Heimnetz 192.168.178.0/24 │ │ │
│ FritzBox 7590 (.10), DS-Lite │ │ │
│ │ │ │
│ Pi5 .199 ←──────── WireGuard ───────────┼─────┘ │
│ Smart Home (11 Container) │ │
│ WG: 10.100.0.2 │ │
│ OpenVPN-Client + NAT/MASQUERADE │ │
│ → Gateway für Home → CK-Netz │───OpenVPN────▶│
│ │ │
│ macOS .72 / iPad │ │
│ → Route 10.128.x via Pi5 (.199) │ │
└──────────────────────────────────────────┘ │
│
┌───────────────┴──────┐
│ CK-Netz │
│ │
│ 10.128.40.0/24 StdA │
│ XGS .1 │
│ SaltoServer .6 │
│ 5 WLAN APs │
│ rpp1 .10 │
│ node-exporter │
│ blackbox-exporter │
│ syslog-relay │
│ │
│ 10.128.30.0/24 StdB │
│ XGS .1, 8 WLAN APs │
│ (via Site-to-Site) │
└──────────────────────┘
Verbesserungen
| Vorher |
Nachher |
| SSH-Tunnel VPS→Salto:9116 (SNMP) |
rpp1 scrapt Salto SNMP lokal |
| SSH-Tunnel VPS→Salto:9115 (Blackbox) |
rpp1 blackbox-exporter direkt im LAN |
| SSH-Tunnel VPS→Salto:18101 (Salto-Proxy) |
rpp1 → Salto:8100 direkt |
| Syslog: XGS-40 → SaltoServer → VPS |
XGS-40 → rpp1 (10.128.40.10) → VPS |
| Syslog: XGS-30 → rpp1 (Heimnetz!) → VPS |
XGS-30 → Site-to-Site → rpp1 → VPS |
| Home→CK über separaten Pi1 (rpp1) |
Pi5 übernimmt (ein Gerät weniger daheim) |
| 2 Messperspektiven (VPS + Pi5) |
3 Perspektiven (VPS + Pi5 + rpp1 am Standort) |
Migrationsplan
Phase 1: Pi5 als VPN-Gateway vorbereiten — ERLEDIGT (2026-03-30)
| # |
Schritt |
Status |
| 1.1 |
OpenVPN-Client auf Pi5 mit Split-Tunnel (route-nopull + explizite Routen) |
✅ |
|
Config: /etc/openvpn/client/sck.conf, Credentials: /etc/openvpn/client/credentials |
|
|
Nur 10.128.20/30/40/50.0/24 + 10.244.2.0/24 über tun0, Rest unverändert |
|
| 1.2 |
ip_forward war schon aktiv (Docker), NAT/MASQUERADE + FORWARD für tun0 |
✅ |
|
iptables persistent in /etc/iptables/rules.v4 |
|
| 1.3 |
Test: Pi5 → Salto ✓, Pi5 → XGS-40 ✓, Pi5 → XGS-30 ✓ |
✅ |
|
WireGuard, Docker, Pi-hole weiterhin funktionsfähig (Split-Tunnel verifiziert) |
|
| 1.4 |
FritzBox: 4 statische Routen (20/30/40/50) auf .199 (Pi5) umgestellt |
✅ |
| 1.5 |
Mac → Salto per SSH + Safari getestet und funktioniert |
✅ |
| 1.6 |
rpp1 OpenVPN disabled + gestoppt, openvpn-client@sck auf Pi5 enabled |
✅ |
|
Syslog-Relay war schon seit 28.03. inaktiv — kein neues Problem |
|
Hinweis: Prometheus scrapt rpp1 node-exporter über Pi5-DNAT (WG→Pi5:9101→rpp1:9100).
Dieses Target fällt aus wenn rpp1 umzieht — wird in Phase 3 auf 10.128.40.10:9100 umgestellt.
Phase 2: rpp1 für Standort A vorbereiten — ERLEDIGT (2026-03-30)
| # |
Schritt |
Status |
| 2.1 |
Kein Neuaufsetzen nötig — Raspbian Trixie aktuell, System sauber |
✅ |
| 2.2 |
NM-Profil "Standort-A": 10.128.40.10/24, GW .1, DNS .1 (aktiv bei nächstem Boot) |
✅ |
|
Altes DHCP-Profil auf autoconnect=no gesetzt |
|
| 2.3 |
Alte Services deaktiviert (OpenVPN, syslog-relay) |
✅ |
| 2.4 |
node-exporter (:9100) — lief bereits (v1.9.0) |
✅ |
| 2.5 |
blackbox-exporter (:9115) — v0.25.0 armv6, nativ, systemd |
✅ |
|
Config: /etc/blackbox.yml (http_2xx, icmp, tcp_connect) |
|
| 2.6 |
snmp-exporter (:9116) — v0.26.0 armv6, nativ, systemd |
✅ |
| 2.7 |
rsyslog: UDP 1514 empfangen, lokal /var/log/sophos/xgs.log |
✅ |
|
Weiterleitung an VPS 178.104.125.96 TCP 5514 (queue mit Puffer) |
|
IP-Wahl: 10.128.40.10 (verifiziert frei, Infrastruktur-Bereich neben .1 XGS, .6 Salto, .7 Server)
Bekannte Belegung 40er-Netz: .1 XGS, .6 SaltoServer (VM), .7 Win-Server (Host),
.31-.33/.37/.43 APs, .68/.86 Synology NAS, .153 Grandstream HT802, DHCP ab ~.68
Phase 3: Aufstellen + Umschalten
| # |
Schritt |
Risiko |
| 3.1 |
rpp1 am Standort A aufstellen (LAN + Strom im Keller) |
— |
| 3.2 |
Konnektivität testen: VPS → 10.128.40.10 (über OpenVPN) |
— |
| 3.3 |
Prometheus: neue Scrape-Targets (rpp1:9100, :9115, :9116) |
gering |
| 3.4 |
Syslog auf XGS-40 umstellen → Ziel: 10.128.40.10 |
gering |
| 3.5 |
Syslog auf XGS-30 umstellen → Ziel: 10.128.40.10 (über S2S) |
gering |
| 3.6 |
SSH-Tunnel auf VPS abbauen (erst wenn rpp1-Exporter verifiziert!) |
mittel |
| 3.7 |
Grafana-Dashboards anpassen (neue Job-Labels, Standort-Panel) |
gering |
| 3.8 |
Alerting-Regeln prüfen/anpassen |
gering |
Phase 4: Aufräumen
| # |
Schritt |
| 4.1 |
Alte SSH-Tunnel-Configs auf VPS entfernen |
| 4.2 |
Salto-Metrics-Proxy Container prüfen (noch nötig?) |
| 4.3 |
~/.ssh/config auf allen Systemen anpassen |
| 4.4 |
Dokumentation aktualisieren (diese Datei, CLAUDE.md) |
| 4.5 |
Alte rpp1-Configs sichern/dokumentieren |
Geklärte Fragen (2026-03-30)
- [x] OpenVPN-Zertifikat: Benutzergebunden (CN: ankn_B3CB1EF9C5D3, keine IP/Hostname-Bindung).
Config + Credentials von rpp1 auf Pi5 kopieren = funktioniert. Nur ein Client gleichzeitig.
Service:
openvpn-client@sck.service, Config: /etc/openvpn/client/sck.conf
- [x] Strom + LAN am Standort A: Vorhanden, bestätigt.
- [x] Pi1 ohne Docker: ARMv6, 427 MB RAM, Raspbian Trixie. Kein Docker, aber
node_exporter, blackbox_exporter, snmp_exporter alle als linux-armv6 Binary verfügbar.
RAM reicht (~30 MB für alle drei).
- [ ] Sophos XGS Firewall-Regeln: Wahrscheinlich keine Änderung nötig (rpp1 im selben
Segment wie XGS/Salto/APs). Verifizieren beim Aufstellen.
- [ ] Switch/Port am Standort A: Noch klären — freier Port an XGS oder separater Switch?
- [ ] SD-Karte/Netzteil rpp1: Zustand prüfen vor Dauerinstallation am Standort.
Nicht ändern
- WireGuard FritzBox↔Nachbar (192.168.178.x ↔ 192.168.100.x) — funktioniert, PV/Solar
- VPS eigener OpenVPN-Tunnel ins CK-Netz — richtig so, unabhängig vom Heimnetz
- WireGuard VPS↔Pi5 — einziger Weg ins Heimnetz wegen DS-Lite
- Site-to-Site VPN zwischen Standort A und B — Sophos-verwaltet