← All guides
WireGuard
WireGuard is a minimal, high-performance VPN protocol and kernel module that establishes encrypted point-to-point tunnels using static public-key pairs instead of certificates.
This guide is synthesized from WireGuard's own official documentation, linked above — always cross-check exact package/version names there before running these commands on a production server, since distro and project versions move over time.
1Install WireGuard
sudo apt install wireguardDebian releases older than Bullseye need backports enabled first.
2Generate a key pair
umask 077 && wg genkey > privatekeywg pubkey < privatekey > publickey3Create the interface configuration
Create /etc/wireguard/wg0.conf with your private key, address, and peer's public key/endpoint.
Reference: man wg-quick and man wg for the full [Interface]/[Peer] config syntax.
4Bring the tunnel up
sudo wg-quick up wg0sudo wg show5Enable the tunnel at boot
sudo systemctl enable --now wg-quick@wg0