• Fiery@lemmy.dbzer0.com
    Aquileo | link
    Aquileo | fedilink
    English
    Aquileo | arrow-up
    7
    ·
    1 day ago

    (For simpler use cases) it is basically a control plane above wireguard. The simple connections made use the wireguard protocol, all the other functionalities (and boy there’s a lot) are tailscale.

    • hirihit640
      Aquileo | link
      Aquileo | fedilink
      English
      Aquileo | arrow-up
      2
      ·
      1 day ago

      i’m curious about the other functionalities because in almost every homelab discussion about tailscale there’s somebody bringing up wireguard as a viable alternative

      • sandwichsaregood@lemmy.world
        Aquileo | cake
        Aquileo | link
        Aquileo | fedilink
        English
        Aquileo | arrow-up
        6
        ·
        Aquileo | edit-2
        19 hours ago

        You can do most everything Tailscale does with native Wireguard, it’s just a lot of work to manage any of what Tailscale does beyond the most basic. It’s a lot of convenience on top of Wireguard. If you just need a basic “I want my phone to easily get back to my home network” then I would probably stick to Wireguard (and maybe a GUI on top like wg-easy). If you want to do more complicated stuff, like link multiple sites, mesh routing between multiple networks, sophisticated user access controls, etc, Tailscale starts to be maybe be worthwhile. Or another solution, I personally actually prefer to use Netbird, which is basically similar.

        One thing it does do that native Wireguard does not is it includes a relay server, so that if two hosts can’t actually reach each other directly they can still negotiate a direct connection or even fall back to using the relay server to communicate. This is useful if you’re stuck behind something like CGNAT or other networking schemes where hosts may not be able to have a publicly routable IP address.

        Tailscale (and Netbird) also offer one extra convenience which is they both have built in reverse proxies that integrate with the VPN network they generate. Strictly speaking that part is separate from Wireguard; you can also do that yourself but it’s rather convenient. This lets you have publicly trusted TLS certificates and stuff for your internal sites and depending on how you use it can replace stuff like Cloudflare tunnels. So you can host sites without port forwarding.

        FWIW I primarily use a native wireguard server with wg-easy for most of my VPN needs and I only really use Tailscale (actually, Netbird) for some specialized uses. Mostly replacing Cloudflare tunnels with something I fully control.

      • Fiery@lemmy.dbzer0.com
        Aquileo | link
        Aquileo | fedilink
        English
        Aquileo | arrow-up
        4
        ·
        24 hours ago

        Very non exhaustive list (just things I personally use), all of these are configurable (globally or per device/group/tag)

        • NAT traversal (no open ports)
        • mesh-routing, any device can connect to any device as soon as its added to the tailnet (configurable of course)
        • 'magic’DNS, route to any node based on name in your tailnet. E.g. ping homepc in my terminal connects just like that
        • ssh auth via tailnet, can just `ssh accountname@homelab to get a shell on my homelab
        • taildrop, think localsend over your tailnet
        • subnet routing, expose a subnet to any node, e.g. i can ping 192.168.0.123 from any device via my tailscale node running on 192.168.0.50
        • exit nodes, route all traffic from a device through another device that advertises itself as an exit node. (Basically classic VPN)
        • funnel, expose a service to the internet (haven’t used that one in a while since I got my own domain and reverse proxy etc set up

        They offer so much more though

        • hirihit640
          Aquileo | link
          Aquileo | fedilink
          English
          Aquileo | arrow-up
          1
          ·
          7 hours ago

          I see. Some of these are possible through wireguard btw. Subnet routing and exit nodes are pretty easy. Funnel would require some firewall rules, so not wireguard but still easy. For SSH using names, and “magic dns”, you could just modify the hosts file. Taildrop is localsend.

          But NAT traversal and automatic re-configuration of clients sound like the main benefits here.

          • Fiery@lemmy.dbzer0.com
            Aquileo | link
            Aquileo | fedilink
            English
            Aquileo | arrow-up
            2
            ·
            5 hours ago

            Seeing as tailscale is using wireguard as the underlying protocol I’d imagine most of what they do is possible with wireguard + small extra app :).

            Its indeed the zero config mesh with NAT traversal and the fact that all of these just work OOTB that make it great