Tailscale if you haven't come across it just yet is a fantastic service which allows you to set up an interlinking mesh between various nodes on the internet. Until just a moment ago, I had all my personal devices and servers set up with Tailscale except one. The last hold out was my Edge Router X, to which I pondered, "Why can't this device also be connected to Tailscale?"
And truth be told Tailscale generates MIPS architecture binaries which are compatible with the various EdgeMAX products produced by Ubiquiti. In the case of the EdgeRouter X, you'll want to get the
The package contains both the precompiled binary which you'll need to put into
/usr/sbin/ as well as
systemd config files that you'll need to move to the correct places. Lastly, you'll need to create some file directories for Tailscale to generate temporary files and state.
Start by SSH'ing into your EdgeRouter X or using the "CLI" button from the WebUI. Then run the following commands to get set up.
# Double check the packages site for the latest version!
curl https://pkgs.tailscale.com/stable/tailscale_1.8.5_mipsle.tgz -o tailscale.tgz
tar xvzf tailscale.tgz
# cd into the directory
# Move the binaries
mv tailscale* /usr/sbin
# Move the systemd config and defaults
mv systemd/tailscaled.service /etc/systemd/system
mv systemd/tailscaled.defaults /etc/default/tailscaled
# Create the tailscale dirs required for operation
mkdir /var/lib/tailscale /run/tailscale
You'll want to activate the new service and get it started
sudo systemctl enable --now tailscaled.service
If you have any issues, they should appear here as the service gets started. I wasn't able to get
journalctl working here, but was able to see the log output from Tailscale by taking a peek into
Lastly, start up and authenticate as prompted with Tailscale.
Because I also want to use this node in my Tailscale network as an exit node, I also added
--advertise-exit-node as well and then confirm in the Tailscale web UI.