this post was submitted on 18 Mar 2025
17 points (90.5% liked)

Selfhosted

44647 readers
2334 users here now

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:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. 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.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

Did anyone paranoid like me research security implications of running Tailscale/Headscale or similiar?

Right now I'm self-hosting headscale controller in my LAN and expose it to public Internet. I'm thinking about moving it to a VPS, but I'm a little paranoid about exposing the software that controls connectivity between my and family machines to a third party, be it official Tailscale controller or VPS provider where I run Headscale.

Currently I think that even in the worst case of someone compromising my Headscale instance it should still be fine as long as all of the machines are properly firewalled and all of the exposed apps and services are behind authentication. I run everything behind Authentik and only keys for SSH access. I will certainly add some network monitoring to all of that.

Any opions and suggestions on this matter are welcome.

you are viewing a single comment's thread
view the rest of the comments
[–] tux7350@lemmy.world 2 points 1 day ago

I use headscale on a VPS as an ingress point into my network and I love it. On top of headscale, I use two instances of traefik to make my network. I have one instance of traefik running on the vps which runs a couple of services that I want running 24/7(headscale-ui is nice). It pulls a subdomain certificate for TLS. So any services under say *.vps.example.com get routed to the VPS.

Then I have a wildcard TCP rule pointing the rest of the network traffic to my home server through headscale. My home server is running another instance of traefik where all my services are running. This pulls another wildcard cert for the rest of the *.example.com subdomains.

Cool thing about this setup is I can now have my DNS server rewrite *.example.com to my servers LAN IP. Now when my device is home, it works even when WAN is out. But when I'm out and about, it hits the public DNS and goes through my VPS. With traefik I can write a not !ClientIP rule and essentially block the VPS. Now I can host a service at home but also block it from being accessed from the public. But if I need access to the LAN remotely, I can just use a tailsacale client and get into headscale and see everything.

Its an odd network, but it's super flexible and works very well for my use case. If you have any questions I'd love to help you set something like this up :D