Zwei Tailscale-Befehle unterscheiden sich um ein Wort. tailscale serve teilt einen lokalen Dienst mit den Geräten Ihres eigenen Tailnets. tailscale funnel leitet Datenverkehr aus dem offenen Internet zu genau diesem Dienst, erreichbar für jeden, der die URL kennt.
Gleiche Syntax, umgekehrte Exponierung. Das ist der ganze Artikel in zwei Sätzen, aber wer es verwechselt, stellt einen für privat gehaltenen Dienst ins offene Internet. Es lohnt sich also, genau zu sein bei dem, was Funnel tut und was nicht.
Auf einen Blick (Details, Befehle und die Einrichtung mit eigener Domain folgen unten):
tailscale serve | tailscale funnel | VPS + Caddy (eigene Domain) | |
|---|---|---|---|
| Wer erreicht den Dienst | Nur Geräte in Ihrem Tailnet | Jeder mit der URL | Jeder, hinter Ihrer Anmeldung |
| Adresse | machine.tailnet-name.ts.net | Dieselbe ts.net-URL, jetzt öffentlich | Eine Domain, die Ihnen gehört |
| Öffentliche Ports | Keine, nichts ist öffentlich | Nur 443, 8443 oder 10000 | Jeder Port, den Sie öffnen |
| Anmeldung davor | Mitgliedschaft im Tailnet | Keine | Ihre eigene (Caddy basic_auth) |
| Bandbreite | Ohne das Funnel-Limit | Von Tailscale begrenzt, nicht einstellbar | Die Portgeschwindigkeit des VPS |
| Zusätzliche Kosten | Keine | Keine, in jedem Tarif | Ein paar Euro im Monat |
Serve- oder Funnel-Befehl erstellen
Drei Fragen, dann haben Sie den Befehl, die Adresse und den Weg zurück. Läuft im Browser, nichts wird gesendet.
Ihr Befehl
tailscale funnel 3000
Adresse, unter der er antwortet
https://<machine>.<tailnet-name>.ts.net
Prüfen und rückgängig machen
tailscale funnel status tailscale funnel reset
- Funnel setzt keine Anmeldung vor den Dienst: Wer die URL kennt, erreicht Ihre Anwendung. Veröffentlichen Sie nur, was eine eigene Authentifizierung hat.
- Die Tailnet-Policy muss das Node-Attribut funnel gewähren (Standard: autogroup:member), und MagicDNS sowie HTTPS-Zertifikate müssen in der Admin-Konsole aktiviert sein.
- Ohne --bg endet die Freigabe, wenn Sie das Terminal schließen: die sichere Wahl für einen Test.
Wenn Sie eine eigene Domain, beliebige Ports und keine Funnel-Bandbreitengrenze brauchen, ist die rechte Spalte die Lösung: ein kleiner VPS mit öffentlicher IPv4 (Contabo, 5,50 € im Monat) plus Caddy, weiter unten Schritt für Schritt eingerichtet.
Was Funnel tatsächlich ist
Die Beschreibung von Tailscale ist unmissverständlich: Funnel «lässt Sie Datenverkehr aus dem offenen Internet zu einem lokalen Dienst leiten, der auf einem Gerät in Ihrem Tailscale-Netz läuft». Der Zweck ist, mit Menschen zu teilen, die nicht in Ihrem Tailnet sind und kein Tailscale-Konto haben.
Serve ist der umgekehrte Fall, und die Dokumentation sagt es klar: Wer lokale Dienste nur mit den anderen Geräten im Tailnet teilen will, nimmt Serve.
Die Entscheidung ist also keine technische Vorliebe, sondern eine Frage nach Ihrem Publikum:
- Nur Ihre Maschinen und die ins Tailnet eingeladenen Personen → Serve.
- Jeder mit dem Link, auch Fremde → Funnel.
Wenn Sie diese Frage für einen Dienst nicht beantworten können, führen Sie noch keinen der beiden Befehle aus.
Die drei Einschränkungen, die über die Eignung entscheiden
Funnel ist bewusst eng gefasst, und seine Grenzen sind dokumentiert statt überraschend. Drei davon klären die meisten Fälle, bevor Sie eine Zeile Konfiguration schreiben.
Die Ports: 443, 8443, 10000. Das ist die vollständige Liste. Funnel kann nur auf diesen dreien lauschen. Das ist kein überschreibbarer Standard, muss Ihr Dienst öffentlich auf einem anderen Port erreichbar sein, ist Funnel das falsche Werkzeug.
Der Hostname gehört Tailscale. Funnel kann nur DNS-Namen aus der Domain Ihres Tailnets verwenden, in der Form tailnet-name.ts.net. Wenn Sie ein Produkt, eine Kundendemo oder irgendetwas mit Ihrer Marke auf einer eigenen Domain platzieren wollten: dafür ist es nicht gemacht.
Die Bandbreite ist gedeckelt, und der Deckel gehört nicht Ihnen. Tailscale gibt an, dass über Funnel gesendeter Verkehr nicht konfigurierbaren Bandbreitengrenzen unterliegt. Für eine Konfigurationsseite oder ein kleines internes Werkzeug ohne Belang. Für das Streamen einer Mediathek an Angehörige ist dieser Deckel vermutlich die Einschränkung: nicht Ihr Upload.

Der übersprungene Teil: davor steht keine Anmeldung
Das ist der Grund, warum die Verwechslung von Serve und Funnel schwerer wiegt als ein gewöhnlicher Tippfehler.
Die Dokumentation von Tailscale beschreibt keine Authentifizierungsschicht vor einem Funnel-Endpunkt, und das ist Absicht, denn der ganze Zweck besteht darin, Menschen zu bedienen, die nicht im Tailnet sind und daher von ihm nicht authentifiziert werden können. Funnel gibt Ihnen einen öffentlichen HTTPS-Eingang; es gibt Ihnen kein Tor.
Die praktische Folge: Die Anmeldung Ihrer Anwendung ist das Einzige zwischen dem Internet und Ihren Daten. Ein Dashboard ohne Passwort, ein Dateibrowser, der dem lokalen Netz vertraut, ein Admin-Panel, das nur aus dem LAN erreichbar war, sie alle stehen offen, sobald sie «gefunnelt» statt «geserved» werden.
Bevor Sie das für irgendetwas aktivieren, passt der ehrliche Test in eine Frage: Würde ich diese URL bedenkenlos öffentlich posten? Lautet die Antwort nein, braucht der Dienst zuerst eine eigene Authentifizierung, oder eben Serve statt Funnel.
Aktivieren: zuerst die Richtliniendatei
Funnel ist pro Knoten nicht standardmäßig aktiv. Es verlangt ein Knotenattribut funnel in der Richtliniendatei Ihres Tailnets, das Tailscale mitteilt, welche Nutzer es verwenden dürfen. Standardmäßig gilt das für autogroup:member.
Diese Zwischenstufe sollte man verstehen statt wegklicken: Sie bedeutet, dass Funnel eine administrative Entscheidung auf Tailnet-Ebene ist, nicht bloß ein Befehl, den jemand auf seinem Laptop ausführt. In einem geteilten Tailnet entscheidet, wer die Richtliniendatei kontrolliert, ob überhaupt jemand Dienste öffentlich stellen kann.
★ Nürnberger DSGVO-Rechenzentrum · ✓ Dedizierte IPv4 inklusive · 200-Mbit/s-Port
Ein VPS mit eigener öffentlicher IP, ganz ohne Tunnel → ContaboÖffentliche IPv4 · Sie steuern Firewall, Ports und Reverse Proxy · Keine fremde Bandbreitengrenze→Die Befehle im direkten Vergleich
Beide Befehle nehmen dasselbe Ziel: einen Port, eine Adresse localhost:Port oder die vollständige URL eines Dienstes, der auf dem Rechner läuft. Das sind die Formen, die tailscale funnel --help unter Tailscale 1.104.1 (18. Oktober 2026) auflistet. In 1.104.2, der stabilen Version vom 21. Oktober 2026, ändert sich daran nichts: Das Changelog nennt nur den Build mit Go 1.27.3, der den kompromittierten eMudhra-TLS-Zwischenzertifikaten das Vertrauen entzieht (Tailscale-Sicherheitsbulletin TS-2026-013), und zwei Korrekturen am Windows-Client. Aktualisieren Sie den Client, die Befehle unten bleiben gleich:
# Nur im Tailnet: https://<rechner>.<tailnet-name>.ts.net
tailscale serve --bg 3000
# Im öffentlichen Internet, gleiche URL, für jeden erreichbar
tailscale funnel --bg 3000
# Öffentlich, auf einem der beiden anderen erlaubten Ports
tailscale funnel --bg --https=8443 3000
# Anzeigen, was gerade freigegeben ist, und alles zurücknehmen
tailscale funnel status
tailscale funnel reset
Ohne --bg läuft die Freigabe im Vordergrund und endet, sobald Sie das Terminal schließen, die vorsichtigere Wahl für einen kurzen Test. Mit --bg übersteht sie Abmeldungen und Neustarts bis zum reset. Machen Sie tailscale funnel status deshalb zur Routine auf jedem Rechner, auf dem Sie Funnel benutzt haben. Vor dem ersten Start müssen MagicDNS und HTTPS-Zertifikate für das Tailnet in der Admin-Konsole aktiviert sein, denn Funnel liefert ein echtes Zertifikat für den ts.net-Namen aus.
Tailscale Funnel mit eigener Domain: der Reverse Proxy auf einem VPS
Funnel antwortet nicht auf app.beispiel.de, und ein CNAME auf Ihren ts.net-Namen ändert daran nichts: Das Zertifikat ist auf den ts.net-Namen ausgestellt, der Browser lehnt die eigene Domain also ab. Die Lösung, die Ihnen eine eigene Domain, jeden Port, kein Funnel-Bandbreitenlimit und eine selbst kontrollierte Anmeldung gibt, ist ein kleiner öffentlicher Server, der Ihrem Tailnet beitritt und den Verkehr darüber an den Rechner zu Hause weiterreicht.
- Mieten Sie einen kleinen VPS mit öffentlicher IPv4 und installieren Sie dort Tailscale (
curl -fsSL https://tailscale.com/install.sh | sh, danachsudo tailscale up). Er erreicht Ihren Heimrechner nun über dessen Tailnet-Adresse100.x.y.z. - Richten Sie einen A-Record für
app.beispiel.deauf die öffentliche IP des VPS und öffnen Sie in dessen Firewall die Ports 80 und 443, sonst nichts. - Installieren Sie Caddy auf dem VPS mit diesem Caddyfile (geprüft mit
caddy validateunter Caddy 2.11.7):
app.beispiel.de {
basic_auth {
# Hash erzeugen mit: caddy hash-password
alice $2a$14$Zkx19XLiW6VYouLHR5NmfOFU0z2GTNmpkT/5qqR7hx4IjWJPDhjvG
}
reverse_proxy 100.101.102.103:3000
}
Caddy holt sich das Let's-Encrypt-Zertifikat für Ihre Domain selbst, und der Block basic_auth stellt die Schranke vor den Dienst, die Funnel nie hatte. Ersetzen Sie 100.101.102.103 durch die Tailnet-IP, die tailscale ip -4 auf dem Heimrechner anzeigt, und prüfen Sie, dass der Dienst dort auf dieser Schnittstelle lauscht und nicht nur auf 127.0.0.1. Das Heimnetz öffnet weiterhin keinen einzigen Port: Der VPS ist die einzige öffentliche Fassade, der Verkehr zwischen beiden läuft durch WireGuard.
Die ehrlichen Kosten: ein paar Euro im Monat und ein Rechner mehr, den Sie aktuell halten müssen. Ein VPS mit 1 vCPU und 1 GB reicht für einen Reverse Proxy locker; die Grenze ist dann die Portgeschwindigkeit des VPS und kein Limit, das ein anderer festlegt. Wer gar keinen öffentlichen Server betreiben möchte, greift zu einem Tunnel-Produkt für eigene Domains, das weiter unten verglichen wird.
★ Nürnberger DSGVO-Rechenzentrum · ✓ Dedizierte IPv4 inklusive · 200-Mbit/s-Port
Die öffentliche Fassade für Ihre eigene Domain → Contabo VPSÖffentliche IPv4 · Unbegrenzter Traffic (Fair Use) · Tritt Ihrem Tailnet mit zwei Befehlen bei→Lieber ein US-Anbieter mit 30 Tagen Geld-zurück-Garantie? Ultahost VPS Basic kostet 5,52 $ im Monat bei 24 Monaten Laufzeit (1 GB RAM, dedizierte IPv4, gelesen am 21. Oktober 2026), genug für den oben beschriebenen Caddy-Reverse-Proxy.
Wann Funnel die richtige Antwort ist, und wann nicht
Funnel passt, wenn Sie jemandem außerhalb Ihres Tailnets mit minimalem Aufwand eine funktionierende HTTPS-URL geben wollen: ein Webhook-Endpunkt, den ein Fremddienst erreichen muss, eine Vorschau auf etwas, das Sie bauen, eine befristete Freigabe. Zertifikate und öffentlicher Eingang werden für Sie erledigt, und es funktioniert in jedem Tarif.
Funnel passt nicht, wenn Sie eine eigene Domain brauchen, einen Port außerhalb der drei erlaubten, dauerhaften Durchsatz oder eine Authentifizierungsschicht, die Sie selbst kontrollieren. Diese Anforderungen weisen woandershin: ein Reverse Proxy auf einem Host mit eigener öffentlicher IP, oder ein Tunnel-Produkt, das um eigene Domains herum gebaut ist. Dieser Vergleich hat seinen eigenen Handel, den man vorher lesen sollte: bei Pangolin vs Cloudflare Tunnel geht es darum, wem die Maschine gehört, aus der Ihr Datenverkehr austritt.
Und für den Fall, den die meisten eigentlich meinen, wenn sie zu Funnel greifen, ich möchte, dass meine eigenen Geräte diesen Dienst von überall erreichen, ist weder Funnel noch ein öffentlicher Tunnel die Antwort. Das leistet das Tailnet bereits, ebenso wie ein Exit Node oder ein selbst gehosteter WireGuard-Server, ohne irgendetwas öffentlich zu exponieren.
Damit die Befehle griffbereit bleiben: Unser kostenloses Tailscale & Headscale Cheat Sheet (PDF, 4 Seiten auf Englisch, direkter Download, ohne Anmeldung) fasst status und ping, Exit Node, Subnet Router, Serve und Funnel, die Headscale-Konfiguration, Benutzer, Schlüssel und ACLs sowie die üblichen Fehlerursachen zusammen. Cheat Sheet herunterladen.
Das Wesentliche
serve und funnel liegen im Terminal ein Wort auseinander und sind in dem, was sie veröffentlichen, gegensätzlich. Serve hält einen Dienst im Tailnet; Funnel stellt ihn ins Internet, auf einem von drei Ports, unter einem ts.net-Hostnamen, mit gedeckelter Bandbreite und ohne irgendetwas, das Besucher authentifiziert.
Entscheiden Sie vor dem Tippen, welches Publikum Sie wirklich meinen. Lautet die Antwort «meine eigenen Maschinen», brauchten Sie nie einen öffentlichen Eingang, und die sicherste Exponierung ist die, die man nie geöffnet hat.
Affiliate-Link
★ Nürnberger DSGVO-Rechenzentrum · ✓ Dedizierte IPv4 inklusive · 200-Mbit/s-Port
Hoste dein VPN auf deinem eigenen VPS → ContaboCloud VPS 4 · 5,50 €/Mon. · Karte oder PayPal · Bestellungen auch von außerhalb der EU→Preis geprüft am 17.10.2026, Laufzeit 24 Monate


