Technical requirements and installation Order now | Download | FAQ Technical requirements Operating systems: Debian 11+ (amd64), Ubuntu 20+ (amd64) Real, public IP address on server interface Domain name for the server PUQVPNCP Installed packages wireguard wireguard-dkms wireguard-tools (Included in the installation process) Installation We issue all comments after logging into the SSH terminal window as the root user. Linux kernels less than 5.6 (<=5.5) did not include Wireguard as a feature in the upstream kernel code. Adding Wireguard support to these (older) kernels is possible via additional modules Check kernel version uname -sr Linux 5.10.0-10-amd64 apt-get update apt-get upgrade reboot For Debian 10:  WireGuard is in Debian backported repo. Hence, enable backports as follows, run: sudo sh -c "echo 'deb http://deb.debian.org/debian buster-backports main contrib non-free' > /etc/apt/sources.list.d/buster-backports.list" sudo apt update apt-get install wireguard wireguard-dkms wireguard-tools -y Checking installed packages Checking the wireguard status dpkg -s wireguard Output should looks similar to this: Package: wireguard Status: install ok installed Priority: optional Section: net Installed-Size: 17 Maintainer: Daniel Kahn Gillmor Architecture: all Version: 1.0.20210223-1 Depends: wireguard-modules (>= 0.0.20191219) | wireguard-dkms (>= 0.0.20200121-2), wireguard-tools (>= 1.0.20210223-1) Description: fast, modern, secure kernel VPN tunnel (metapackage) WireGuard is a novel VPN that runs inside the Linux Kernel and uses state-of-the-art cryptography (the "Noise" protocol). It aims to be faster, simpler, leaner, and more useful than IPSec, while avoiding the massive headache. It intends to be considerably more performant than OpenVPN. WireGuard is designed as a general purpose VPN for running on embedded interfaces and super computers alike, fit for many different circumstances. It runs over UDP. . This metapackage explicitly depends on both the kernel module and the userspace tooling. Homepage: https://www.wireguard.com Checking installed packages Checking the wireguard-dkms dpkg -s wireguard-dkms Output should looks similar to this: Package: wireguard-dkms Status: install ok installed Priority: optional Section: kernel Installed-Size: 1724 Maintainer: Daniel Kahn Gillmor Architecture: all Source: wireguard-linux-compat Version: 1.0.20210219-1 Depends: dkms (>= 2.1.0.0), perl:any Recommends: wireguard (>= 0.0.20191219), wireguard-tools (>= 0.0.20191219) Description: fast, modern, secure kernel VPN tunnel (DKMS version) WireGuard is a novel VPN that runs inside the Linux Kernel and uses state-of-the-art cryptography (the "Noise" protocol). It aims to be faster, simpler, leaner, and more useful than IPSec, while avoiding the massive headache. It intends to be considerably more performant than OpenVPN. WireGuard is designed as a general purpose VPN for running on embedded interfaces and super computers alike, fit for many different circumstances. It runs over UDP. . This package uses DKMS to automatically build the wireguard kernel module. Homepage: https://www.wireguard.com Checking installed packages Checking the wireguard-tools dpkg -s wireguard-tools Output should looks similar to this: Package: wireguard-tools Status: install ok installed Priority: optional Section: net Installed-Size: 319 Maintainer: Daniel Kahn Gillmor Architecture: amd64 Source: wireguard Version: 1.0.20210223-1 Depends: libc6 (>= 2.14) Recommends: nftables | iptables, wireguard-modules (>= 0.0.20171001) | wireguard-dkms (>= 0.0.20191219) Suggests: openresolv | resolvconf Description: fast, modern, secure kernel VPN tunnel (userland utilities) WireGuard is a novel VPN that runs inside the Linux Kernel and uses state-of-the-art cryptography (the "Noise" protocol). It aims to be faster, simpler, leaner, and more useful than IPSec, while avoiding the massive headache. It intends to be considerably more performant than OpenVPN. WireGuard is designed as a general purpose VPN for running on embedded interfaces and super computers alike, fit for many different circumstances. It runs over UDP. . This package contains command-line tools to interact with the WireGuard kernel module. Currently, it provides only a single tool: . wg: set and retrieve configuration of WireGuard interfaces Homepage: https://www.wireguard.com