As in, would they be able to access your server?
If you do not trust Tailscale as a company, here is an open source re-implementation of the server called headscale. Some/all clients are open source as well. So, you can review all components yourself or pay for a professional third-party review. Otherwise, if you take a binary blob from any origin, including Tailscale, and have it run with privileges on your server, there are few limits on what this blob can do. Yes, backdoors are technically possible, but probably bad for Tailscale’s business if that ever came to light.
I’ve always wanted to do this however do I understand it correctly that I need to host headscale on a vps server that is not in my tailnet/home network?
It can be on your home network, but it needs to be reachable via HTTPS through the internet. So yeah, a vps is probably the best option.
Your question more relates to security rather than privacy. Tailscale cannot read any of your traffic. It’s all E2EE. Now, is it possible that they’re distributing binaries not built from the open source that contain a backdoor? Sure. But it would be an absolute shitshow, not because you and me but because of the many enterprise customers they have. So I don’t worry about that. Same goes for them going rogue and accessing your devices. For that, there’s Taillock which makes your devices not trust traffic from a device not signed by a trusted node in your Tailnet.
I’d much rather make use of zero-config WG, exit nodes, relay servers, not having to worry about DDNS, solid NAT travelsal, etc. than to worry a company will lose their mind and attack free-plan users.
The biggest downside, as I understand it, is that it’s difficult to convince others to use your tailnet
The official service is bound to need a SSO login from bad privacy related providers. They insist in not allowing a simple account creation with just email and password.
for authentication you need an account at one of their supported SSO providers (which is mostly a big tech brand) or at an OpenID service.
the bigger problem is that (I think) the choosen SSO provider will be able to impersonate you, and so they could reconfigure your network or connect to it
From what I understand tailscale is basically wire guard but made convenient. And how they do that is by managing you wire guard keys for you. So I would have assumed they could use the keys to access your network. HOWever while trying to look into this just now I found out tailnet lock exist and it says “When tailnet lock is enabled, even if Tailscale infrastructure is malicious or hacked, attackers can’t send or receive traffic on your tailnet.”
How is NAT travelsal handled if you want to connect two devices via WG? That’s what Tailscale primarily does.
Yeah true, that’s part of making wire guard more convenient. You have to have a 3rd connection for that I think. In tailscales case it the headscale server.
Why not a direct VPN/WireGuard link to your home network? Works flawless.
Tailscale is very convenient if your home network is behind a CGNAT.
If you’re concerned about privacy I don’t know why you’d use Tailscale over Wireguard directly. The latter is slightly more fiddly to configure, but you only do it once and there’s no cloud middleman involved, just your devices talking directly to each other.
Do you not need DDNS for that?
Yes and because wiregurad is stateless you’ll need a script that checks if your DNS endpoint has updated and restart the wireguard interface so it pulls the fresh DNS/updated IP address. I had to make said bash script for my nodes.
Nope, just an open port. Works directly with public IP. I guess if some ISPs IP lease time is short and they keep changing it regularly, it might become a hassle.
The WireGuard encryptions stops when data reaches their servers and the data is re-encrypted to be sent to the client. So, theoretically, they can look at all the data being passed through.
Read more here about TLS termination and TLS passthrough. https://blog.aiquiral.me/bypass-cgnat
This is blatantly false.