Skip to content
BotServBotServ
CloudflareTunnelRemoteNetzwerkSicherheitOllama

Cloudflare Tunnel: KI-Services ohne öffentliche IP

Cloudflare Tunnel für KI-Services: Sicherer Remote-Zugriff ohne Port-Forwarding. Wie Du Ollama von überall erreichst.

S

schutzgeist

8 min read
Cloudflare Tunnel für KI

Cloudflare Tunnel: KI-Services ohne öffentliche IP

Was dieser Artikel behandelt

  • Was ein Cloudflare Tunnel ist und warum er Dich interessieren sollte
  • Warum Du für KI-Services wie Ollama oft kein Port-Forwarding brauchst
  • Wie Du einen Tunnel einrichtest, um Deine Services von überall zu erreichen
  • Welche Voraussetzungen und Sicherheitsaspekte dabei wichtig sind
  • Wo die typischen Hürden liegen und wie Du sie umgehst

Einleitung

Vielleicht hast Du bereits Ollama auf Deinem Linux-Server laufen oder möchtest KI-Tools von unterwegs aus nutzen. Dann stellt sich schnell die Frage, wie Du Deine Services aus dem Internet erreichbar machst, ohne gleich Dein ganzes Heimnetzwerk zu öffnen. Klassisch würde man dafür Port-Forwarding in Deinem Router einrichten, eine öffentliche IP Adresse benötigen und dann noch TLS Zertifikate verwalten. Das ist fehleranfällig und nicht gerade einsteigerfreundlich.

Ein Cloudflare Tunnel bietet eine moderne Alternative. Er stellt eine ausgehende Verbindung von Deinem Server zu Cloudflare her. Eingehende Verbindungen aus dem Internet laufen dann über die Cloudflare Infrastruktur und den Tunnel, ohne dass Du öffentliche Ports freigeben musst. Das bedeutet weniger Angriffsfläche, weniger Konfiguration im Router und oft sogar automatisches HTTPS.

In diesem Artikel erkläre ich Dir Schritt für Schritt, was Du brauchst, wie die Einrichtung funktioniert und worauf Du achten solltest. Obwohl der Fokus auf KI-Services wie Ollama liegt, kannst Du das Wissen für fast jeden Self-Hosted Service nutzen. Solltest Du Dich generell mit dem Thema beschäftigen wollen, findest Du in der Kategorie Self-Hosting viele weitere Artikel. Netzwerksicherheit besprechen wir separat unter Netzwerksicherheit und TLS Zertifikate.

Warum Cloudflare Tunnel?

Cloudflare Tunnel ist Teil des Cloudflare Zero Trust Angebots. Der bekannteste Client dafür heisst cloudflared. Stell Dir den Tunnel vor wie einen verschlüsselten Ausgang von Deinem Server ins Cloudflare Netzwerk. Statt dass Besucher direkt auf Deine öffentliche IP und geöffnete Ports zugreifen, sprechen sie eine Cloudflare Domain an. Cloudflare leitet den Traffic über den verschlüsselten Tunnel an Deinen Server weiter.

Das bringt mehrere Vorteile. Du musst in Deinem Router kein Port-Forwarding konfigurieren. Deine öffentliche IP bleibt verborgen. Cloudflare kann zusätzlich Dienste wie DDoS Schutz, Access Rules und automatische TLS Verschlüsselung bieten. Für lokale KI Services wie Ollama ist das besonders interessant, denn so kannst Du Ollama von einem Laptop, Tablet oder Handy aus erreichen, ohne Dein Heimnetz direkt ins Internet zu hängen.

Cloudflare Tunnel kurz erklärt

cloudflared ist ein kleines Programm, das Du auf Deinem Server installierst. Es baut eine outbound Verbindung zu Cloudflare auf und meldet sich mit einem Token an, das Du zuvor erzeugst. Danach kannst Du in der Cloudflare Zero Trust Oberfläche festlegen, welche Domain auf welchen lokalen Service weitergeleitet werden soll.

Ein Beispiel: Ollama läuft auf Deinem Server auf Port 11434. Du legst im Tunnel eine public hostname wie ollama.example.de an und leitest ihn auf http://localhost:11434. Ab sofort ist Ollama unter der Domain erreichbar. Alles läuft über HTTPS, solange Deine Domain bei Cloudflare liegt und ein gültiges Zertifikat konfiguriert ist.

Für wen ist dieser Artikel gedacht?

Dieser Artikel richtet sich an Einsteiger, die bereits einen lokalen oder gemieteten Server betreiben und ihre KI-Tools oder andere Self-Hosted Services über das Internet erreichbar machen wollen. Du solltest mit der Kommandozeile umgehen können und bereit sein, ein paar Befehle in Deinem Linux Terminal auszuführen. Programmierkenntnisse brauchst Du nicht zwingend, aber Grundlagen in Docker oder systemctl sind hilfreich.

Wenn Du eher nach einer Lösung suchst, bei der Du gar keinen externen Dienst nutzen willst, ist vielleicht Tailscale interessanter. Cloudflare Tunnel ist aber sehr schnell eingerichtet und benötigt keine eigene VPN Software auf den Endgeräten.

Wichtige Begriffe

BegriffBedeutung
TunnelEine verschlüsselte Verbindung zwischen Deinem Server und einem externen Netzwerk, hier Cloudflare.
cloudflaredDer offizielle Cloudflare Tunnel Client, der die Verbindung aufbaut.
OutboundVerbindungen, die von Deinem Netzwerk nach aussen aufbauen.
Port-ForwardingRouter-Einstellung, um eingehende Verbindungen an einen lokalen Rechner weiterzugeben.
Reverse ProxyEin Dienst, der externe Anfragen an interne Services weiterleitet, z.B. Nginx oder Cloudflare selbst.
TLSTransport Layer Security, also die verschlüsselte Verbindung per HTTPS.
Public HostnameEine öffentlich erreichbare Domain, die auf einen internen Service verweist.
Access RuleEine Regel, die festlegt, wer auf einen Tunnel oder Service zugreifen darf.

Voraussetzungen für Deinen ersten Cloudflare Tunnel

Bevor Du loslegst, brauchst Du einige Dinge. Du benötigst eine eigene Domain, die Du bei Cloudflare betreibst. Das kostet bei den meisten Top-Level-Domains etwas, oder Du nutzt eine kostenlose Subdomain, die Du anderswo verwaltest. Für den Einstieg reicht aber eine kostenpflichtige Domain von einem günstigen Registrar, die Du auf Cloudflare verweist.

Auf Deinem Server sollte ein Linux System wie Ubuntu oder Debian laufen. Du benötigst root Rechte oder ein Konto mit sudo Rechten. Sorge dafür, dass Dein Server eine stabile Internetverbindung hat und ausgehende HTTPS Verbindungen zulässt. Cloudflare Ports wie 443 für TCP sowie 7844 für UDP sollten funktionieren. Bei den meisten Heimnetzwerken und Cloud Servern ist das kein Problem.

Im Cloudflare Dashboard legst Du unter Zero Trust einen neuen Tunnel an. Dabei bekommst Du ein Token, das Du auf Deinem Server benötigst. Bewahre es sicher auf, denn mit diesem Token kann sich cloudflared bei Deinem Account anmelden.

Cloudflared installieren

Der einfachste Weg ist die Installation über das offizielle Repository. Für Debian und Ubuntu nutzt Du folgende Befehle. Führe sie in Deinem Terminal aus:

# Cloudflare GPG Schlüssel und Repository hinzufügen
sudo mkdir -p --mode=0755 /usr/share/keyrings
curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg | sudo tee /usr/share/keyrings/cloudflare-main.gpg

echo "deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared $(lsb_release -cs) main" | \
  sudo tee /etc/apt/sources.list.d/cloudflared.list

sudo apt-get update && sudo apt-get install -y cloudflared

Anschliessend meldest Du Dich mit dem Token an, den Du im Dashboard erzeugt hast:

sudo cloudflared service install EUREN_TOKEN_HIER

Das war es schon. Der Dienst startet, baut den Tunnel auf und ist im Dashboard sichtbar. Achte darauf, dass Du den Platzhalter EUREN_TOKEN_HIER gegen den echten Token tauschst.

Eine Domain auf Ollama weiterleiten

Nachdem cloudflared läuft, gehst Du im Cloudflare Zero Trust Dashboard auf Deinen Tunnel und richtest einen public hostname ein. Wähle als Typ HTTP und trage als URL localhost:11434 ein, falls Ollama lokal auf demselben Server läuft. Wenn Ollama in einem Docker Container läuft, gibst Du die Container IP oder den internen Docker Namen an, zum Beispiel http://ollama:11434.

Speichere die Einstellung. Innerhalb weniger Sekunden ist ollama.example.de erreichbar, sofern die Subdomain per DNS bereits auf Cloudflare zeigt. Cloudflare sorgt für das TLS Zertifikat, Du musst also keine eigene Zertifikatsverwaltung betreiben.

Möchtest Du nicht jeden Besucher reinlassen, aktivierst Du Access Rules im Dashboard. Damit legst Du fest, dass nur bestimmte E-Mail Adressen, IP Bereiche oder authentifizierte Nutzer auf den Service zugreifen dürfen. Für eine Ollama Instanz, die nur Du nutzt, ist das sehr empfohlen.

Sicherheit und Zugriffskontrolle

Auch wenn ein Tunnel keine eingehenden Ports öffnet, ist er nicht automatisch perfekt abgesichert. Cloudflare selbst steht zwischen Deinem Server und dem Besucher. Das schützt vor vielen Angriffen, aber Du solltest trotzdem einige Dinge beachten.

Aktiviere am besten immer Access Rules, damit nicht jeder im Internet Deine Ollama Oberfläche finden kann. Nutze starke Passwörter für Dein Cloudflare Konto und aktiviere Multi-Factor-Authentifizierung. Schränke den lokalen Ollama Service so ein, dass er nur auf localhost oder interne Interfaces lauscht. So bleibt Dein Heimnetz auch dann geschützt, wenn einmal ein Fehler in der Konfiguration passiert.

Mehr Hintergründe zu Reverse Proxy Konzepten findest Du im Artikel Reverse Proxy. Für das Verständnis der Verschlüsselung lohnt sich ein Blick auf TLS Zertifikate.

Typische Stolpersteine

  1. Token verloren geht: Speichere den Token beim Anlegen des Tunnels an einem sicheren Ort. Ohne ihn muss der cloudflared Service neu installiert werden.

  2. Domain nicht bei Cloudflare: Der Tunnel funktioniert am einfachsten, wenn Deine Domain in Cloudflare gehostet wird. Externe Domains benötigen zusätzliche Schritte.

  3. Falsche interne URL: Wenn Du localhost:11434 einträgst, aber Ollama in einem Container läuft, kann cloudflared den Service nicht finden. Nutze dann den Docker Container Namen oder die Bridge IP.

  4. Cloudflare Account Limits: Die kostenlose Zero Trust Version bietet viele Funktionen, aber bei sehr vielen Nutzern oder Log-Daten entstehen Kosten. Prüfe das vor dem Rollout.

  5. Service startet nicht: Nach cloudflared service install muss der Dienst mit systemctl status cloudflared geprüft werden. Fehlende Berechtigungen oder ein falscher Token sind häufige Ursachen.

  6. Ollama blockt externe Anfragen: Standardmässig bindet Ollama sich nur an 127.0.0.1 oder 0.0.0.0, je nach Konfiguration. Stelle sicher, dass cloudflared den richtigen Host erreicht.

  7. Falsche DNS Einstellungen: Der public hostname benötigt eine korrekte DNS Zone in Cloudflare. Fehlt der CNAME oder ist er falsch, bekommst Du DNS Fehler.

  8. Zugriff ohne Access Rule: Ohne Access Rule ist Dein Service öffentlich erreichbar. Wenn das nicht beabsichtigt ist, richte mindestens eine E-Mail basierte Regel ein.

Hardware, Kosten und Sicherheit

Cloudflared ist sehr ressourcensparend. Es läuft bereits auf einem Raspberry Pi 4 oder kleinem VPS problemlos mit. Bei gleichzeitiger Nutzung von Ollama brauchst Du natürlich genug RAM und je nach Modell eventuell eine GPU. Für den reinen Tunnel reicht aber jeder Server, der Debian oder Ubuntu beherrscht.

Die Kosten setzen sich zusammen aus der Domain und eventuell Cloudflare Zusatzleistungen. Die meisten einfachen Szenarien lassen sich in der kostenlosen Zero Trust Schicht abbilden. Lokal entstehen nur Deine Strom- oder Hostingkosten. Ein kleiner VPS kostet oft wenige Euro im Monat, ein Raspberry Pi im Heimnetz nur Strom.

Sicherheitstechnisch reduzierst Du die Angriffsfläche deutlich, weil kein Port-Forwarding nötig ist. Dennoch solltest Du Cloudflare Access, starke Authentifizierung und eine saubere lokale Konfiguration von Ollama nutzen.

FAQ

  1. Ist Cloudflare Tunnel kostenlos?
    Ja, für die Grundfunktionen und auch viele Access Regeln reicht die kostenlose Zero Trust Stufe.

  2. Brauche ich eine öffentliche IP?
    Nein. Cloudflare baut die Verbindung ausgehend auf. Deine öffentliche IP bleibt verborgen.

  3. Funktioniert das auch mit Ollama?
    Ja. Du leitest einfach die Domain auf den lokalen Ollama Port weiter. Mehr dazu findest Du unter Ollama Netzwerkzugriff.

  4. Muss ich am Router etwas umstellen?
    Meistens nein. Es sollten nur ausgehende Verbindungen auf 443 und 7844 möglich sein, das ist Standard.

  5. Was ist der Unterschied zu einem VPN?
    Ein VPN verbindet ganze Netzwerke oder Geräte. Ein Tunnel veröffentlicht einzelne Services per Domain.

  6. Ist HTTPS automatisch enthalten?
    Ja, wenn Deine Domain bei Cloudflare liegt und auf proxied steht. Cloudflare kümmert sich um TLS.

  7. Kann ich mehrere Services über denselben Tunnel leiten?
    Ja. Du legst einfach mehrere public hostnames im selben Tunnel an.

  8. Wie sicher ist das Ganze?
    Sehr viel sicherer als Port-Forwarding. Mit Access Rules zusätzlich nur berechtigte Nutzer erlauben.

  9. Lässt sich das in Docker betreiben?
    Ja. Cloudflared gibt es als offizielles Docker Image. Darauf muss nur das Token Volume oder die Umgebungsvariable übergeben werden.

  10. Was passiert, wenn mein Server offline ist?
    Dann ist der Service nicht erreichbar. Der Tunnel bricht ab, bis der Client wieder online ist.

  11. Kann ich auch UDP Traffic tunneln?
    Cloudflare unterstützt UDP, dafür gibt es aber spezielle Einstellungen und teilweise Einschränkungen.

  12. Muss ich Linux beherrschen?
    Grundkenntnisse reichen. Die meisten Schritte lassen sich per Kopieren und Einfügen erledigen.

Quellen

  • Cloudflare Tunnel Dokumentation: cloudflare.com/developers
  • cloudflared Repository auf GitHub
  • Cloudflare Zero Trust Learning Center
  • Ollama offizielle Dokumentation: ollama.com
  • Cloudflare Blog: Zero Trust Netzwerkmodelle
Zurück zum KI Blog
Share:

Ähnliche Beiträge