Skip to content

Install WireGuard VPN on Debian 12

Netcloud24
Cloud Infrastructure Expert
NetCloud24 Expert Guides Open the dedicated video page

Video transcript: NetCloud24 Expert Guides. Practical knowledge for a reliable cloud. Cloud and VPS expertise, security, performance, and step-by-step tutorials. Learn, deploy, and keep building with NetCloud24.

 

Install WireGuard VPN on Debian 12

Introduction

WireGuard is a modern VPN that is fast, simple, and secure. This guide walks you through the steps of installing WireGuard on Debian 12.

Prerequisites

  • A Debian 12 server
  • Access to the terminal or command line
  • Root privileges or a user with sudo access

Step 1: Update the System

Before installing WireGuard, ensure your system package index is up to date:

sudo apt update
sudo apt upgrade -y

Step 2: Install WireGuard

Install WireGuard using the following command:

sudo apt install wireguard

Step 3: Generate Key Pair

WireGuard uses public and private keys for authentication. Generate a key pair with:

Visual overview of Install WireGuard VPN on Debian 12
Visual overview: Install WireGuard VPN on Debian 12
wg genkey | tee privatekey | wg pubkey > publickey

This will create two files: privatekey and publickey in your current directory.

Step 4: Configure WireGuard

Create a configuration file for WireGuard:

sudo nano /etc/wireguard/wg0.conf

Insert the following configuration, replacing YOUR_PRIVATE_KEY and YOUR_SERVER_IP accordingly:

[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = YOUR_PRIVATE_KEY

[Peer]
PublicKey = PEER_PUBLIC_KEY
AllowedIPs = 10.0.0.2/32

Step 5: Enable IP Forwarding

To allow traffic to be forwarded, enable IP forwarding:

echo "net.ipv4.ip_forward = 1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

Step 6: Start the WireGuard Service

To start the WireGuard service, use:

Key topics covered in Install WireGuard VPN on Debian 12
Key topics covered in this NetCloud24 guide.
sudo systemctl start wg-quick@wg0

Enable WireGuard on Startup

To enable WireGuard to start on boot, run:

sudo systemctl enable wg-quick@wg0

Step 7: Check the Status

To check if the WireGuard service is running, execute:

sudo systemctl status wg-quick@wg0

Step 8: Configure Firewall (Optional)

If you are using a firewall, make sure to allow the WireGuard port (51820 by default):

sudo ufw allow 51820/udp

Conclusion

You have successfully installed WireGuard VPN on your Debian 12 system. You can now configure clients to connect to your VPN.

Resources

Install WireGuard VPN on Debian 12
Install WireGuard VPN on Debian 12
Explore more

More on this topic

Netcloud24
Netcloud24
Cloud Infrastructure Expert · NetCloud24

Comments are closed.