The official ZeroTier tutorial for Synology currently has the following limitations:
- No ARM64 - Docker cannot be installed on ARM64/aarch64 Synology models (DS124, DS423, DS223j, DS223, DS420j, DS220j, DS120j, RS819, DS119j, DS418, DS418j, DS218, DS218play, DS118). Even if you manage to install Docker yourself (we failed), the official zerotier-synology image is amd64 only
- Older ZeroTier client: at the time of writing uses ZeroTier 1.10.6 while the latest version is 1.12.2
If you want to use the latest ZeroTier and/or if you have ARM64-based Synology and/or simply , this tutorial is for you.
1. Create a persistent TUN
SSH to your synology as root and proceed with commands.
ssh user@synology-ip sudo -i echo -e '#!/bin/sh -e \ninsmod /lib/modules/tun.ko' > /usr/local/etc/rc.d/tun.sh chmod a+x /usr/local/etc/rc.d/tun.sh /usr/local/etc/rc.d/tun.sh
Check for the TUN
The command output should be /dev/net/tun.
2. Install ZeroTier
Create ZeroTier folder:
mkdir /volume1/Work/.zerotier cd /volume1/Work/.zerotier
then download and run script:
wget https://raw.githubusercontent.com/crystalidea/zerotier-linux-binaries/main/zerotier-download.sh ./zerotier-download.sh
The script downloads zerotier-one executable (with zero dependencies) for the target cpu architecture along with zerotier-cli symlink. If interested, learn how we compiled ZeroTier without dependencies here.
Finally, download script that will be run by Synology as root (see next step).
Do not close the SSH window yet.
3. Create DSM scheduled task
Open DSM and go to Control Panel -> Task Scheduler and create zerotier triggered task that will be automatically executed by Synology every boot:
The task must be Boot-up and executed under root, the task name can be arbitrary. Task settings should include full path to
It’s highly recommended to record all tasks output to some folder:
To avoid reboot now run the scheduled task manually:
Go back to SSH and check if the ZeroTier service is running:
sudo ./zerotier-cli status
Which should output something like this
200 info 339748e2d0 1.12.2 ONLINE
If not, you should check the log folder. Now you can join the networks you need and authorize them online.
- The method successfully survives DSM updates
- Updating ZeroTier is as easy as replacing one file and reboot
- You could probably also compile and use ZeroTier on older armv7 32-bit Synology models