Leck mich am Arsch, Tailscale bringt ein VPN Mesh für ganz blöde auf die Systeme. Lange Rede kurzer Sinn, Tailscale verbindet unterschiedliche Systeme super schnell und einfach über eine gesicherte VPN Verbindung. Und das auch noch direkt, ohne Umwege über irgendwelche auf dem Globus stehenden Servern. Dabei wird WireGuard als Protokoll verwendet.
Über das Thema Tailscale Vs. WireGuard möchte ich bald ein eigenen Eintrag inklusive Video verfassen.
Videos zum Thema, unten im Beitrag.
Ein paar technische Worte zur Tailscale
Wir wollen die Thematik ein wenig besser verstehen, deswegen hier meine eigenen Worte dazu. TS benutzt die WireGuard Technologie um eine Verbindung zwischen 2 Punkten herzustellen. Also jegliche Verbindungen sind direkt und ohne Umwege über irgendwelche Server. Doch woher haben die Clients alle diese Informationen? Tailscale selbst bietet einen zentralen Koordinationsserver, welcher alle diese Informationen beherbergt und an die Clients verteilt.
Natürlich hat dieser keine Privaten Schlüssel, sondern nur die Öffentlichen Schlüssel der Clienten. Gleichzeitig hält der Server einige weitere Informationen bereit, wie z.B. Routing Informationen. Der Koordinationsserver übernimmt somit wirklich nur die zentrale Rolle des Informationsdienstes. Clienten können sich bei ihm jederzeit melden mit Updateinformationen. Man muss bedenken, das sich auch im laufenden Betrieb Clienten ändern könnten.
Verbindungsaufbau
Wenn der Client im Mesh eingebunden ist, ist dieser noch lange nicht mit allen Clienten verbunden. Eine Verbindung zu einem Partner wird nur hergestellt wenn man ihn selber erreichen will oder der andere eine Verbindung aufbauen möchten. Es gibt also mir bekannt kein Keepalive. Das heißt, wenn Ihr eine Verbindung aufbauen möchtet, dann geht der Client erst dann hin und baut eine Verbindung auf. Das kann man auch im „tailscale status“ sehen. Hier der klare Vorteil, das keine hunderten Verbindungen offen gehalten werden.
Sicherheit
Grundsätzlich gibt es keine Beanstandungen hinsichtlich der Sicherheit von Tailscale. Wenn der zentrale Server von Tailscale benutzt wird, werden zwar einige Daten dort gespeichert, aber keine Private Keys oder ähnlich wichtige Informationen.
Da WireGuard für die Verbindungen genutzt wird, brauchen wir uns auch keine Sorgen machen, dass die Verbindung irgendwie mitgehört werden kann.
Einzig was mir Sorgen macht, ist das der Dienst von einem zentralen Server bedient wird. Dort werden schon einige Daten gesammelt und abgelegt. Gleichzeitig sind wird von diesem Abhängig, denn ohne den kommt auch keine Verbindung zu Stande.
Fazit
Die Einrichtung und Betrieb ich wirklich Kinderleicht. Egal wo Tailscale zum Einsatz kommt, es Verbindet sich anstandslos und benutzt immer wieder die Basis von WireGuard was mir sehr gefällt. Mit den ganzen Zusatzfeatures wird das Produkt abgerundet, sodass sich sicher viele Einsatzzwecke ergeben. Für den Privatgebrauch jedenfalls zu empfehlen, wenn jemand schnell und einfach ein gutes VPN haben möchte.
Dienstlich gesehen sind einige Fragezeichen dabei, alleine schon weil alles von Tailscale zentral gehalten wird. Wenn deren Server mal offline sind, ist ein Arbeiten zwar möglich, aber neue Geräte oder Änderungen sind einfach währenddessen nicht drin.
Ergänzung Proxmox LXC Tun Device hinzufügen
Füge das der LXC Konfigurationsdatei hinzu um TUN Devices in einem LXC nutzen zu können. Pfad /etc/pve/lxc/<LXC-ID>.conf
lxc.cgroup.devices.allow: c 10:200 rwm lxc.mount.entry: /dev/net/tun dev/net/tun none bind,create=file
2. Oktober 2022 um 16:08 Uhr
Hi Dennis,
danke nochmal für deine Anleitung! Hab das bei mir versucht und festgestellt, dass du einen kleinen Fehler beim Punkt mit den LXC Tun Devices hast.
Ab Version 7 von Proxmox wurde das environment auf „cgroup2“ umgestellt. Die config hierzu lautet dann also wie folgt:
lxc.cgroup2.devices.allow: c 10:200 rwm
lxc.mount.entry: /dev/net/tun dev/net/tun none bind,create=file
(Quelle: https://tailscale.com/kb/1130/lxc-unprivileged/#i-upgraded-to-proxmox-70-and-my-lxcs-no-longer-have-devnettun)
LG Sam
5. Dezember 2023 um 13:42 Uhr
Für alle die es interessiert, es gibt auch headscale, um den zentralen Koordinationsserver selber zu hosten.
https://github.com/juanfont/headscale