Wireguard-Go Binary for Use on Low-End OpenVZ Linux VPS

Just went through installing Wireguard on a very small 128MB RAM OpenVZ VPS. Just enough to use it as simple VPN.

I mostly followed this excellent guide, but couldn't compile Wireguard on the server due to a lack for RAM. 🤷‍

Rough steps:

  1. Install Debian 9 (Debian 10 didn't work due to firewall errors)
  2. Make sure tun/tap is enabled on the virtual server.
  3. Install wireguard-tools from the unstable repo
  4. Copy wireguard-go binary (linked below) to /usr/local/bin
  5. Generate private and public key for server and client
  6. Set systemd env var WG_I_PREFER_BUGGY_USERSPACE_TO_POLISHED_KMOD=1 in /lib/systemd/system/wg-quick@.service
  7. Add your server config to /etc/wireguard/wg0.conf
  8. Enable and start systemctl start wg-quick@wg0

Below my pre-compiled wireguard-go, if you just need something quick to drop on a low-end VPS.

This was built on Debian 10 and works just as well on Debian 9. Ubuntu could work too.