Zum Inhalt springen

Das eigene VPN mit Netbird

Last updated on 13. Februar 2026

Anfang des Jahres habe ich über ein Wochenende einen Raspberry Pi in Betrieb genommen und dort Pi-Hole als Werbe- und Trackingfilter sowie Unbound als DNS-Server für mein Heimnetz installiert. Was genau ich da gemacht habe, erzähle ich vielleicht ein anderes Mal, nur so viel: Die Filterfunktionen sind so gut, dass ich sie auch unterwegs nicht mehr missen wollte. Deshalb habe ich meine Fritzbox 5590 zum Wireguard-VPN-Server gemacht. So konnte ich mich nun auch von außerhalb meines eigenen Netzwerks mit dem Raspberry Pi verbinden und seine Filterfähigkeiten nutzen. Das hat dazu geführt, dass ich sämtliche Werber- und Tracking-Blocker-Software von Mac, iPhone und iPad tilgen konnte.

Allerdings: Es gab da ein paar Probleme. So hat all das aus diversen Netzen nicht funktioniert. Etwa aus dem Büronetzwerk meines Arbeitgebers, dem Netz der Deutschen Bahn (Wifi on ICE) oder auch in so manchem Hotel. Nachfragen zum Warum waren nicht sonderlich erkenntnisreich, sodass ich mich letztlich dafür entschied, davon auszugehen, dass die Filter- und Firewall-Einstellungen in all diesen Netzen es nicht ganz so super finden, wenn da ein VPN zu einer privaten IP-Adresse, nämlich der meines Hausanschlusses, aufgebaut wird.

Also habe ich nach einer Lösung gesucht, die diese Einschränkungen möglicherweise umgehen könnte. Wer danach im Netz recherchiert, stößt schnell auf einen Dienst namens Tailscale. Tailscale basiert zwar auf WireGuard, nutzt aber eine intelligente Technik, um sich durch fast jede Firewall „hindurchzuschmuggeln“, um es mal ganz technisch korrekt zu formulieren. Dazu nutzt Tailscale kleine Hilfsserver (sogenannte DERP-Server), um die Verbindung über das HTTPS-Protokoll (Port 443) aufzubauen, wenn eine direkte Verbindung blockiert wird. Und Port 443 ist eigentlich immer überall offen, schließlich wird der gemeinhin benötigt, um auch mit dem Browser „sicher“ im Netz zu surfen.

Online-Berichte über Tailscale lesen sich entsprechend hervorragend – it just works. Was mir an Tailscale aber nicht so recht schmecken wollte, ist, dass es sich dabei zwar nicht um einen US-Dienst, wohl aber um ein kanadisches Unternehmen handelt. Jetzt habe ich gar nichts gegen Kanada, ich habe mich aber auch nicht tiefergehend damit befasst, wie die Gesetzeslage um Datenschutz etc. pp. dort bestellt ist. Statt mich da weiter einzulesen, habe ich lieber nach einem europäischen Dienst mit vergleichbarem Angebot gesucht. Gefunden habe ich dabei Netbird – aus Berlin.

Schaubild der Funktionsweise von Netbird. (Inhalt an dieser Stelle nicht weiter relevant, dient nur zur Illustration.)
Schaubild der Funktionsweise von Netbird. Darstellung: Netbird.io.

Netbird scheint mir die derzeit spannendste europäische Alternative zu Tailscale zu sein und verfolgt einen sehr ähnlichen Ansatz: Es nutzt Wireguard als Basis und „bohrt“ Tunnel durch restriktive Firewalls. Und: Im Gegensatz zu Tailscale ist bei Netbird nicht nur der Client, sondern auch die gesamte Server-Infrastruktur quelloffen. Yay! Die Sahne auf der Kirsche auf der Torte ist dann noch, dass man bei Netbird auch ein ganz ähnliches Preismodell wie bei Tailscale verfolgt, und so ist die private Nutzung de facto kostenfrei. De facto, weil sie immerhin bis zu 5 Benutzer:innen und 100 Geräte umfasst. Wer mehr benötigt, ist wohl definitiv kein:e Privatanwender:in mehr.

Das Set-up

Tatsächlich ist der Start mit Netbird denkbar einfach und wie so oft steht am Anfang das Erstellen eines kostenfreien Accounts. Dort gilt es, ein paar Fragen zu beantworten. Die standardmäßig vorgegebenen Antworten sind zumindest für mein Szenario überall richtig. Als Nächstes geht es daran, die anderen Geräte, also meinen Mac, mein iPhone, mein iPad und vor allem den Raspberry Pi anzumelden und einzubinden. Mit den erstgenannten Geräten ist das denkbar einfach: App installieren, starten, einloggen, kurz warten, fertig.

Mein Raspberry Pi hingegen verfügt nicht über eine grafische Benutzungsoberfläche, hier ist also etwas Terminal-Magie gefragt, allerdings von der idiot:innensicheren Sorte. Einmal per Terminal angemeldet, reicht der folgende Befehl, um den Download und die Installation zu starten:

curl -fsSL https://pkgs.netbird.io/install.sh | sudo sh

Das sollte ohne probleme durchlaufen. Danach bedarf es nur noch eines beherzten

netbird up
Übersicht der Nameservers-Seite im Netbird-Dashboard.
Übersicht der Nameservers-Seite im Netbird-Dashboard.

auf dem Terminal, um den installierten Dienst auch zu starten. Auf dem Terminal erscheinen nun ein paar Zeilen, relevant ist vor allem ein Link, der ungefähr so aussehen sollte: https://login.netbird.io/activate?user_code=… Dieser muss kopiert und in einen Browser eingefügt werden. Nach der Eingabe der Netbird-Login-Daten ist auch der Raspberry Pi angemeldet.

Damit meine Geräte von unterwegs auch alle anderen Geräte im Heimnetzwerk sehen können und vor allem auch den Raspberry Pi mit Pi-Hole als DNS-Server nutzen, sind allerdings noch zwei weitere Einstellungen nötig. Im Netbird-Dashboard gibt es den Bereich „Network Routes“ in dem mit „Add Route“ eine neue Netzwerk-Route erstellt werden kann. Hier ist der (inzwischen angemeldete) Raspberry Pi als Server auszuwählen und als „Network Range“ das heimische IP-Netz. Bei einer Fritzbox ist das standardmäßig 192.168.178.0/24. Wenn du das jemals geändert hast, musst du’s hier entsprechend anpassen. Im letzten Schritt der Routen-Erstellung sollte die „Masquerade“-Option bereits ausgewählt sein, wenn nicht, muss sie manuell aktiviert werden. Sie sorgt dafür, dass die Fritzbox die Anfragen der mobilen Geräte akzeptiert.

Im letzten Schritt muss noch der Raspberry Pi als DNS-Server definiert werden. Dafür braucht es die Netbird-IP-Adresse des Raspberry Pis. Die findet sich im Dashboard und beginnt meist mit 100.x.x.x. Im Dashboard wählst du „DNS > Nameservers“ und trägst nach einem Klick auf „Add Nameserver“ ebendiese IP-Adresse ein und wählst letztlich noch „All Peers“ bei „Distribution Groups“ aus, damit jedes verbundene Gerät automatisch den Pi-Hole-Filter nutzt.

Erfolgskontrolle

Theoretisch funktioniert damit alles. Ein Test ist denkbar einfach: Ich habe dafür das WLAN auf meinem iPhone abgeschaltet, die Netzbird-Verbindung aktiviert und geschaut, ob ich im Browser unter 192.168.178.1 meine Fritzbox erreiche. Jupp, klappt. Kurze Besuche von werbelastigen Seiten wie spiegel.de bestätigen mir dann auch schnell, dass auch das Surfen über den Pi-Hole wie zu Hause funktioniert.

Screenshot vom Button zum Start der Exit-Node-Konfiguration.
Der Raspberry Pi (oder letztlich jeder andere Peer) kann relativ einfach als Exit Node konfiguriert werden. Dann läuft jeglicher Traffic über diesen Computer – mit allen Vor- und Nachteilen.

Bonus: Exit Node

Wer möchte, kann jetzt noch den Pi-Hole-Server als Exit Node konfigurieren. Damit würden nicht mehr nur auch von unterwegs DNS-Anfragen gefiltert, sondern sämtlicher Traffic würde immer über den Raspberry Pi geschickt, was von Vorteil sein kann, wenn man beispielsweise aus dem Ausland auf deutsche Streaming-Dienste zugreifen wollte. Im Alltag brauche ich das nicht, und ehrlicherweise hätte ich auch Sorge, dass das meinen kleinen Raspberry Pi Zero 2, der ja nur über wenig RAM und überschaubare CPU-Power verfügt, schnell überfordern könnte.

Wer aber einen potenteren Pi-Hole-Server betreibt oder es einfach mal versuchen möchte, könnte so vorgehen:

Damit der Server Internetpakete für andere Geräte überhaupt weiterreichen „darf“, muss ihm das explizit erlaubt werden (Stichwort: IP Forwarding). Dazu geht’s zurück ins Terminal auf dem Raspberry Pi und die zugehörigen Befehle lauten:

echo "net.ipv4.ip_forward = 1" | sudo tee /etc/sysctl.d/60-netbird.conf

und

sudo sysctl -p /etc/sysctl.d/60-netbird.conf

Danach muss im Netbird-Web-Dashboard unter „Peers“ der Pi-Hole ausgewählt werden. Im jetzt erscheinenden Bereich gibt es einen Button „Set Up Exit Node“. Im nächsten Schritt wird bei „Distribution Groups“ wieder „All“ ausgewählt und im letzten Schritt muss erneut „Masquerade“ aktiviert bleiben/werden.

Zum Abschluss muss der Exit Node noch auf allen Endgeräten ausgewählt werden. Das geht auf dem Mac beispielsweise über einen Klick auf das Netbird-Icon in der Menüleiste und den Unterpunkt „Exit Node“. Um zu überprüfen, ob alles geklappt hat, hilft wieder das iPhone. Mit dem heimischen WLAN verbunden, sollte beim Aufruf von wieistmeineip.de im Browser dasselbe Resultat erscheinen, wie beim Aufruf dieser Website über das 5G/4G-Netz (also bei deaktiviertem WLAN) bei aktivierter Netbird-Verbindung.

Das Gute ist, dass sich die Exit-Node-Funktion auf den Clients beliebig ein-/ausschalten lässt. So ist es vielleicht eine gute Lösung, den Raspberry Pi grundsätzlich als Exit Node einzurichten, aber nur im Bedarfsfall darauf zurückzugreifen.

Wenn du herausfinden willst, wie stark die Exit-Node-Funktion den Raspberry Pi tatsächlich belastet, kannst du dort, wieder via Terminal, htop installieren:

sudo apt update && sudo apt install htop -y

Wenn du dann im Terminal htop aufrufst, siehst du live die Auslastung deines Systems, sowohl was die CPU-Kerne, als auch den Arbeitsspeicher und Swap anbelangt. Ein möglicher Härtetest wäre es jetzt, das WLAN auf dem iPhone zu deaktivieren, die Netbird-Verbindung bei aktivierter Exit-Node-Funktion zu starten und beispielsweise anzufangen, einen Film bei Apple TV zu streamen.

Ein letzter Check

Jetzt wäre es natürlich gut, sicherzustellen, dass die Netbird-Verbindung auf dem Raspberry Pi auch immer läuft, beziehungsweise etwa nach einem Neustart des Systems automatisch wieder gestartet wird. Um zu überprüfen, ob das bereits bei der Installation so eingerichtet wurde, hilft folgender Befehl im Terminal weiter:

sudo systemctl is-enabled netbird

Ist das Ergebnis hier enabled, ist bereits alles in Butter. Sollte mit disabled geantwortet werden, hilft der Befehl

sudo systemctl enable netbird

weiter.

Netbird-Dashboard mit allen Peers meines Netzwerks.
Netbird-Dashboard mit allen Peers meines Netzwerks.

So konnte ich mein Problem in unter einer halben Stunde lösen. Zumindest glaube ich das. Aus dem Büronetzwerk jedenfalls funktioniert’s jetzt schon mal. Ich bin schon gespannt auf die nächste Zugfahrt.

Next Steps?

Na ja, wie’s dereinst weitergehen wird, liegt auf der Hand: weg von einem Anbieter und hin zum eigenen Server. Da hängen für mich aber noch viele weitere Überlegungen dran. Etwa, ob  ein solcher Server dann auch gleich so ausgestattet sein sollte, dass da meine Nextcloud in der Cloud (statt bei mir zu Hause) darauf laufen kann? Wird das dann auch mein Mail-Server? Mein Webserver? Braucht er genug Power, dass ich da auch Videokonferenzen drüber laufen lassen kann? Oder reicht’s, wenn der erstmal nur das VPN für mich aufspannt? Das Gute ist: Wirklich umgewöhnen muss ich mich dann nicht, denn Netbird kann man auch self-hosted betreiben. Aber das ist ein Projekt für ein anderes Mal.

Published inTech-Talk

Sei der Erste der einen Kommentar abgibt

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden.