Tested DSM version: 7.2.1-69057 Update 3
The following instructions provide a minimal Wireguard implementation for Synology NAS devices and only requires about 16MB of space.
These instructions assume that the NAS will be a "client" for an existing Wireguard "server".
This has been forked from irctrakz/docker-wireguard-tiny and uses wireguard-go instead of Boringtun, which has better performance on Synology NAS devices with AMD Ryzen R1600 CPUs.
As of 1/3/2024, Synology's DSM software use an ancient Linux Kernel (version 4.4) which does not include support for Wireguard. Alternate solutions such as building Synology Package files (SPK) tend to require non-trivial dependencies for setup.
- Install Container Manager from the Synology Package Center
- Copy the files in this repository to your NAS, e.g.: /volume1/docker/wireguard
- Modify compose.yaml and wireguard.conf to match your configuration
- The Wireguard manual or This Medium post provides additional details on how to set up wireguard.conf.
- Open Container Manager, select Project, click Create
- Provide a project name of your choice (e.g. "Wireguard")
- Change the path to docker -> wireguard, select "use existing..."
- Click Next and Start the container
Tested using iperf3 with:
- Synology DS923+ with 10GbE module
- Intel i5-9600K PC with 10GbE network card
Connection | Speed (Gbps) |
---|---|
Direct | 9.42 |
Boringtun v0.6.0 | 1.51 |
Wireguard-go (git 12269c2) | 2.92 |