Cloudflare Tunnel: Self-Hosting ohne offene Ports & Portfreigabe

Du hast einen Dienst zu Hause laufen – eine Nextcloud, einen Medienserver, ein selbstgehostetes Dashboard – und möchtest von unterwegs darauf zugreifen. Der klassische Weg führt über eine Portfreigabe im Router. Doch der hat Tücken: Er öffnet deinen Anschluss für das gesamte Internet, scheitert bei vielen Glasfaser- und Mobilfunktarifen am CGNAT und setzt eine erreichbare öffentliche IP voraus. Cloudflare Tunnel löst all diese Probleme auf elegante Weise. Dieser Artikel erklärt, wie es funktioniert und warum es so beliebt geworden ist.

Das Problem mit der klassischen Portfreigabe

Wer einen Dienst von außen erreichbar machen will, leitet üblicherweise einen Port vom Router auf den internen Server weiter. Das funktioniert, bringt aber drei handfeste Nachteile mit sich:

Wie Cloudflare Tunnel das Problem umdreht

Die zentrale Idee von Cloudflare Tunnel ist genauso einfach wie wirkungsvoll: Statt dass das Internet eine Verbindung zu dir aufbaut, baust du eine ausgehende Verbindung zu Cloudflare auf. Auf deinem Server läuft dazu ein kleiner Dienst namens cloudflared, der eine dauerhafte, verschlüsselte Verbindung von innen nach außen zum Cloudflare-Netzwerk herstellt.

Besucher rufen anschließend deine Domain auf, landen zunächst bei Cloudflare, und Cloudflare leitet die Anfrage durch den bestehenden Tunnel an deinen Server weiter. Der entscheidende Punkt: An deinem Router muss kein einziger Port geöffnet werden. Ausgehende Verbindungen sind ohnehin erlaubt, und genau die nutzt der Tunnel.

Weil die Verbindung von innen aufgebaut wird, ist CGNAT kein Hindernis mehr und eine feste IP überflüssig. Selbst hinter dem restriktivsten Anschluss funktioniert das Prinzip zuverlässig.

Die Vorteile im Überblick

Wer bereits seine DNS-Verwaltung bei Cloudflare hat, kennt einen Teil davon schon aus unserem Artikel zu Cloudflare DNS und CDN einrichten. Der Tunnel baut nahtlos darauf auf.

So läuft die Einrichtung im Prinzip ab

Ohne in jeden Befehl einzusteigen, lässt sich der Ablauf in wenigen Schritten beschreiben:

  1. Eine Domain bei Cloudflare verwalten lassen – die Nameserver zeigen auf Cloudflare.
  2. Im Zero-Trust-Bereich des Cloudflare-Dashboards einen neuen Tunnel anlegen.
  3. Den cloudflared-Connector auf dem Heimserver installieren – am bequemsten als Docker-Container oder Systemdienst.
  4. Eine öffentliche Hostname-Regel definieren, etwa cloud.deinedomain.de, und sie intern auf den Dienst und Port deines Servers zeigen lassen, zum Beispiel http://localhost:443.
  5. Fertig – die Subdomain ist über HTTPS erreichbar, ohne dass am Router etwas geändert wurde.

Der Connector lässt sich besonders sauber als Container betreiben. Wenn du dich mit Container-Stacks noch nicht auskennst, hilft unser Einstieg zu Docker Compose weiter.

Zero Trust: Zusätzlicher Zugriffsschutz

Ein großer Mehrwert gegenüber der reinen Portfreigabe ist die Anbindung an Cloudflare Access, den Zero-Trust-Teil der Plattform. Damit lässt sich vor jeden veröffentlichten Dienst eine Authentifizierungsschicht legen – noch bevor die Anfrage überhaupt deinen Server erreicht. Du kannst etwa festlegen, dass nur bestimmte E-Mail-Adressen Zugriff bekommen, eine Anmeldung über einen Identitätsanbieter verlangen oder einen Einmalcode per Mail erzwingen.

So ist ein interner Dienst, der selbst gar keine Benutzerverwaltung hat, trotzdem geschützt veröffentlicht. Das ist besonders praktisch für Verwaltungsoberflächen, die niemals offen im Internet stehen sollten.

Grenzen und Abwägungen

So bequem Cloudflare Tunnel ist – ein paar Dinge solltest du bedenken. Erstens leitest du deinen gesamten Traffic über Cloudflare, einen zentralen Drittanbieter. Das ist ein Vertrauensentscheid: Cloudflare terminiert das TLS und sieht damit prinzipiell den Klartext deiner Verbindungen. Für reine Selbsthoster, die maximale Datensouveränität wollen, kann das ein Ausschlusskriterium sein.

Zweitens ist das Tunneln von Diensten über die kostenlosen Pläne an die Cloudflare-Nutzungsbedingungen gebunden, die das exzessive Durchleiten großer Mediendateien einschränken können. Für Dashboards, Cloud-Zugriff und kleine Web-Apps ist das unkritisch, für einen reinen Streaming-Server solltest du die Bedingungen prüfen.

Die Alternative: ein eigener Tunnel

Wer keinen Drittanbieter im Datenpfad haben möchte, erreicht ein ähnliches Ergebnis mit einem selbst betriebenen VPN oder Mesh-Netzwerk. Ein WireGuard-VPN auf einem günstigen VPS spannt einen eigenen Tunnel auf, bei dem die Daten ausschließlich durch deine eigene Infrastruktur fließen. Das ist aufwendiger einzurichten, gibt dir aber die volle Kontrolle. Welche Mesh-Lösungen den Aufbau vereinfachen, behandelt unser Vergleich von WireGuard und Tailscale.

Fazit

Cloudflare Tunnel ist eine der elegantesten Lösungen, um selbstgehostete Dienste sicher ins Internet zu bringen – besonders hinter CGNAT oder ohne feste IP. Keine offenen Ports, automatisches HTTPS, optionaler Zero-Trust-Schutz und das alles in wenigen Minuten eingerichtet. Der Preis dafür ist ein Stück Datensouveränität, weil dein Traffic über Cloudflare läuft. Wer damit leben kann, bekommt ein extrem bequemes und sicheres Werkzeug. Wer maximale Kontrolle will, greift zur VPN-Variante.