Tailscale settings lost on reboot

This fixed it for me! I ended up just hardcoding my tailscale up command line into /usr/sbin/gl_tailscale and it now works on reboot.

1 Like

I’m glad you got it sorted… I was always curious if such a simple edit would work (I don’t use Tailscale). I look forward to you marking my post as the ‘Solution’.

There’s no --allow-routes as I see, you mean --accept-routes surely?

Damned if I know. That param was copied fr some one else. Like I said, I don’t use Tailscale.

I found a way to make the /etc/rc.local startup script work for starting Tailscale. Figured I’d add the solution here, just because its much less tedious than logging in and editing /usr/bin/gl_tailscale/ through the terminal.

It seems like there’s a few seconds after startup that are a bit variable where tailscale can’t start if the command is run too early.

Feel free to edit it however it works for you.

Here’s everything in the file:

# Put your custom commands here that should be executed once
# the system init finished. By default this file does nothing.

# Method to restart Tailscale. Sometimes would be running, but non-functional.
start_tailscale()
{
        tailscale status &> /tmp/tailscale.before
        tailscale down
        tailscale up --advertise-exit-node --accept-routes --advertise-routes=xxx.xxx.xxx.0/22 &> /tmp/tailscale.info
        sleep 3 ; tailscale status &> /tmp/tailscale.after
}

. /lib/functions/gl_util.sh
remount_ubifs

# Wait for 30 seconds after startup, then run the Tailscale start method
sleep 30 ; start_tailscale &

exit 0
1 Like

Thank you, @ilium007. You saved a lot of my hairs.
Editing near the end of /usr/bin/gl_tailscale works for me, on MT6000.
It was /usr/bin for me, not /usr/sbin on my device.
I almost edited the rc.Local.
I should have known that it would have a prefix gl_.

1 Like

FYI: It’s better easier to edit rc.local unless you manually add the GL script to LuCI backup inclusions/sysupgrade.conf:

Is anyone able to find a working solution!? I tried what you sugge a but nothing has changed. The exit node works for a couple of hours then it stops advertising the node. I can only think of a script that every 30 minutes run the command Tailscale up —advertise-exit-node with the two subnets but I don’t think this is the best solution

So far, that seems to be what happened to me as well.

It’s really odd, that’s for sure.

I’ve kind of given up for now.

Hi! I figured out what you can do to make this works, first try to update the firmware to the 4.5 version, then if you go to the tailscale website you can download the tar.gz binary with the most updated version available, then using winscp you can get those files into the router (the directory should be sbin as far as I remember) and then you can add one line into the gl_tailscale script as mentioned before. I could upload a copy of my script but it wouldn’t work because it is tailored for the io ranges you have. If you need more help I’m happy to help

If you dont want to fiddle with SCP and co you can use this script instead: How-To: Update Tailscale on ARM64/ARMv7 (f.e. Flint2/AXT1800)

1 Like

Thank you!! I’m also struggling with one of the routers I have in Italy (I want to use it as vpn server) it doesn’t advertise the public ip address (ddns with good cloud) but I can advertise the public address of my router in the uk.
Both routers are ax1800 flint, one is connected to an ONT (full fibre) the one in Italy is connected through a primary modem but it is DMZ to get the public ip. Unfortunately I’m trying to get a better solution for the Italian router to avoid using the isp router but I have not found anything interesting (router in Italy has finer to the cabinet then copper wires like the old adsl) any suggestions is very welcome

Worked perfectly. (so far)

Thanks!

1 Like