Warum Cloudflare Tunnel für Proxmox?
Proxmox sollte niemals direkt im Internet exponiert werden – weder via Port-Weiterleitung noch via Reverse Proxy ohne zusätzliche Schutzschichten.
Cloudflare Tunnel + Zero Trust erlaubt einen sicheren Zugriff ohne offene Ports, inklusive:
- mTLS
- Identity Access (Google, GitHub, Azure AD, …)
- IP-Filtering
- Browser Isolated Sessions
1. Cloudflare Tunnel installieren (cloudflared)
Auf dem Proxmox-Host:
curl -fsSL https://pkg.cloudflare.com/cloudflared/install.sh | bash
apt install cloudflared
2. Cloudflare Tunnel erstellen
Auf einem beliebigen System mit Cloudflare CLI:
cloudflared tunnel create proxmox-tunnelDies erzeugt eine UUID.json im Cloudflare-Konto.
3. DNS-Eintrag automatisch erzeugen
cloudflared tunnel route dns proxmox-tunnel proxmox.example.com4. Tunnel-Konfiguration
/etc/cloudflared/config.yml
tunnel: proxmox-tunnel
credentials-file: /etc/cloudflared/UUID.json
ingress:
- hostname: proxmox.example.com
service: https://127.0.0.1:8006
originRequest:
originServerName: proxmox.example.com
- service: http_status:404
Wichtig: Proxmox verwendet selbstsignierte Zertifikate → originServerName erzwingt validierte TLS-Kommunikation.
5. Tunnel starten
systemctl enable --now cloudflared6. Zero Trust Policy konfigurieren
In Cloudflare Dashboard:
- Zero Trust → Access → Applications → Add Application
- Type: Self-hosted
- Domain: proxmox.example.com
- Policy: Allow + Identity Provider
Beispiel-Richtlinien
- Nutzer müssen Google/GitHub OIDC Login nutzen
- Nur Geräte mit Browser Isolation erlaubt
- Nur bestimmte Länder/IPs
- Nutzergruppen (Admin vs. Read-only)
7. Sicherheitstipps für Proxmox hinter Cloudflare Tunnel
- 2FA in Proxmox zusätzlich aktivieren
- SSH-Zugriff auf den Host nur via VPN / internes Netz
- ACME-Zertifikate in Proxmox nur intern nutzen
- Option „Trusted Proxies“ deaktivieren, da Tunnel TLS terminiert
- Proxmox Firewall: nur lokale Verbindungen erlauben
8. Troubleshooting
Proxmox UI lädt nicht komplett
Setze in der Cloudflare Access App:
Application Type: Self-hosted
Session Duration: 24h oder länger
HTTP Only: Off
Console funktioniert nicht
Der novnc Websocket muss korrekt getunnelt werden. Füge hinzu:
originRequest:
httpHostHeader: proxmox.example.com
connectTimeout: 15s
noTLSVerify: true
Tunnel startet nicht
journalctl -u cloudflared -fFazit
Mit Cloudflare Tunnel + Zero Trust erhält Proxmox eine extrem sichere, moderne und komfortable Remote-Zugriffslösung – ganz ohne Portfreigaben oder öffentlich erreichbare Dienste. Damit eignet es sich hervorragend für Homelabs, KMU und produktive Umgebungen.
Kommentare