One common criticism about Tailscale is it has too many features for a networking product, which increase the likelihood of bugs that can lead to security compromise (e.g. Tailscale SSH ), especially when compromised tailscale network means the malicious actors have full access to your internal network.
Selfhosted
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.
Rules:
-
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
-
No spam posting.
-
Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.
-
Don't duplicate the full text of your blog or github here. Just post the link for folks to click.
-
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
-
No trolling.
Resources:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
It's not self-hosted, I refuse to use anything that relies on any third party
Check out Headscale, pretty stable on my end
Does using headscale reduce the available functionality in any way? I read Tailscale's AMAZING article on NAT traversal and was wondering if that was impacted by moving to headscale in any way. Does headscale replace DERP too?
Does heads ale replace DERP too?
Headscale does have a built-in DERP server, and you can run standalone instances using code from tailscale (there are a bunch of docker images you can find on docker hub, or you can build one yourself), which you then have to include in Headscale's config. I've done this for a while, but I was running into connectivity issues when on the go using a mobile connection, so I've been falling back on Tailscale's instances for now. I should try again sometime.
Could it be that your headscale instance is only available over IPv6? Sometimes that's disabled on mobile networks.
I don't know the technicals that well, but I can see relays working if I run tailscale status
. You don't get some enterprise/business features like access control, but I can be wrong.
What is the benefit of this over just running Wireguard?
It's a mesh network unlike plain Wireguard, and it's much easier to set up (with the caveat that there's a third party involved to coordinate connections and stuff)
Elegant, easy to use web based admin panel. Google authentication. Exit nodes (routing all traffic through a peer). Subnet routes. Funnels. It's the best tech I've used lately.
The main benefit is it can punch thorough double NATs. Can't use wireguard if you can't even see your wireguard server when you have a shitty ISP that put their customers behind CGNAT.
Not trying to defend CGNAT because I hate it, but as someone who works for what most of you would consider a "good ISP", we use it simply because don't have enough IP addresses to do 1:1 NAT for every connection, and buying the amount of IP addresses required to do so would literally cost us somewhere in the neighborhood of ~4 million dollars - on top of the headache that we don't know the history of these IP addresses which could cause issues if they are on blacklists, etc.
I understand if it's due to inability to procure more ipv4 blocks as long as the ISP also supports ipv6 properly. Many of those shitty ISPs do not even have that option though.
Yeah, we have a full IPv6 deployment on our entire network and have for a many years now. We're a small rural regional coop so we make an effort to do right by our members the best we can. And for the members who really need a rout-able IPv4 IP, we do have limited blocks we can assign to interfaces if they request it.
Then it's not a shitty ISP. My precious ISP not only put that customer behind CGNAT, the CGNAT's IP addresses they use have poor reputation too so their customers sometimes get caught in captcha hell (very annoying when cloudflare doesn't like you because every other sites are behind cloudflare now), doesn't provide static IP address even when I asked to pay for it, and don't even provides IPv6. The only saving grace was 1:1 download/upload ratio, and they implemented government-mandated block list half-assedly (Reddit is banned in my country) so it's easy to circumvent. Once another ISP covered my area, I immediately jumped ship.
The new ISP also has problem with IPv4 allocation. Sometimes I got assigned behind a CGNAT, but restarting the modern is usually enough to get assigned into a publicly routable IPv4. And they actually have IPv6 so the CGNAT isn't as much of an issue. The drawback is asymmetric download/upload speed, and they implemented the government-mandated block list more competently (transparently hijacking all DNS requests, throttling DoH, ip-blocking some blocked websites, sniffing http host header and block it if the website is banned, etc) so I have a bit harder time to unblock everything.
Wow, that sounds like pretty awful internet conditions. What country do you live in if you don't mind me asking?
I tried it, its great if you want to get started. or you want to run a vpn on a server that doesnt support wireguard. My main gripe with the client is that it can't do high speeds, it's just too cpu bound. Like going close to a gigabit transfer.
With wireguard I was able to get to 98% gigabit transfer. It was fine for a month I was using it, in the end I just setup a wireguard mesh with Netmaker.
There is headscale where you can run your own hosted central server, so you're not using the tailscale one.
In the end netmaker did what I wanted, however they tend to introduce bit of changes in their releases, so if you're not super technical it might pose a challenege with upgrading until they reach a super stable version. Like jump from 0.10.X to 0.20 had some big changes for the whole netmaker internals. Bit that does not impact wireguard connectivity.
It's not self-hosted but it's incredibly useful for self-hosting as it makes public access to locally hosted services a breeze. It's user-friendly, feature-rich and scalable.
This looks like a paid business vpn.. are you even hosting it? I don't get it
If you want to self host, you can run the API server yourself with headscale.
I didn't actually know this. Now I won't get anything done on my honey-do list this weekend...
Neat
The free license is so generous that a home user really should have no reason to ever pay for it.
are you even hosting it
No but as andrew mentions below you CAN self host it.
It's free for personal use, although they offer paid versions for enterprise. It's built using Wireguard, so there is a coordination server that's accessed using the web app, but all the traffic is encrypted from client to client.
I like it, but it consumes copious amounts of battery on my Android phone. I only use it for 1) ssh
and 2) services that I don't want / need to be accessible over the Internet
I run pivpn with wireguard alongside tailscale for this exact reason. Wireguard in the phone, tailscale on PCs.
If you already have to setup and maintain WireGuard, what’s the added benefit of Tailscale for your use case?
In all honesty I ran both because I hadn't yet discovered route advertisement on tailscale. Now that I've discovered that feature, I really only use wireguard for the phone due to battery drain with tailscale. Also, I can't use wireguard on my work PC because the firewall drops all VPN traffic and tailscale gets around that. I'm not gonna pretend to know how it gets around that cause I haven't bothered to learn it that deeply yet but it works and I like it.
I guess the TL;DR is tailscale bypasses firewall restrictions and wireguard doesn't drain my phone battery.
I have an issue with my cell carrier blocking traffic to my home WireGuard server. It works from everywhere else and other cell services so I know it’s them. I’m definitely gonna try out Tailscale to see if it’ll get around it. Thanks for the tip. Too bad about the battery drain but I’m usually only hopping on for a minute to run a few commands over ssh or whatever so shouldn’t be a big deal.
Yeah tailscale is definitely useable on the phone if you toggle it only when you're gonna use it. I keep it on because I have piHole as the VPN DNS so I get adblocking everywhere I go wether I'm on public wifi or cellular. So I need something that doesn't drink battery juice. Wireguard ftw.
I have the same issue with 1.1.1.1 and cloudflare tunnels. It really kills my battery
It does. I only turn it on when I need it.
I was using this for a bit actually, only reason I stopped was the network filters at work broke it...but I might try headscale down the road to see what that does....
That's awesome to hear. I'm looking to set up some self-hosted stuff, and I see a lot of recommendations for Tailscale for the VPN element.
Isn’t tailscale just a company abstracting over a more barebones VPN? I haven’t looked into it, but want to operate a VPN into my home network in the future.
Why would I choose tailscale over just selfhosting wireguard?
I run a single headscale node on one of my free Oracle OCI instances, and connect about a dozen devices to it. No fear of adding friends either, since it's free.
I'm sat behind a CGNAT for my home internet, so I can't really forward ports in. Tailscale has been great as a free thing to let me get a quick-and-easy VPN set up so I can remote into my network reliably.
I prefer ZeroTier, I'm not sure why Tailscale has taken off so much in recent years (perhaps just the cleaner UI and better marketing).
I was using tailscale to transport files between devices quickly but I got an email about a vulnerability that leaked some info. I don't even use it for the vpn part so I just made a protal on a vps that I use now for file transfer. Tailscale was pretty fast at that though, and they were open about the exploit, so I think they're pretty cool.