- Bei einem Cloudflare Tunnel wählt sich ein kleines Programm auf deinem Server selbst bei Cloudflare ein. Deshalb brauchst du keine Portfreigabe im Router.
- Der Tunnel kostet nichts. Der kostenlose Zero-Trust-Tarif (Login-Schutz davor) gilt laut Preisvergleichsseiten bis 50 Nutzer.
- Ein geschlossener Port heißt nicht, dass dein Dienst geschützt ist. Admin-Oberflächen brauchen einen Login davor.
- Die Grenzen sind: hauptsächlich Web-Dienste, kein öffentliches UDP, Abhängigkeit von Cloudflare und regelmäßige Updates.
Du willst von unterwegs auf Nextcloud, Home Assistant oder dein Dashboard zugreifen, aber keine Löcher in die Firewall bohren? Dann ist ein Cloudflare Tunnel einen Blick wert. Hier steht, wie er funktioniert, wie du ihn per Docker startest und wo er nicht taugt.
Wie ein Cloudflare Tunnel ohne offene Ports funktioniert
Normalerweise gibst du im Router einen Port frei (eine Art Tür nach draußen), damit Anfragen aus dem Internet bei deinem Server ankommen. Diese Tür kann jeder ausprobieren, und dahinter muss alles sauber gepatcht sein.
Beim Cloudflare Tunnel läuft es umgekehrt. Der Hintergrunddienst cloudflared auf deinem Server baut eine ausgehende Verbindung zum Cloudflare-Edge auf, also zu den Servern von Cloudflare am Rand des Internets. Anfragen von außen landen zuerst dort und laufen dann durch diese bestehende Verbindung zu dir. Dein Router muss nichts freigeben, weil die Verbindung von innen nach außen aufgebaut wird.
Für einen Tunnel mit eigener Adresse (etwa cloud.deinedomain.de) muss deine Domain bei Cloudflare als Zone liegen, also dort ihre DNS-Einträge verwalten. Das ist mein Vorwissen und in der Recherche nicht eigens bestätigt. Schau vor dem Start kurz in die Doku.
Cloudflare Tunnel per Docker einrichten
Den Token für den Tunnel erzeugst du im Cloudflare-Dashboard. Danach startest du cloudflared als Container mit Docker. Das Image heißt cloudflare/cloudflared, der Befehl tunnel --no-autoupdate run, und den Token übergibst du als Umgebungsvariable TUNNEL_TOKEN:
docker run -d --name cloudflared --restart unless-stopped \
-e TUNNEL_TOKEN=<dein-token> \
cloudflare/cloudflared tunnel --no-autoupdate run
Welche Dienste über den Tunnel erreichbar sind, stellst du nach meinem Vorwissen ebenfalls im Dashboard ein. Wie die Hostname-Konfiguration dort genau aussieht, ist in der Recherche nicht belegt. Schau dafür in die Doku.
Unraid und Synology
Für Unraid gibt es mehrere Community-Vorlagen, zum Beispiel von IPGPrometheus und figro. Wie aktuell sie gepflegt werden, habe ich nicht geprüft, wirf also einen Blick auf das Änderungsdatum. Auf einem Synology-NAS (Network Attached Storage, also ein Speicher, der am Netzwerk hängt) empfiehlt eine Community-Anleitung, den Container im „gleichen Netzwerk wie der Docker-Host“ laufen zu lassen.
Auf welchem Gerät läuft der Container?
Der Container muss dauerhaft laufen, denn ohne ihn ist der Zugang weg. Dafür kommt zum Beispiel das NAS infrage. Wer keins hat oder das NAS nicht damit belasten will, nimmt einen kleinen Mini-PC oder einen Raspberry Pi.
GEEKOM iX12 Mini PC Workstation, Intel N95 Prozessor, 8 GB DDR, 256 GB SSD
Ein Mini-PC, bei dem laut Produktname Arbeitsspeicher und SSD schon dabei sind, als Dauerläufer für den cloudflared-Container. Preis: 399,00 € (Stand 20.09.2026), kann sich ändern.
Was kostet Cloudflare Tunnel?
Der Tunnel selbst ist kostenlos. Cloudflare hat schon vor Jahren eine kostenlose Version angekündigt, nach der Tweet-ID vermutlich im September 2021. Wenn ein Blogpost 2026 behauptet, der Tunnel sei „jetzt erst“ kostenlos, habe ich dafür keine Primärquelle gefunden. Auch die Bezeichnung „Argo Tunnel“ mit Preis pro Gigabyte ist überholt: Der Dienst heißt heute Cloudflare Tunnel und hat keinen Volumenpreis.
Kosten können bei Cloudflare Zero Trust entstehen, dem Login-Schutz, den du vor den Tunnel setzen kannst. Nach mehreren Preisvergleichsseiten (nicht von Cloudflare selbst) ist der Free-Tarif für bis zu 50 Nutzer gratis, mit 24 Stunden Log-Aufbewahrung und Support nur über die Community. Danach kostet Pay-as-you-go dort 7 $ pro Nutzer und Monat bei jährlicher Zahlung. Die Cloudflare-Preisseite habe ich nicht gelesen. Prüf die Zahlen also selbst, bevor du planst.
Kein offener Port heißt nicht automatisch sicher
Das ist der häufigste Denkfehler. Dein Dienst ist nach der Einrichtung für jeden im Internet erreichbar, der die Adresse kennt. Nur der Weg dorthin hat sich geändert. Sitzt kein Login davor, kommt jeder bis zur Anmeldeseite deiner Anwendung.
Für Admin-Oberflächen wie Router, Portainer oder Unraid-Weboberfläche setzt du deshalb Cloudflare Access davor. Das ist ein zusätzlicher Anmeldeschritt, der schon bei Cloudflare greift, bevor Anfragen bei dir ankommen. Er gehört zu Cloudflare Zero Trust und ist im Free-Tarif enthalten (siehe oben).
Grenzen und Stolperfallen
- Kein Ersatz für ein VPN. Der Tunnel taugt für Web-Dienste, die du über einen Hostnamen veröffentlichst. Öffentliches UDP gibt es nicht, der Schwerpunkt liegt auf HTTP und HTTPS. Für TCP/UDP und dein ganzes Heimnetz brauchst du zusätzlich den WARP-Client oder eine Access-Konfiguration. Auch das ist Vorwissen.
- Upload-Limit. Nach Berichten in der Cloudflare-Community liegt es bei 100 MB pro Upload im Free- oder Pro-Tarif. Eine Primärquelle dafür fehlt mir, und ob es für Tunnel im Zero-Trust-Free-Tarif genauso gilt, ist offen. Für große Dateien in Nextcloud oder Immich solltest du das vorab testen.
- Video-Streaming. Die Nutzungsbedingungen haben sich geändert: Die alte „nur HTML“-Regel wurde gestrichen, die inhaltliche Beschränkung steht jetzt in den Service-Specific Terms und gilt nur für das CDN (Content Delivery Network, ein weltweites Zwischenspeicher-Netz). Ob Tunnel-Verkehr zu Plex oder Jellyfin darunter fällt, konnte ich nicht klären. Community-Aussagen widersprechen sich. Lies die aktuellen Bedingungen selbst.
- Ausfälle. Zeitweise ist Cloudflare selbst gestört, etwa am 18.11.2025 über 5 Stunden 38 Minuten, wobei Cloudflare Access und WARP betroffen waren. Ob die Tunnel-Verbindungen dabei einzeln betroffen waren, ist nicht belegt. Bei einem Ausfall sind Tunnel-Zugriffe von außen weg, denn dein Zugang hängt an einem einzigen Anbieter.
- Updates. Cloudflare unterstützt
cloudflared-Versionen bis ein Jahr nach Release. Ältere Versionen können durch Breaking Changes (Änderungen, die Altes nicht mehr funktionieren lassen) brechen. Der Schalter--no-autoupdateim Docker-Befehl heißt: Du aktualisierst selbst, indem du das Image neu ziehst. - IPv6-Falle. Seit Version 2026.4.0 steht
--edge-ip-versionstandardmäßig aufautostatt4. Verbindungen nutzen die Adressfamilie, die der Resolver zuerst liefert. Wer einen Router mit kaputtem IPv6 hat, kann nach einem Update Verbindungsprobleme bekommen.
Erst ausprobieren: Quick Tunnels
Zum Testen gibt es Quick Tunnels über trycloudflare.com, ohne Domain und ohne Konto. Sie sind aber nur zum Ausprobieren gedacht. Nach 200 gleichzeitigen Anfragen kommt HTTP 429 („zu viele Anfragen“). Server-Sent Events, also Dauerverbindungen, über die der Server Daten an den Browser schickt, funktionieren nicht. WebSockets laufen.
Alternativen im Überblick
| Lösung | Wofür | Was du brauchst | Haken |
|---|---|---|---|
| Cloudflare Tunnel | Web-Dienste per Hostname veröffentlichen | Domain bei Cloudflare, cloudflared-Container | Abhängigkeit von Cloudflare, Upload-Limit, unklare Streaming-Lage |
| Tailscale | Privater Zugriff statt öffentlicher Freigabe (Einordnung: Vorwissen) | Client auf jedem Gerät | Dienste sind nicht öffentlich erreichbar |
| Pangolin | Selbst gehosteter Tunnel mit WireGuard und Traefik, etwa für Jellyfin, Immich, Nextcloud | Eigener VPS mit öffentlicher IP | Mehr Eigenarbeit |
| rathole, frp | Selbst gehostete Reverse-Proxy-Tunnel | Eigener VPS mit öffentlicher IP | Du betreibst und sicherst alles selbst |
Fazit
Für Web-Dienste im Homelab ist Cloudflare Tunnel ein bequemer Weg: ein Container, kein offener Port, keine Kosten für den Tunnel. Setz einen Login davor, halte cloudflared aktuell, und rechne damit, dass Cloudflare mal ausfällt. Für große Uploads, Streaming oder Zugriff auf das ganze Heimnetz prüfst du vorab die Grenzen oder nimmst eine der Alternativen.