Zum Inhalt springen
SONOYA.com
Raspberry Pi & Linux

Tailscale Exit Node: unterwegs über den Pi surfen

Raspberry Pi als Tailscale Exit Node: im Hotel-WLAN sicher über den eigenen Anschluss surfen und Pi-hole auch unterwegs auf dem iPhone nutzen.

Von

VPN-Symbol auf dunkelrotem Verlauf für einen Raspberry Pi als Tailscale Exit Node, über den das iPhone unterwegs sicher ins Internet geht

Im Hotel, im Zug oder im Café hängst Du in fremden WLANs, deren Betreiber im Zweifel sehen, welche Dienste Du nutzt, und die manche Seiten sperren. Zu Hause filtert Pi-hole Werbung und Tracker, unterwegs ist dieser Schutz weg. Beides lässt sich mit einem Raspberry Pi und Tailscale lösen: Der Pi wird zum sogenannten Exit Node, und Dein iPhone oder Laptop schickt seinen gesamten Internetverkehr verschlüsselt nach Hause und von dort ins Netz.

Das Ergebnis ist ein eigenes VPN, ganz ohne Portfreigaben im Router, ohne feste IP-Adresse und ohne monatliche Kosten für einen VPN-Anbieter. Diese Anleitung richtet den Exit Node ein und verbindet ihn auf Wunsch mit Pi-hole. Grundlage ist die offizielle Tailscale-Dokumentation zu Exit Nodes, getestet mit Raspberry Pi OS auf Basis von Debian 13.

Was ein Exit Node ist und was nicht

Normalerweise verbindet Tailscale nur Deine Geräte untereinander. Der restliche Internetverkehr läuft wie gewohnt über das WLAN, in dem Du gerade bist. Schaltest Du einen Exit Node ein, geht der gesamte Verkehr verschlüsselt zum Exit Node und erst von dort ins Internet.

Für Websites siehst Du damit aus, als wärst Du zu Hause. Das bringt drei Vorteile: Das fremde WLAN sieht nur verschlüsselte Daten, Dienste mit Ländersperre funktionieren wie daheim, und Dein Pi-hole kann mitfiltern. Der Nachteil: Die Geschwindigkeit ist durch den Upload Deines Internetanschlusses begrenzt. Mit 40 Mbit/s Upload surfst Du unterwegs höchstens mit 40 Mbit/s.

Wenn Du Tailscale bisher nur für den Fernzugriff auf Home Assistant kennst, findest Du die Grundlagen in Home Assistant von unterwegs: Tailscale oder Cloudflare.

Was Du brauchst

  • Einen Raspberry Pi, der rund um die Uhr läuft und per Kabel am Router hängt. Ein Raspberry Pi 4 oder 5 schafft auch schnelle Anschlüsse problemlos. Ein gebrauchter Raspberry Pi 4 (Affiliate Link) genügt dafür völlig.
  • Ein kostenloses Tailscale-Konto. Der kostenlose Tarif reicht für private Zwecke aus.
  • Die Tailscale-App auf iPhone, Android oder Mac.

Schritt 1: Tailscale auf dem Pi installieren

Melde Dich per SSH am Pi an und installiere Tailscale mit dem offiziellen Skript:

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

Das Skript erkennt das Betriebssystem, richtet die Paketquelle von Tailscale ein und installiert das Programm. Melde den Pi danach in Deinem Konto an:

Code
sudo tailscale up

Der Befehl gibt einen Link aus. Öffne ihn im Browser, melde Dich bei Tailscale an und bestätige das Gerät.

Schritt 2: Weiterleitung im Linux-Kernel einschalten

Damit der Pi Verkehr von anderen Geräten ins Internet weiterreichen darf, muss die IP-Weiterleitung eingeschaltet sein. Lege dafür eine eigene Konfigurationsdatei an:

Code
echo 'net.ipv4.ip_forward = 1' | sudo tee /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

Die ersten beiden Zeilen schreiben die Einstellung für IPv4 und IPv6 in die Datei, die dritte lädt sie sofort. Die Datei sorgt dafür, dass die Einstellung auch nach einem Neustart gilt.

Schritt 3: Den Pi als Exit Node anbieten

Code
sudo tailscale set --advertise-exit-node

Damit meldet der Pi bei Tailscale, dass er als Exit Node bereitsteht. Aktiv ist er damit noch nicht, denn ein Exit Node muss im Konto freigegeben werden.

Öffne die Admin-Konsole von Tailscale im Browser. Beim Pi steht jetzt der Hinweis Exit Node. Klicke rechts auf das Menü mit den drei Punkten, wähle Edit route settings und setze den Haken bei Use as exit node. Speichere.

Ein Tipp an derselben Stelle: Deaktiviere im Menü des Pi über Disable key expiry das Ablaufen des Schlüssels. Sonst musst Du den Pi alle paar Monate neu anmelden, und der Exit Node fällt unbemerkt aus.

Schritt 4: Den Exit Node unterwegs nutzen

Öffne auf dem iPhone die Tailscale-App, tippe auf Exit Node und wähle Deinen Pi. Ab jetzt läuft der gesamte Verkehr über Dein Zuhause. Auf dem Mac findest Du dieselbe Auswahl im Tailscale-Menü in der Menüleiste.

Prüfe, ob es funktioniert: Rufe im Browser eine Seite auf, die Deine öffentliche IP-Adresse anzeigt, zum Beispiel über eine Suche nach „Wie ist meine IP“. Sie muss jetzt der Adresse Deines Internetanschlusses zu Hause entsprechen, nicht der des Hotel-WLANs. Bei der FRITZ!Box siehst Du Deine öffentliche Adresse auf der Übersichtsseite.

Damit Du im Hotel weiterhin Geräte im lokalen Netz erreichst, etwa einen Chromecast, gibt es in der App die Option Allow Local Network Access. Sie ist standardmäßig aus und sollte in fremden Netzen auch aus bleiben.

Schritt 5: Pi-hole auch unterwegs nutzen

Läuft auf dem Pi schon Pi-hole, wie in Pi-hole mit Unbound: eigener DNS-Resolver ohne Google beschrieben, nutzt Du es auch über Tailscale. Dafür sind drei Einstellungen nötig, die die Tailscale-Anleitung zu Pi-hole beschreibt.

Pi-hole muss Anfragen über Tailscale annehmen. Öffne in Pi-hole Settings > DNS, schalte oben rechts von Basic auf Expert und setze unter den Interface-Einstellungen Permit all origins. Das ist nur sicher, weil der Pi keine Portfreigaben im Router hat und von außen nicht erreichbar ist. Sichere die Pi-hole-Oberfläche trotzdem mit einem starken Passwort.

Der Pi selbst darf nicht Tailscale-DNS nutzen. Sonst fragt er sich im Kreis selbst. Sag Tailscale auf dem Pi, dass es die DNS-Einstellungen nicht übernehmen soll:

Code
sudo tailscale set --accept-dns=false

Alle Geräte im Tailnet sollen Pi-hole fragen. Öffne in der Admin-Konsole den Bereich DNS, wähle unter Nameservers den Punkt Add nameserver und dann Custom. Trage die Tailscale-Adresse des Pi ein, die mit 100. beginnt und in der Geräteliste steht. Schalte danach Override DNS servers ein.

Prüfe es auf dem iPhone: Öffne bei aktivem Tailscale ein paar Seiten und schau in Pi-hole unter Query Log. Die Anfragen kommen jetzt von der Tailscale-Adresse Deines iPhones.

Typische Fehler

Mit Exit Node geht gar nichts mehr ins Internet. Meist fehlt die IP-Weiterleitung aus Schritt 2. Prüfe sie mit sysctl net.ipv4.ip_forward, die Ausgabe muss = 1 enden.

Die Admin-Konsole zeigt eine Warnung zu UDP GRO. Auf manchen Systemen empfiehlt Tailscale eine Optimierung der Netzwerkkarte für mehr Tempo. Für einen privaten Exit Node ist das nicht nötig, die Verbindung funktioniert auch ohne.

Webseiten laden, aber Werbung ist nicht gefiltert. Dann geht DNS nicht über Pi-hole. Prüfe in der Admin-Konsole, ob Override DNS servers aktiv ist, und schalte Tailscale auf dem iPhone einmal aus und an.

Fazit

Ein Raspberry Pi, drei Befehle und ein Haken in der Admin-Konsole, und Du hast ein privates VPN, das Dich in jedem fremden WLAN schützt und Deinen Werbefilter mitnimmt. Für die meisten privaten Zwecke ersetzt das ein kommerzielles VPN-Abo. Wenn Du statt Tailscale lieber einen eigenen WireGuard-Server in der Cloud betreibst, zeigt WireGuard-VPN auf einem Ubuntu-Droplet einrichten diesen Weg.

Weiterlesen.