Tailscale Custom Coordination Server

Will GL-iNet consider custom co-ordination server URL to support Headscale in future releases ?

2 Likes

Hi,

There is no plan to develop new features about the Tailscale for the time being.

We are focusing on new feature by GL develop which is similar with Tailscale, more convenient to deploy and more open. Please wait.

4 Likes

That is disappointing to hear. I bought a Beryl AX with the sole purpose of connecting it to a headscale network. I tried some of the workarounds I've seen referenced on the forums but to no avail.

3 Likes

You can always use tailscale without any modification made by GL which should allow you to do whatever you like.
Needs knowledge, ofc.

The tailscale also would not remove in the GL firmware.

May I know what issue you meet now in the tailscale?

I also would very much like this.

Correct me if I'm wrong, but what's being asked for is GLi firmware, in the web UI, to support the equivalent of

# tailscale login --login-server https://headscale.foo.net

Yes??

Currently I have run this from the command line, and the GLi devices can connect to the Headscale network, but it keeps getting knocked offline etc. It's clearly not provided for in the firmware ... but maybe it would not be such a big task to implement?

Headscale provides a substantial fraction of the features of Tailscale, with no need to trust a third party. Users can run it on a $5/mo VPS and run their own infrastructure.

1 Like

tailscale login --login-server https://headscale.foo.net
It seems about right.

If headscale is included in the Tailscale startup parameters, it will not be affected by the GL GUI, but it needs to be added in /usr/bin/gl_tailscale

I haven't tested, you can try it

1 Like

Please add functionality of custom coordination server.
Command line way doesn't work: # tailscale login --login-server https://headscale.foo.net

Did you change the /usr/bin/gl_tailscale script? This is necessary.

Thank you, I will try this and report back!!

Edit:

I did this on my Slate AX, which had already been connected to my Headscale tailnet before.

  1. I changed the line in /usr/bin/gl_tailscale to

    timeout 10 /usr/sbin/tailscale up --login-server https://example.com --reset --accept-routes $param --timeout 3s --accept-dns=false > /dev/null
    
  2. Then disabled and re-enabled Tailscale in the GLi web UI.

  3. It appears that this properly logged into my headscale network. The web UI says it's connected and things appear to be working.

I'll keep an eye on it to see if it ends up disconnecting eventually, like it always does without this change applied to /usr/bin/gl_tailscale. And I'll generally report anything that seems to not be working right.

2 Likes

I set this up on a Beryl AX which wasn't logged into a tailnet already.

  1. Changed the line in /usr/bin/gl_tailscale as described in my previous post

  2. Went to the Tailscale view in GLi webUI, and clicked "The Device Bind Link."

    • I was properly given a bind link to my Headscale server :slight_smile:
  3. Visited the Headscale link and was given a command to run to add the node to my tailnet

  4. Ran the command

  5. The GLi firmware successfully logged in and is on the tailnet.

Very promising!!

Edit: On Slate Plus (4.5.19) after editing /usr/bin/gl_tailscale as described, the webUI doesn't work properly when adding the router to the tailnet, there are some timeouts and it hangs when trying to get the device bind link, so I had to do tailscale up --login-server https://example.com which then gives the correct device bind link to my Headscale server.

Edit 2: Testing what happens after a power cycle, both Beryl AX and Slate Plus do reconnect to the tailnet properly, which did not happen before the change to /usr/bin/gl_tailscale. Very exciting!

@bruce. Thank you very much! This solved my use case at last.

My use case is having my Beryl AX as a tailscale client that connects to my headscale-provisioned tailnet. I then connect my Beryl AX as a wireless repeater when traveling and have "Custom Exit node" enabled so that all of the router clients can still access my private network and maintain a home country IP/encrypted tunnel

@bruce
So is there something else besides AstroWarp?

Zerotier, AstroRelay, which one choose probably according to your needs or specific scenario.

Hi guys! I'm trying to use Heascale too, and your solution seems interesting!

My scenario

My Headscale server is on a vlan of the Flint 2, which is connected to a Tenda 5G03 modem that provide it the wan connection. Unfortunately the Tenda hasn't a bridge mode (ip passthrough) so I'm trying to figure out how to use my devices remotely without DMZs, port forwardings, and firewall rules.

What do I have to do?

Like I said, I'd like to use Headscale, but I can't understand if I have to install the Tailscale package in the plugins (or in LuCi) which then be additional to the stock ones, or if I just have to modify the existing Tailscale GliNet files through ssh and if this is what you've done


These are the additional Tailscale plugin that I'm referring to