Tailscale: A modern replacement for Hamachi
When I was in college almost a decade ago, I lived on the computer science floor of my dorm. It was quite possibly one of the most interesting places I’ve ever lived. It was full of nerds, and we had file shares and LAN parties every weekend. While I was there, I got introduced to a tool called Hamachi that we used in order to keep playing games like Minecraft, StarCraft (Brood War), and Age of Mythology together over winter and summer breaks. We shared our photos, code creations, and more; all over that shared network. This allowed us to be together even on breaks, when we were on opposite sides of the state.
With Hamachi, you had a network number and you shared that with your friends in order to join your machines together. You got your own IP address and could discover your friends’ computers using the app. There was firewall hole punching, as well as an array of relay servers as a fallback. It was a fantastic thing in practice. My friends and I were able to play games for all the years I was in college. Things faded naturally as people graduated, but Hamachi continued to be one of the most useful pieces of software I had ever used.
I’ve been working at Tailscale for almost two years, and after deep diving into Tailscale in a billionty different aspects, I think that Tailscale is not just Hamachi v2, it’s an evolution beyond the concepts Hamachi brought to the table. Tailscale transforms the ideas of Hamachi in ways that take it from being another mesh VPN to being a fundamental building block that your friends, family, co-workers, and external contractors can use in order to build the next generation of shared game worlds, internal applications, and more as we transition toward an interplanetary civilization.
(...)
You can even use Tailscale as your authentication provider for Minecraft! Then you have an even more strict mapping between actions taken in-game and who did it. This works with node sharing, too.
The IP address space that Hamachi used was selected to avoid conflicting with anyone’s existing private networks. They used the IP address block 5.0.0.0/8, which was unused at the time. Then people started using that IP address block on the public internet because of the IPv4 address shortage. Hamachi compromised by using the 25.0.0.0/8 range owned by the UK Ministry of Defence. Most of those IP addresses are not publicly routable and don’t host anything important to random members of the public, so Hamachi used that range.
This is still kind of ugly from a network engineering standpoint. If that range ever gets sold, Hamachi may have to re-number that network again, which will surely break countless DNS entries and autojoin lists across the planet. Tailscale has the same problem of not wanting to collide with anyone’s existing networks, but we took a different approach. Tailscale uses a private address range called the Carrier Grade NAT address space. We have our own IPv6 subnet in the Unique Local Address space: fd7a:115c:a1e0::/48, which we also encourage you to use as much as possible. This allows us to ensure that we will never have to change IP address ranges. Your IP addresses are stable and you can feel safe to use them in documentation and DNS names. Even if you are the UK Ministry of Defence.
An image of Mara
<Mara> When we rolled the random number generator dice for our IPv6 subnet like the RFC says to, it was kind of serendipitous because the result we got kinda looks like tailscale0. Interesting coincidence, eh?
Tailscale also supports more OSes and platforms than Hamachi ever did. Hamachi was released as closed source software that was only compiled for Windows, macOS and as a beta for Linux. Tailscale supports Windows 7, Windows 10, Windows 11, macOS 10.13 and later, iOS 12 and later, Android 6.0 and later, and just about any Linux distribution you can think of for every CPU architecture that the Go compiler will build it for. If you have a Raspberry Pi running CentOS, a random ancient 32-bit laptop running OpenSUSE, and one of those fancy RISC-V development boards running Ubuntu: It’ll all just work. You’ll be able to connect to them from your iPhone on the other side of the planet. The VPN engine at the heart of the Tailscale client is also open source, which means that you can get Tailscale working on platforms we don’t officially support, such as FreeBSD or OpenBSD.
Hamachi required you to connect to their proprietary central servers and didn’t allow you to self-host the infrastructure at the core of it. Tailscale is an adamant supporter of open source software, including the open source control server Headscale. You can use Headscale to connect your devices together without Tailscale knowing anything about them.
2
Of course, this doesn’t include the other things that Tailscale does, such as HTTPS certificates with Let’s Encrypt, MagicDNS, and Tailscale SSH.
More than just networking
Hamachi gives you network connectivity between your devices and stops there. Tailscale does also give you network connectivity between your devices, but it doesn’t stop there. Tailscale uses its primitives as building blocks to allow you to do more. Tailscale lets you connect with a network of your colleagues, friends, and family so that you can go back to doing what you love together, be it playing Minecraft, sharing prototypes of web applications, securing access to internal services, or anything else you can imagine.
What could you do if you didn’t have to worry about the hard problems of networking? Find out with Tailscale.
Fonte: https://tailscale.com/blog/hamachi?xtrsl=en&xtrtl=pt&xtrhl=pt&xtrpto=tc&xtr_hist=true