Cloudflare Tunnel auf Raspberry Pi
Wer einen internen Raspberry Pi im Heimnetz betreibt und diesen ohne viel Aufwand an eine
externe Domain binden mag, kann das mit Cloudflare releativ einfach und kostenlos machen.
Eine Anleitung dazu in diesem Beitrag.
Voraussetzungen
- Raspberry Pi mit Internet
- Raspberry Pi OS (32-bit oder 64-bit)
- Domain in Cloudflare registriert (Nameserver auf Cloudflare umgestellt)
- Lokale Web-App, z. B.
http://localhost:8080
Cloudflare vorbereiten
Domain hinzufügen
- Gehe zu: https://dash.cloudflare.com
- Klicke auf “Add a Site”
- Gib deine Domain ein (z. B.
naturwender.de) - Wähle Free Plan
- Cloudflare scannt automatisch bestehende DNS-Einträge → überprüfe sie
- Klicke Continue
Nameserver beim Registrar ändern
- Logge dich bei deinem Domainprovider ein (z. B. Strato, IONOS, Namecheap)
- Finde die Nameserver Einstellungen
- Trage die beiden Cloudflare-Nameserver ein, z. B.:
alice.ns.cloudflare.com
bruce.ns.cloudflare.com
- Speichern → DNS-Propagation dauert 5–60 Minuten (bis zu 24h)
- Im Cloudflare-Dashboard sollte nach einiger Zeit Status: Active erscheinen
DNS-Einträge prüfen / anpassen
- Gehe zu DNS → Records
- Prüfe bestehende A-, CNAME-, MX- und TXT-Einträge
- Wichtig: Mail (MX) sollte unverändert bleiben
- Lösche alte A- oder CNAME-Einträge für die Subdomain, die du über den Tunnel erreichbar machen willst (
app.naturwender.de)
Cloudflare Tunnel Subdomain anlegen
- Subdomain für deinen Tunnel wählen, z. B.
app → app.naturwender.de - Zwei Möglichkeiten:
4a. Automatisch via CLI
Hinweis: Das geht erst, nachdem der Cloudflare-Dienst auf dem Raspberry eingerichtet ist.
cloudflared tunnel route dns mein-tunnel app.naturwender.de
4b. Manuell im Dashboard
- DNS → Add record
- Typ: CNAME
- Name:
app - Target:
<TUNNEL-ID>.cfargotunnel.com - Proxy: ON (orange cloud)
- Speichern
Cloudflare stellt dann automatisch HTTPS bereit.
Optional: Subdomain prüfen
- Rufe
https://app.naturwender.de auf - Sollte die Web-App anzeigen (Tunnel läuft)
Tipps
- Wenn die Subdomain schon existiert (
www oder app), muss der alte Record gelöscht oder eine andere Subdomain gewählt werden. - Alle weiteren Tunnel-Subdomains einfach als CNAME auf
<TUNNEL-ID>.cfargotunnel.com setzen. - Mail-Einträge (MX/TXT) nicht ändern, sonst geht E-Mail verloren.
- Cloudflare sorgt automatisch für SSL/TLS-Zertifikate auf der Subdomain.
Raspberry Pi vorbereiten
cloudflared installieren
64-bit OS:
wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm64.deb
sudo dpkg -i cloudflared-linux-arm64.deb
Check:
Bedeutung: Installiert das Cloudflare Tunnel Programm auf dem Pi.
Mit Cloudflare verbinden
- URL im Browser öffnen
- Bei Cloudflare anmelden
- Domain auswählen
- Datei
cert.pem wird in ~/.cloudflared/ gespeichert
Bedeutung: Authentifiziert den Pi bei Cloudflare.
Tunnel erstellen
cloudflared tunnel create mein-tunnel
- Gibt Tunnel-ID/UUID zurück
- Erstellt Credentials-Datei
~/.cloudflared/<TUNNEL-ID>.json
Bedeutung: Erzeugt den Tunnel für den sicheren Zugriff.
Tunnel konfigurieren
vi ~/.cloudflared/config.yml
Beispiel:
tunnel: mein-tunnel
credentials-file: /home/pi/.cloudflared/<TUNNEL-ID>.json
ingress:
- hostname: app.naturwender.de
service: http://localhost:8080
- service: http_status:404
Bedeutung: Leitet die Subdomain auf den lokalen Service.
DNS für Tunnel anlegen
Automatisch via CLI:
cloudflared tunnel route dns mein-tunnel app.naturwender.de
Alternativ manuell im Cloudflare Dashboard:
- DNS → Add record → Typ: CNAME → Name:
app → Target: <TUNNEL-ID>.cfargotunnel.com → Proxy ON (orange cloud)
Bedeutung: Macht die Subdomain öffentlich erreichbar.
Tunnel testen
cloudflared tunnel run mein-tunnel
- Logs zeigen:
Connected to Cloudflare - Zugriff über
https://app.naturwender.de
Bedeutung: Startet den Tunnel im Vordergrund, prüft Verbindung.
Tunnel als Dienst aktivieren (Autostart)
sudo cloudflared service install
sudo systemctl enable --now cloudflared
sudo systemctl status cloudflared
Bedeutung: Tunnel startet automatisch beim Booten.
Hinweis: Wenn die Subdomain bereits existiert (A/CNAME-Record), entweder einen neuen Namen verwenden (app.naturwender.de) oder den alten Record löschen, bevor cloudflared tunnel route dns ausgeführt wird.
Zurück2025-12-07 08:07