SSD Nodes Learn 🎉 VPS ab $4.99/Monat
Anleitungen Matt ConnorVon Matt Connor · Aktualisiert 2026-08-07

VPS als Tailscale-Exit-Node einrichten

Richten Sie Ihren VPS als Tailscale-Exit-Node ein: Installation, Route, IP-Forwarding und Freigabe in der Admin-Konsole. Beheben Sie danach DNS- und IPv6-Probleme.

Was ein Tailscale-Exit-Node macht

Ein Tailscale-Exit-Node ist ein Rechner in Ihrem Tailnet, der den gesamten Internetverkehr Ihrer anderen Geräte weiterleitet. Ein VPS (Virtual Private Server) eignet sich dafür gut, weil er eine feste öffentliche Adresse hat und dauerhaft online bleibt. Die Einrichtung umfasst fünf Schritte: Tailscale auf dem Server installieren, den Exit-Node bekannt machen, IP-Forwarding aktivieren, die Route in der Administrationskonsole genehmigen und anschließend den Node auf Ihrem Laptop auswählen. Der vierte Schritt besteht aus einem Schalter auf einer Webseite und nicht aus einem Befehl. An dieser Stelle kommen die meisten Anwender nicht weiter.

Nach der Aktivierung verschlüsselt Ihr Laptop jedes Paket und sendet es an den VPS. Der VPS führt Source NAT (Network Address Translation) durch und leitet das Paket mit seiner eigenen öffentlichen IP-Adresse weiter. Für Websites ist der VPS sichtbar. Das WLAN im Café sieht nur einen verschlüsselten UDP-Datenstrom zum VPS und nichts anderes.

Tailscale verwendet WireGuard für den Datenpfad sowie einen Koordinationsserver, der Schlüssel verteilt und zwei Rechner dabei unterstützt, einander hinter NAT zu finden. Deshalb müssen in den folgenden Schritten nirgendwo Schlüssel kopiert werden. Eine ausführliche Darstellung der Abwägungen finden Sie unter wie sich Tailscale und reines WireGuard vergleichen. Wenn Sie jeden Bestandteil des Tunnels selbst verwalten möchten, richten Sie stattdessen ein reines WireGuard-VPN auf Ihrem VPS selbst ein.

Die folgenden Schritte setzen voraus, dass Tailscale bereits auf Ihrem Laptop läuft und beide Rechner sich beim selben Tailnet anmelden. Ein Tailnet ist Ihr privates Tailscale-Netzwerk. Jedes Gerät darin erhält eine stabile Adresse innerhalb von 100.64.0.0/10.

Tailscale auf Ihrem VPS installieren

curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up

Das Installationsskript wählt das Paket-Repository für Ihre Distribution aus und installiert den tailscaled-Daemon. tailscale up gibt anschließend eine Authentifizierungs-URL aus. Öffnen Sie sie in einem Browser und melden Sie sich mit demselben Konto an, das Ihr Laptop verwendet. Ein VPS, der bei einem anderen Tailnet angemeldet ist, kann Ihren Laptop nicht erreichen.

tailscale status
tailscale ip -4

tailscale status sollte nun beide Rechner anzeigen. tailscale ip -4 gibt die Tailnet-Adresse des VPS aus. Diese Adresse übergeben Sie später dem Client.

Tailscale benötigt ein TUN-Gerät, um den Tunnel aufzubauen. Auf einem KVM-VPS ist dieses Gerät vorhanden. Bei Tarifen mit containerbasierter Virtualisierung, die sich den Host-Kernel teilen, fehlt /dev/net/tun manchmal. Dann kann tailscaled die tailscale0-Schnittstelle nicht erstellen. Führen Sie ls -l /dev/net/tun aus, bevor Sie fortfahren.

IP-Weiterleitung aktivieren, sonst verwirft der VPS jedes Paket

Ein Linux-System verwirft jedes Paket, das nicht an es selbst adressiert ist, weil net.ipv4.ip_forward standardmäßig den Wert 0 hat. Der Exit-Knoten würde Ihren Datenverkehr annehmen, entschlüsseln und anschließend verwerfen. Schreiben Sie die Einstellung in eine Datei, damit sie einen Reboot übersteht.

echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
sudo sysctl -p /etc/sysctl.d/99-tailscale.conf

tee -a hängt Inhalte an. Wenn Sie diese Zeilen ein zweites Mal ausführen, werden beide Einstellungen zweimal geschrieben. Das Ergebnis funktioniert weiterhin, aber cat /etc/sysctl.d/99-tailscale.conf sieht ungewöhnlich aus. Prüfen Sie den aktiven Wert, statt der Datei zu vertrauen:

sysctl net.ipv4.ip_forward

Die Ausgabe muss net.ipv4.ip_forward = 1 lauten. Wenn Sie diesen Schritt überspringen und tailscale up --advertise-exit-node verwenden, teilt der Client Ihnen Folgendes mit:

Warning: IP forwarding is disabled, subnet routing/exit nodes will not work.

tailscale set --advertise-exit-node führt diese Prüfung nicht aus. Daher ist es kein Beweis für aktivierte Weiterleitung, wenn set keine Ausgabe liefert. Lesen Sie den sysctl-Wert selbst aus.

Sie müssen eine Masquerade-Regel nicht manuell anlegen. tailscaled erstellt eigene Firewall-Ketten mit den Namen ts-input, ts-forward und ts-postrouting. Die NAT-Regel für den Datenverkehr des Exit-Knotens befindet sich in ts-postrouting. Sehen Sie sie sich mit sudo iptables-save | grep ts- an oder verwenden Sie sudo nft list ruleset auf einem System mit nftables.

VPS als Exit-Node anbieten

sudo tailscale set --advertise-exit-node

tailscale set ändert eine Einstellung und lässt die übrigen unverändert. tailscale up --advertise-exit-node bietet den Node ebenfalls an. Der Befehl hat jedoch einen Nebeneffekt: up behandelt die Flags in seiner Befehlszeile als vollständige Menge der Einstellungen, die vom Standard abweichen. Ein späteres Aufrufen von sudo tailscale up ohne Argumente schlägt deshalb fehl und gibt Folgendes aus:

changing settings via 'tailscale up' requires mentioning all
non-default flags. To proceed, either re-run your command with --reset or
use the command below to explicitly mention the current value of
all non-default settings:

Verwenden Sie für laufende Änderungen set. Dann tritt diese Meldung nicht auf.

Das Anbieten ist zunächst nur ein Angebot. Der VPS teilt dem Koordinationsserver jetzt mit, dass er als Exit-Node zur Verfügung steht. Clients können ihn noch nicht verwenden.

Tailscale-Exit-Node in der Administrationskonsole genehmigen

Dies ist der Schritt ohne zugehörigen Befehl. Öffnen Sie die Maschinenseite in der Administrationskonsole, suchen Sie den VPS, öffnen Sie das Drei-Punkte-Menü am Ende seiner Zeile, wählen Sie Edit route settings und aktivieren Sie Use as exit node.

Solange diese Option nicht aktiviert ist, hält die Steuerungsebene das Angebot zurück und weist es niemandem zu. tailscale exit-node list auf Ihrem Laptop zeigt nichts an, und Ihr Datenverkehr verwendet weiterhin seine normale Route. Auf keiner der beiden Maschinen wird eine Fehlermeldung angezeigt. Der Exit-Node erscheint einfach nicht.

Sie können Exit-Nodes automatisch über einen Eintrag in der Tailnet-Richtliniendatei genehmigen:

"autoApprovers": {
  "exitNode": ["tag:exit"],
}

Ein Gerät, das mit --advertise-tags=tag:exit eingerichtet wurde, wird anschließend automatisch genehmigt, sofern tag:exit unter tagOwners in derselben Richtliniendatei definiert ist. Durch das Tagging ändert sich die Zuständigkeit: Ein getaggtes Gerät gehört zum Tailnet und nicht zu Ihrem Benutzerkonto. Damit ändern sich auch die darauf angewendeten Zugriffsregeln. Für einen einzelnen VPS ist die Option einfacher.

Wählen Sie den Exit Node auf Ihrem Laptop

Auf einem Linux-Client:

tailscale exit-node list
sudo tailscale set --exit-node=vps.your-tailnet.ts.net

exit-node list gibt die in Ihrem Tailnet freigegebenen Exit Nodes mit ihren Adressen aus. Eine leere Liste bedeutet, dass die Freigabe nicht erfolgt ist. Unter macOS, Windows, iOS und Android finden Sie dieselbe Auswahl als Menüeintrag unter Exit Node in der Tailscale-App.

Prüfen Sie dies vom Client aus, niemals vom Server:

curl -4 https://ifconfig.me

Führen Sie den Befehl einmal vor und einmal nach der Auswahl des Exit Nodes aus. Die Adresse muss sich von Ihrer lokalen Adresse zur öffentlichen IP-Adresse des VPS ändern. So beenden Sie die Verwendung des Exit Nodes:

sudo tailscale set --exit-node=

Ein weiterer Parameter ist am ersten Tag wichtig. Wenn ein Exit Node ausgewählt ist, sendet der Client den gesamten Datenverkehr durch den Tunnel, einschließlich Paketen an 192.168.1.50. Dadurch antworten Ihr Drucker und Ihr Netzwerkspeicher nicht mehr. Lassen Sie das lokale Netzwerk über die lokale Route erreichbar:

sudo tailscale set --exit-node=<name> --exit-node-allow-lan-access=true

Warum sich Ihr DNS ändert, sobald der Exit Node aktiv ist

Standardmäßig verwendet ein Gerät, das einen Exit Node nutzt, diesen Exit Node auch als DNS-Resolver (Domain Name System) für jede Domain. Dadurch werden die globalen und Split-DNS-Nameserver überschrieben, die für Ihr tailnet konfiguriert sind. Dieses Verhalten ist beabsichtigt. Würden DNS-Abfragen weiterhin an den Resolver des lokalen Netzwerks gesendet, könnte der Café-Router nach wie vor den Namen jeder von Ihnen besuchten Website sehen, während der eigentliche Datenverkehr privat bliebe. Namen und Pakete sollten denselben Ausgang verwenden.

Das führt häufig zu Problemen bei internen Resolvern: Ein Nameserver im tailnet, von dem Sie abhängig sind, wird nicht mehr verwendet, solange der Exit Node aktiv ist. Aktivieren Sie auf der DNS-Seite der Admin-Konsole für diesen Nameserver Use with exit node, damit er wieder verwendet wird.

MagicDNS-Namen funktionieren weiterhin, weil der Tailscale-Client sie unter 100.100.100.100 lokal auflöst, bevor etwas den Exit Node erreicht. Prüfen Sie dies mit dig @100.100.100.100 your-vps.your-tailnet.ts.net oder auf einem systemd-resolved-Client mit resolvectl status. Dort führt die Tailscale-Schnittstelle 100.100.100.100 als DNS-Server auf.

Wenn Sie die DNS-Verarbeitung von Tailscale mit --accept-dns=false deaktivieren, behält der Client den Resolver bei, den er vom lokalen Netzwerk gelernt hat. Der Datenverkehr wird durch den Tunnel geleitet, die DNS-Abfragen jedoch nicht. Das ist dasselbe DNS-Leak, das bei manuell eingerichteten WireGuard-Tunneln auftritt. Lassen Sie --accept-dns unverändert, sofern kein konkreter Grund für eine Änderung besteht.

IPv6 über den Exit-Node

Ein Exit-Node kündigt beide Standardrouten an, 0.0.0.0/0 und ::/0. Wenn der VPS keinen funktionierenden IPv6-Pfad ins Internet hat, kommen IPv6-Pakete über den Tunnel an und bleiben dort stehen. Testen Sie dies auf dem VPS, bevor Sie ihm vertrauen:

ip -6 addr show
curl -6 https://ifconfig.me

Eine fehlgeschlagene Anfrage bedeutet, dass der VPS keinen IPv6-Upstream hat. Dual-Stack-Websites werden normalerweise trotzdem geladen, weil der Client IPv6 aufgibt und es erneut über IPv4 versucht. Dieser erneute Versuch verursacht jedoch bei der ersten Verbindung zu jeder Website eine Verzögerung. Ziele, die nur über IPv6 erreichbar sind, bleiben unerreichbar.

Der andere Teil ist das Forwarding. net.ipv4.ip_forward = 1 mit net.ipv6.conf.all.forwarding auf 0 ergibt einen funktionierenden IPv4-Pfad und ein schwarzes Loch für IPv6. Für den Leser äußert sich das als „Manche Websites sind langsam“ und nicht als Fehler, nach dem jemand gezielt suchen kann. Beide Zeilen gehören in die sysctl-Datei.

Sollte der VPS auch Subnetz-Routen bekanntgeben?

Ein Exit-Node führt den gesamten Internetverkehr weiter. Eine Subnetz-Route führt zu einem privaten Bereich, der sich hinter dem Rechner befindet, der ihn bekanntgibt. Das sind getrennte Funktionen mit getrennten Genehmigungen. Ein Rechner kann beide Funktionen übernehmen.

sudo tailscale set --advertise-routes=10.0.0.0/24

Geben Sie ein Subnetz bekannt, wenn der VPS ein privates Netzwerk mit anderen Servern teilt, die Sie über ihre privaten Adressen erreichen möchten. Genehmigen Sie die Route im selben Bereich Edit route settings, über den separaten Schalter.

Wählen Sie den Bereich sorgfältig. Eine bekanntgegebene Route ist spezifischer als die Standardroute Ihres Laptops. Wenn der VPS 192.168.1.0/24 bekanntgibt, übernimmt diese Route die Adressen eines Heimnetzwerks, das denselben Bereich verwendet. Die Geräte an Ihrem Schreibtisch sind dann nicht mehr erreichbar. Verwenden Sie einen Bereich, den Sie selbst ausgewählt haben, nicht den Bereich, den Ihr Heimrouter automatisch für Sie ausgewählt hat.

Den Exit Node mit UDP-GRO-Weiterleitung beschleunigen

Tailscale 1.54 und höher kann auf einem Linux-Kernel ab 6.2 einen Receive-Offload verwenden, der den Durchsatz für weitergeleiteten Datenverkehr erhöht. GRO (Generic Receive Offload) fasst eingehende Pakete zusammen, bevor der Kernel sie einzeln verarbeitet. Im August 2026 muss dieser Schritt auf dem Exit Node weiterhin manuell ausgeführt werden.

sudo apt install -y ethtool
NETDEV=$(ip -o route get 8.8.8.8 | cut -f 5 -d " ")
sudo ethtool -K $NETDEV rx-udp-gro-forwarding on rx-gro-list off

ip -o route get 8.8.8.8 meldet die Schnittstelle, über die tatsächlich die Internetverbindung hergestellt wird. Sie müssen daher nicht zwischen eth0, ens3 und enp1s0 raten. Bestätigen Sie dies mit ethtool -k $NETDEV | grep udp-gro-forwarding. Die Ausgabe sollte jetzt on lauten.

Die Einstellung geht beim Neustart verloren. Auf einem System mit networkd-dispatcher können Sie sie automatisch setzen:

printf '#!/bin/sh\n\nethtool -K %s rx-udp-gro-forwarding on rx-gro-list off \n' "$(ip -o route get 8.8.8.8 | cut -f 5 -d " ")" | sudo tee /etc/networkd-dispatcher/routable.d/50-tailscale
sudo chmod 755 /etc/networkd-dispatcher/routable.d/50-tailscale

Prüfen Sie zuerst, ob /etc/networkd-dispatcher/routable.d/ vorhanden ist. Wenn dies nicht der Fall ist, läuft auf dem Rechner networkd-dispatcher nicht. Eine kleine systemd-Unit, die beim Booten die Zeile ethtool ausführt, übernimmt dieselbe Aufgabe.

Was die Acceptable Use Policy Ihres Providers für den ausgehenden Verkehr bedeutet

Jedes Paket, das ein Client über den Exit-Knoten sendet, verlässt diesen mit der öffentlichen IP-Adresse des VPS und wird daher Ihrem Konto zugeordnet. Missbrauchsmeldungen gehen an Ihre E-Mail-Adresse: Hinweise auf Urheberrechtsverletzungen und Beschwerden über Port-Scans. Lesen Sie die AUP (Acceptable Use Policy) Ihres Providers, bevor Sie einen Haushalt oder ein Team über einen Server routen. Öffnen Sie einen Exit-Knoten nicht für Personen, für deren Aktivitäten Sie keine Verantwortung übernehmen können.

Das übertragene Datenvolumen wird doppelt gezählt. Der Verkehr erreicht den VPS über den Tunnel und verlässt ihn anschließend wieder in Richtung Internet. In der Regel werden beide Richtungen auf das im Tarif enthaltene Übertragungsvolumen angerechnet. Ein Videostream, der über einen Exit-Knoten angesehen wird, verursacht daher mehr Datenvolumen, als viele erwarten.

Auch die Reputation von Adressbereichen aus Rechenzentren spielt eine Rolle. Manche Websites zeigen dort häufiger CAPTCHAs an. Einige Streaming-Dienste lehnen solche Adressen vollständig ab. Ihre Konfiguration ändert daran nichts. Das liegt an den Eigenschaften des Adressblocks, den Ihr Provider besitzt.

Warum der Netzwerkverkehr weiterhin über Ihre lokale Verbindung läuft

Der Exit-Node wird angekündigt, aber nicht genehmigt. tailscale exit-node list auf dem Client gibt nichts aus, und keine der beiden Maschinen protokolliert einen Fehler. Öffnen Sie die Seite „Machines“ und aktivieren Sie Use as exit node.

Der Client hat ihn nicht ausgewählt. Durch die Genehmigung wird der Node im Tailnet verfügbar. Die Auswahl ist eine separate Aktion auf jedem Gerät. Führen Sie sudo tailscale set --exit-node=<name> erneut aus und prüfen Sie anschließend wieder curl -4 https://ifconfig.me.

Die Weiterleitung ist deaktiviert. Das Symptom ist eindeutig: tailscale ping <vps> funktioniert, der Tunnel ist offensichtlich aktiv, und jede externe Adresse läuft in einen Timeout. sysctl net.ipv4.ip_forward gibt 0 aus. Korrigieren Sie die sysctl-Datei und führen Sie anschließend sudo sysctl -p /etc/sysctl.d/99-tailscale.conf aus.

Eine Firewall verwirft die weitergeleiteten Pakete. tailscaled fügt eine eigene ts-forward-Kette ein. Auf einem frischen VPS reicht das aus. Auf einem System, auf dem bereits ufw oder Docker läuft, kann die FORWARD-Richtlinie auf DROP stehen und können Regeln vor den Tailscale-Regeln angeordnet sein. Raten Sie nicht: Führen Sie sudo iptables -L FORWARD -n -v aus, während der Client versucht, eine Seite zu laden, und beobachten Sie, welche Zähler sich ändern. Auf einem System mit ufw besteht die übliche Korrektur aus DEFAULT_FORWARD_POLICY="ACCEPT" in /etc/default/ufw, gefolgt von sudo ufw reload. Prüfen Sie außerdem die Netzwerk-Firewall Ihres Providers im Control Panel. Sie ist unabhängig von allen Diensten, die auf dem Server laufen.

Es funktioniert, ist aber langsam. Führen Sie tailscale netcheck auf beiden Maschinen aus. Wenn der Befehl meldet, dass UDP blockiert ist, können die beiden Geräte keinen direkten Pfad aufbauen und verwenden stattdessen ein DERP-Relay. Das erhöht die Latenz jeder Verbindung. Wenn Sie eingehendes UDP auf Port 41641 für den VPS in der Netzwerk-Firewall des Providers zulassen, wird der direkte Pfad normalerweise wiederhergestellt.

Wann Sie den Tailscale-Koordinationsserver nicht mehr verwenden sollten

Alles oben beschriebene hängt für den Schlüsselaustausch und die von Ihnen erteilte Genehmigung vom gehosteten Koordinationsserver von Tailscale ab. Ihr Datenverkehr wird weiterhin direkt vom Laptop zum VPS übertragen. Der Koordinationsserver transportiert ihn nicht. Er entscheidet jedoch, wer dem Tailnet beitreten darf und auf welche Ziele die einzelnen Geräte zugreifen können. Wenn Sie diese Abhängigkeit entfernen möchten, richten Sie Headscale als eigenen Tailscale-Steuerungsserver ein und konfigurieren Sie beide Clients für dessen Verwendung. Die Schritte für den Exit-Node bleiben anschließend gleich. Die Route wird dann über die Befehlszeile von Headscale statt über die gehostete Konsole genehmigt.

FAQ

Warum nutzt mein Netzwerkverkehr weiterhin meine lokale Verbindung, nachdem ich den Exit Node ausgewählt habe?

Dafür gibt es zwei häufige Ursachen. Der Exit Node wurde angekündigt, aber nie genehmigt: Öffnen Sie in der Administrationskonsole die Seite Machines, suchen Sie den VPS, wählen Sie Edit route settings und aktivieren Sie Use as exit node. Die Genehmigung erfolgt über einen Schalter in der Konsole. Kein Befehl auf dem Server führt sie aus. Die zweite Ursache sieht anders aus: IP-Forwarding ist deaktiviert. Der Tunnel wird aufgebaut, tailscale ping zum VPS funktioniert, und jede externe Adresse läuft in einen Timeout. Prüfen Sie dies mit sysctl net.ipv4.ip_forward. Der Wert muss 1 sein.

Muss ich den Exit Node jedes Mal manuell genehmigen?

Der Schalter muss für jede Maschine nur einmal aktiviert werden. Wenn Sie den VPS häufig neu erstellen, fügen Sie Ihrer Tailnet-Richtliniendatei einen Block autoApprovers mit "exitNode": ["tag:exit"] hinzu, definieren Sie tag:exit unter tagOwners und starten Sie den Node mit --advertise-tags=tag:exit. Ein Gerät mit Tag gehört dem Tailnet und nicht Ihrem Benutzerkonto. Deshalb ändern sich auch die dafür geltenden Zugriffsregeln.

Welchen DNS-Server verwendet mein Laptop, wenn ein Exit Node aktiviert ist?

Den Exit Node selbst. Ein Gerät, das einen Exit Node verwendet, sendet alle DNS-Anfragen dorthin. Dadurch werden die globalen und die für Split DNS festgelegten Nameserver des Tailnets überschrieben. Das lokale Netzwerk kann die von Ihnen abgefragten Namen dadurch nicht sehen. Wenn ein Nameserver des Tailnets weiterhin gelten soll, aktivieren Sie auf der DNS-Seite der Administrationskonsole für diesen Nameserver die Option Use with exit node. MagicDNS-Namen werden weiterhin aufgelöst, weil der Tailscale-Client sie lokal unter 100.100.100.100 beantwortet.

Kann ein VPS gleichzeitig als Exit Node und als Subnet Router dienen?

Ja. sudo tailscale set --advertise-exit-node und sudo tailscale set --advertise-routes=10.0.0.0/24 sind unabhängig voneinander. Für jede Funktion gibt es unter Edit route settings einen eigenen Genehmigungsschalter. Auf dem VPS muss für beide Funktionen IP-Forwarding aktiviert sein. Vermeiden Sie die Ankündigung eines Bereichs, der mit dem Heimnetzwerk Ihres Laptops übereinstimmt. Die angekündigte Route ist spezifischer als die Standardroute. Dadurch werden Ihre lokalen Geräte unerreichbar.

Verbirgt ein Exit Node meinen Netzwerkverkehr vor meinem VPS-Provider?

Nein. Der Tunnel endet am VPS. Der Netzwerkverkehr verlässt den Server daher in der Form, die das Ziel erwartet. Ihr Provider überträgt ihn überall im Klartext, wo die Website selbst keine Verschlüsselung verwendet. Ein Exit Node verschiebt den Punkt, an dem Ihr Netzwerkverkehr in das Internet gelangt, vom Netzwerk an Ihrem aktuellen Standort zu dem von Ihnen gemieteten Server. Er verbirgt Ihre Webaktivitäten vor dem WLAN im Café und vor Ihrem Heim-ISP. Ihrem VPS-Provider zeigt er dieselben Webaktivitäten jedoch zusammen mit Ihrem Kontonamen.