Raspberry-Pi-Tunnel-Setup
Cloudflare Tunnel auf dem Raspberry Pi für einen dauerhaften Home-Server
Nutze diesen Guide, wenn ein Raspberry Pi oder kleiner Mini-PC cloudflared dauerhaft für einen echten Hostnamen online halten soll. Er zeigt Setup, systemd, Sicherheitschecks und wann GhostlyShare oder die ghs CLI der leichtere Weg ist.
Das Ziel ist ein stabiler ausgehender Connector, keine magische Anonymität. Besucher brauchen keinen Router-Zugriff, aber Cloudflare, deine Accounts und deine eigenen Betriebsgewohnheiten bleiben wichtig.
Ein Raspberry Pi ist sinnvoll, wenn ein Tunnel Laptop-Ruhezustand, Desktop-Abmeldung und normale tägliche Arbeit überstehen soll. GhostlyShare kann ebenfalls zu dauerhaften Shares passen, wenn du den App- oder CLI-Workflow manuellen Service-Dateien vorziehst.
Inhaltsverzeichnis
Kurz gesagt: Nutze einen Raspberry Pi, wenn der Tunnel online bleiben muss
Ein Raspberry Pi ist ein guter Cloudflare-Tunnel-Connector, wenn Website, Dashboard, Webhook-Endpunkt oder Lab-Dienst erreichbar bleiben sollen, ohne von deinem täglichen Laptop abhängig zu sein. Er ist aber nicht die einzige dauerhafte Option; GhostlyShare kann ebenfalls der einfachere Tunnel-Workflow sein.
| Bedarf | Verwenden | Warum |
|---|---|---|
| Dauerhafter Hostname für einen Home-Dienst | Cloudflare Tunnel auf dem Raspberry Pi | Der Pi kann dauerhaft online bleiben, sauber neu starten und cloudflared als Linux-Dienst ausführen. |
| Preview, Webhook-Callback oder verwalteter Share | GhostlyShare | GhostlyShare hält den Tunnel-Workflow in App oder CLI. Das kann einfacher sein, als cloudflared-Konfiguration manuell zu pflegen. |
| Produktive App mit stärkerer Isolation | VPS oder Managed Hosting | Ein öffentlicher Server lässt sich meist leichter überwachen, sichern und vom Heimnetz trennen. |
Die einfache Architektur: Besucher, Cloudflare, Pi, lokaler Dienst
Cloudflare Tunnel hält die Origin-Seite ausgehend. Der Raspberry Pi öffnet Connector-Verbindungen zu Cloudflare, und Cloudflare ordnet deinen öffentlichen Hostnamen einem lokalen Dienst wie localhost:3000 oder einer LAN-Adresse zu.
Der Besucher erreicht deinen öffentlichen Hostnamen und Cloudflares Edge, nicht einen Router-Port an deinem Heimanschluss.
Cloudflare betreibt den öffentlichen Edge, die DNS-Zone, die Tunnel-Zuordnung und den Request-Pfad für den Hostnamen.
cloudflared läuft auf dem Pi und hält ausgehende Connector-Sessions zu Cloudflare offen.
Die eigentliche App kann auf localhost, einem anderen Port oder einem LAN-Host liegen, den der Pi erreichen kann.
Behandle das nicht als Privacy-Wand gegen jede Partei. Es verhindert vor allem, dass Besucher und zufällige Scans deinen Heimrouter erreichen oder den Origin direkt erkennen.
Bereite den Raspberry Pi vor, bevor du cloudflared installierst
Die meisten kaputten Tunnel-Setups entstehen nicht durch Cloudflare. Sie kommen von instabiler Hardware, wechselnden lokalen Dienstadressen oder einer Config-Datei, die der Service-User nicht lesen kann.
Starte mit Raspberry Pi OS oder Debian, spiele Updates ein und bevorzuge 64-Bit, wenn das Gerät es unterstützt.
Gib dem Pi einen verlässlichen Netzwerkpfad, am besten per Ethernet oder mit DHCP-Reservierung, wenn der Dienst LAN-Hosts erreichen muss.
Stelle sicher, dass die App lokal funktioniert, bevor Cloudflare, DNS oder systemd ins Spiel kommen.
Lege Admin-Oberflächen nicht versehentlich offen. Setze private Tools hinter Cloudflare Access oder halte sie lokal.
Hardware-Tipp: Nimm ein Raspberry-Pi-5-Kit, nicht nur das nackte Board
Für einen Tunnel-Connector ist ein Raspberry-Pi-5-Kit meist die sicherere Wahl als ein einzelnes Board. Du brauchst Board, ein stabiles USB-C-Netzteil, Kühlung oder Gehäuselüfter und Speicher, dem du vertraust, bevor du zufällige Abbrüche Cloudflare zuschreibst.

Raspberry-Pi-5-Kit für einen kleinen Cloudflare-Tunnel-Home-Server
Suche nach einem Raspberry-Pi-5-Kit mit zuverlässigem USB-C-Netzteil, Kühlung, Gehäuse und Speicher. 4 GB reichen für cloudflared; 8 GB geben mehr Luft, wenn auf dem Pi auch die App läuft.
Bevorzuge das offizielle Raspberry Pi 27W USB-C-Netzteil oder ein gleichwertiges 5V/5A-Netzteil und lass die Kühlung nicht weg. Schwache Stromversorgung und Hitze können wie Tunnel-Instabilität wirken, obwohl die cloudflared-Config stimmt.
Cloudflare-Tunnel-Runbook für den Raspberry Pi
Nutze das Cloudflare-Dashboard oder die offiziellen Docs für den aktuellen Paketbefehl deiner Pi-Architektur. Sieh die Befehle unten als sichere Reihenfolge, nicht als Garantie, dass Paket-URLs nie wechseln.
Schritt 1: Pi aktualisieren und Architektur prüfen
Installiere zuerst Updates und prüfe dann die Architektur, damit du den passenden cloudflared-Paketbefehl von Cloudflare kopierst.
sudo apt update
sudo apt upgrade -y
dpkg --print-architectureSchritt 2: cloudflared mit dem aktuellen offiziellen Befehl installieren
Nutze das Cloudflare-Dashboard oder die Docs für den aktuellen Linux-Befehl, der zu deiner Architektur passt. Prüfe die Binary nach der Installation.
# Paste the current official Cloudflare install command for your Pi here.
cloudflared --versionSchritt 3: authentifizieren und benannten Tunnel erstellen
Autorisiere die Cloudflare-Zone, erstelle einen benannten Tunnel und kopiere die Tunnel-UUID aus der Ausgabe.
cloudflared tunnel login
cloudflared tunnel create home-piSchritt 4: eine explizite config.yml schreiben
Ersetze Tunnel-UUID, Hostnamen, lokalen Dienst und Credentials-Pfad, bevor du es startest. Die Fallback-Regel sollte zuletzt bleiben.
mkdir -p ~/.cloudflared
nano ~/.cloudflared/config.ymltunnel: <tunnel-uuid>
credentials-file: /home/pi/.cloudflared/<tunnel-uuid>.json
ingress:
- hostname: app.example.com
service: http://localhost:3000
- service: http_status:404Schritt 5: validieren, DNS route setzen und im Vordergrund starten
Validiere die Ingress-Regeln, erstelle die DNS-Route und lasse den Tunnel im Vordergrund laufen, während du aus einem anderen Netzwerk testest.
cloudflared tunnel ingress validate
cloudflared tunnel route dns home-pi app.example.com
cloudflared tunnel run home-picloudflared als Linux-Dienst mit dem richtigen Config-Pfad ausführen
Das wichtige Detail unter Linux ist der Config-Pfad. Wenn du einen Dienst mit sudo installierst, kann das Home-Verzeichnis zu roots Home werden, und der Dienst findet die Config nicht, die du als pi-User getestet hast.
Service-Schritt 1: Dienst mit explizitem Config-Pfad installieren
Das vermeidet den häufigen sudo-Home-Verzeichnis-Konflikt zwischen getesteter pi-User-Config und Service-Account.
sudo cloudflared --config /home/pi/.cloudflared/config.yml service installService-Schritt 2: Dienst aktivieren und Status prüfen
Starte cloudflared über systemd und prüfe dann, ob es die erwartete Config nutzt und gesund bleibt.
sudo systemctl enable --now cloudflared
systemctl status cloudflaredService-Schritt 3: Logs lesen und Neustart testen
Nutze die Logs, um Config-Pfad-, Credentials-, DNS- und lokale Dienstfehler zu finden, bevor du dich auf die Route verlässt.
journalctl -u cloudflared -f
sudo systemctl restart cloudflared
systemctl status cloudflaredBetriebscheckliste für einen kleinen dauerhaften Tunnel
Ein Home-Tunnel wird erst dann angenehm langweilig, wenn Reboot, Updates, Logs und Zugriffsregeln ebenfalls langweilig sind. Teste diese langweiligen Teile, bevor du die URL breit teilst.
Starte den Pi neu und bestätige, dass der Hostname funktioniert, ohne zuerst eine SSH-Session zu öffnen.
Setze private Apps hinter Cloudflare Access, ein starkes App-Login oder eine lokale Netzwerkgrenze.
Patche Betriebssystem und cloudflared regelmäßig und prüfe danach den Dienst.
Veröffentliche keine Logs oder Screenshots mit Tunnel-IDs, Account-E-Mails, Hostnamen oder privaten Dienstnamen.
Sichere die Config bewusst, aber behandle Tunnel-Credentials wie Geheimnisse.
Dieses Setup versteckt den Origin vor Besuchern; es versteckt nicht deinen Cloudflare-Account, Domain-Spuren oder Admin-Verhalten.
Troubleshooting: die Fehler, die meistens zuerst zählen
| Symptom | Wahrscheinliche Ursache | Erste Prüfung |
|---|---|---|
| Cloudflare-Fehlerseite statt der App | Der Tunnel ist down, die Service-URL ist falsch oder die lokale App lauscht nicht. | Führe systemctl status cloudflared, journalctl und curl auf den lokalen Dienst am Pi aus. |
| Dienst funktioniert im Vordergrund, aber nicht nach der Installation | systemd nutzt ein anderes Home-Verzeichnis oder einen anderen Config-Pfad. | Installiere den Dienst erneut mit explizitem --config-Pfad zu /home/pi/.cloudflared/config.yml. |
| Hostname erreicht den Tunnel nicht | DNS-Route, Hostname oder Cloudflare-Zone sind nicht mit dem benannten Tunnel verbunden. | Prüfe den öffentlichen Hostnamen in Zero Trust und führe cloudflared tunnel info home-pi aus. |
| Admin-Seite ist öffentlich erreichbar | Die Ingress-Regel zeigt auf ein privates Tool ohne Zugriffsschicht. | Setze es hinter Cloudflare Access oder halte diesen Dienst nur lokal erreichbar. |
Offizielle Dokumentation, die du vor dem Einsatz prüfen solltest
Halte die Cloudflare-Dokumentation offen, während du den Pi einrichtest. Produktnamen, Paketbefehle, Dashboard-Ansichten und Planlimits können sich ändern.
Cloudflare-Tunnel-Setup-Guide Linux-Service-Guide Tunnel-Run-Parameter
Häufige Fragen zu Raspberry Pi und Cloudflare Tunnel
Häufige Fragen
Ist ein Raspberry Pi gut für Cloudflare Tunnel?
Ja, wenn du einen dauerhaft laufenden Connector für einen kleinen Home-Server oder Lab-Dienst willst. Er ist stromsparend, berechenbar und leichter online zu halten als ein täglicher Laptop.
Brauche ich Router-Portweiterleitung?
Nein. Cloudflare Tunnel nutzt ausgehende Connector-Verbindungen von cloudflared zu Cloudflare, deshalb brauchen Besucher keinen direkten eingehenden Weg zu deinem Router.
Soll ich stattdessen die GhostlyShare CLI nutzen?
Nutze GhostlyShare oder die ghs CLI, wenn du app-verwaltetes lokales Sharing für Previews, Webhooks, geskriptetes Teilen oder einen bewusst dauerhaft laufenden Share willst. Nutze Raspberry Pi plus cloudflared, wenn du volle Kontrolle über Service-Dateien, Ingress-Config und das Host-OS willst.
Macht das meinen Home-Server anonym?
Nein. Es kann den Origin vor Besuchern verstecken, aber Cloudflare-Accountdaten, Domain-Einträge, Zahlungen, Logs, Inhalte und Admin-Verhalten können das Projekt weiterhin mit dir verbinden.