Live data from Hacker News

Headscale: Open-source implementation of the Tailscale control server

github.com

31–40 of 70 posts

Re: Headscale: Open-source implementation of the Tailscale control server

#31

Another similar project to Tailscale, for those in the market: https://github.com/slackhq/nebula Crazy simple, fully open source, trivial to self-host. Maybe not as featureful as Tailscale, but imo that can be a feature unto itself.

I've really liked nebula and have been working on a web frontend. Basically define a network and nodes and it uses nebula to generate certificates and has scripts for installing.

https://github.com/symkat/MeshMage

Re: Headscale: Open-source implementation of the Tailscale control server

#32
post #17

so this whole zerocorp/zerotier/encrypted-mesh networking approach is pretty cool, but every time i see it i ask myself: how do you monitor for malicious nodes? in old setups, typically there would be some sort of passive monitoring system that would monitor the traffic between hosts and could be used for forensics/malicious traffic identification. but if you're encrypting traffic at each node for each other node, th…

Some discussion in the Tailscale docs here: https://tailscale.com/kb/1011/log-mesh-traffic/

Re: Headscale: Open-source implementation of the Tailscale control server

#33

Earlier quoted context omitted.

Yes, but that version works only with the tailscale.com server, not a custom one.

Actually the version that's in the App Store does support alternate control servers. It just needs to be configured via MDM configuration ( https://support.apple.com/guide/mdm/mdm-overview-mdmbf9e668/... ). That's how our larger on-prem customers use the iOS client when they run their own in-house control plane server.

Is there any intent to make that just a setting? Using MDM for something like that as an individual seems a little over the top. I couldn't immediately find any information about how to configure this if I wanted to using MDM, even if it was the only option.

Re: Headscale: Open-source implementation of the Tailscale control server

#34
post #17

so this whole zerocorp/zerotier/encrypted-mesh networking approach is pretty cool, but every time i see it i ask myself: how do you monitor for malicious nodes? in old setups, typically there would be some sort of passive monitoring system that would monitor the traffic between hosts and could be used for forensics/malicious traffic identification. but if you're encrypting traffic at each node for each other node, th…

Some discussion in the Tailscale docs here: https://tailscale.com/kb/1011/log-mesh-traffic/

so that's a pretty cool and elegant solution. i suppose they don't have the log tampering detection stuff implemented yet, but it seems straightforward to implement and i'm sure it will happen eventually.

cool. netflow for encrypted mesh networking. still vulnerable if both nodes are compromised via a sidechannel and collude on their logs, but that's also getting pretty radical in terms of an attack vector.

what about actually logging the contents? i've seen big commercial systems that look pretty much like distributed wireshark, with capture points, storage systems and pretty guis for inspection... not sure how prevalent and useful they are, but having a step deeper than netflow style logs can be useful, both for debugging and security purposes. i suppose you could do this double entry for that as well, but that seems a pretty high cost if the tunnels are high bandwidth?

Re: Headscale: Open-source implementation of the Tailscale control server

#35

Another similar project to Tailscale, for those in the market: https://github.com/slackhq/nebula Crazy simple, fully open source, trivial to self-host. Maybe not as featureful as Tailscale, but imo that can be a feature unto itself.

Nebula is great - super simple to set up and get started if you have a VM to use as a lighthouse. Lots of cloud providers free tiers are have enough resources to host a lighthouse as well.

Certificate management is its one weakness at the moment. There are a growing number of projects floating around attempting to solve that though:

- https://github.com/unreality/nebula-mesh-admin

- https://github.com/b177y/starship

- https://github.com/symkat/MeshMage

Plus im sure defined networks has their own solution in the works as well.

Re: Headscale: Open-source implementation of the Tailscale control server

#36

Another similar project to Tailscale, for those in the market: https://github.com/slackhq/nebula Crazy simple, fully open source, trivial to self-host. Maybe not as featureful as Tailscale, but imo that can be a feature unto itself.

Nebula creators also started their own organization called Defined Networking to focus more on this networking: https://www.defined.net/

Re: Headscale: Open-source implementation of the Tailscale control server

#37

Earlier quoted context omitted.

Yes, but that version works only with the tailscale.com server, not a custom one.

Actually the version that's in the App Store does support alternate control servers. It just needs to be configured via MDM configuration ( https://support.apple.com/guide/mdm/mdm-overview-mdmbf9e668/... ). That's how our larger on-prem customers use the iOS client when they run their own in-house control plane server.

Is there a similar setting for Android app? I've tried building .apk with forked version of tailscale, but stopped after I saw issue on github about inability to login via auth key (https://github.com/tailscale/tailscale/issues/675). I thought headscale didn't support auth through email account?

Re: Headscale: Open-source implementation of the Tailscale control server

#38
post #24

Another similar project to Tailscale, for those in the market: https://github.com/slackhq/nebula Crazy simple, fully open source, trivial to self-host. Maybe not as featureful as Tailscale, but imo that can be a feature unto itself.

Related, here's a surprisingly balanced comparison of Nebula and Tailscale, on tailscale.com: https://tailscale.com/kb/1148/tailscale-vs-nebula/ . > If you’re a system administrator or technical person looking for a completely open source, free peer-to-peer mesh VPN, and you’re willing to run a certificate authority and the control plane yourself, try out Nebula. > If you’re looking for a polished, user-friendly peer…

Hm — there’s a middle ground here that’s missing. I’d like to see a managed mesh allow for disabling its key distribution for certain nodes. They don’t create wireguard peers for any but a predefined shortlist of public keys, but still accept route updates from those peers.

The threat model is someone adding peers to the control plane, including as a result of control plane takeover or the identity provider failing. These special nodes can’t then be made to talk to anybody they can’t authenticate, no matter what you do on the control plane. It assumes private keys are safe. Obviously this is a client side setting, which shouldn’t have any control plane API, just like the current Tailscale options to eg accept no incoming traffic. This comes from my experience with ZeroTier, which I wrote about here: https://news.ycombinator.com/item?id=28426664

Then you can run your own Wireguard key distribution if you like, but ideally you just distribute manually for a few nodes and leave it at that.

Re: Headscale: Open-source implementation of the Tailscale control server

#39

While this is great, of course, it's definitely not feature parity with Tailscale, which currently allows me to have nothing listening on the opening internet and still form a private network spanning hosts all over the world, share resources within that network with 3rd parties trivially and send files across my network, android/iOS apps, etc. I still posit the alternative to Tailscale is simply just wireguard. I do…

You don’t think Tailscale has things listening on the open internet? When you use their control plane you are just outsourcing doing this to someone else (who is probably better at it than you but it’s still someone else). Lack of “feature parity” is a strange term for something that completely replicates a third party service but requires self-hosting.

Re: Headscale: Open-source implementation of the Tailscale control server

#40
post #24

Earlier quoted context omitted.

Related, here's a surprisingly balanced comparison of Nebula and Tailscale, on tailscale.com: https://tailscale.com/kb/1148/tailscale-vs-nebula/ . > If you’re a system administrator or technical person looking for a completely open source, free peer-to-peer mesh VPN, and you’re willing to run a certificate authority and the control plane yourself, try out Nebula. > If you’re looking for a polished, user-friendly peer…

Hm — there’s a middle ground here that’s missing. I’d like to see a managed mesh allow for disabling its key distribution for certain nodes. They don’t create wireguard peers for any but a predefined shortlist of public keys, but still accept route updates from those peers. The threat model is someone adding peers to the control plane, including as a result of control plane takeover or the identity provider failing.…

Tiny usability improvement for small networks: “freeze” mode where the current set of peer public keys is frozen and no new peers can be added. Tie this to a (G)UI on each node to accept new peers anyway with user interaction using Signal style key visualisation, and you’re cooking with gas. Probably not worth it though, virtually nobody with three devices total and the time to do this manually really needs it.
Post reply on HN