WireGuard Config Generator
Generate complete WireGuard server & client configurations — including key pairs — instantly in your browser.
100% client-side. All keys are generated locally in your browser using Curve25519. No data is ever sent to any server.
1
Server Configuration
Public IP address or domain of your VPN server.
Default:
10.25.0.1Default WireGuard port:
51820DNS servers pushed to all clients.
Run
ip route | grep default to find your interface name.2
Client Settings
Maximum 50 clients at once.
Use
0.0.0.0/0 to route all traffic through VPN.
IP suffix and naming start point. e.g.
3 → client3, IP 10.25.0.3.
Useful when adding clients to an existing setup.
3
Generated Configurations
wg0.conf — Server Config
Client Configurations
Installation & Usage Guide
Step-by-step instructions to install WireGuard and apply your generated configs.
Ubuntu 20.04 / 22.04 / 24.04 & Debian 11 / 12
Server Installation
1
Step 1
Update packages & install WireGuard
sudo apt update && sudo apt upgrade -y
sudo apt install -y wireguard wireguard-tools
2
Step 2
Enable IP forwarding
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
echo "net.ipv6.conf.all.forwarding=1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
3
Step 3
Create the server config file
Copy the Server Config generated above and paste it:
sudo nano /etc/wireguard/wg0.conf
Adding clients to existing setup? Instead of replacing the file, copy only the
New [Peer] Blocks output above and append them to the end of your existing
wg0.conf.
sudo chmod 600 /etc/wireguard/wg0.conf
4
Step 4
Start WireGuard & enable on boot
sudo systemctl enable --now wg-quick@wg0
sudo systemctl status wg-quick@wg0
5
Step 5
Reload config after adding new peers (no restart needed)
sudo wg syncconf wg0 <(wg-quick strip wg0)
6
Step 6
Open the firewall port (UFW)
sudo ufw allow 51820/udp
sudo ufw reload
Client Setup (Ubuntu / Debian)
1
Step 1
Install WireGuard
sudo apt update
sudo apt install -y wireguard wireguard-tools
2
Step 2
Create the client config file
sudo nano /etc/wireguard/wg0.conf
sudo chmod 600 /etc/wireguard/wg0.conf
3
Step 3
Connect to the VPN
# Start VPN tunnel
sudo wg-quick up wg0
# Stop VPN tunnel
sudo wg-quick down wg0
# Auto-start on boot
sudo systemctl enable wg-quick@wg0
4
Step 4
Verify the connection
sudo wg show
ping 10.25.0.1
RHEL 8/9 · Rocky Linux 8/9 · AlmaLinux 8/9
Server Installation
1
Step 1
Install EPEL & WireGuard
For RHEL / Rocky / AlmaLinux 8:
sudo dnf install -y epel-release
sudo dnf install -y elrepo-release
sudo dnf install -y kmod-wireguard wireguard-tools
For RHEL / Rocky / AlmaLinux 9 (kernel module is built-in):
sudo dnf install -y epel-release
sudo dnf install -y wireguard-tools
2
Step 2
Enable IP forwarding
echo "net.ipv4.ip_forward=1" | sudo tee /etc/sysctl.d/99-wireguard.conf
echo "net.ipv6.conf.all.forwarding=1" | sudo tee -a /etc/sysctl.d/99-wireguard.conf
sudo sysctl --system
3
Step 3
Create the server config file
sudo nano /etc/wireguard/wg0.conf
sudo chmod 600 /etc/wireguard/wg0.conf
Adding clients to existing setup? Append only the New [Peer] Blocks to the end of your existing config, then reload with
sudo wg syncconf wg0 <(wg-quick strip wg0).
4
Step 4
Open firewall port (firewalld)
sudo firewall-cmd --permanent --add-port=51820/udp
sudo firewall-cmd --permanent --add-masquerade
sudo firewall-cmd --reload
5
Step 5
Start WireGuard & enable on boot
sudo systemctl enable --now wg-quick@wg0
sudo systemctl status wg-quick@wg0
Client Setup (RHEL / Rocky / AlmaLinux)
1
Step 1
Install WireGuard tools
Version 8:
sudo dnf install -y epel-release elrepo-release
sudo dnf install -y kmod-wireguard wireguard-tools
Version 9:
sudo dnf install -y epel-release
sudo dnf install -y wireguard-tools
2
Step 2
Create the client config file
sudo nano /etc/wireguard/wg0.conf
sudo chmod 600 /etc/wireguard/wg0.conf
3
Step 3
Connect to the VPN
# Start VPN tunnel
sudo wg-quick up wg0
# Stop VPN tunnel
sudo wg-quick down wg0
# Auto-start on boot
sudo systemctl enable wg-quick@wg0
4
Step 4
Verify the connection
sudo wg show
ping 10.25.0.1
Useful WireGuard Commands (Quick Reference)
# Show tunnel status & connected peers
sudo wg show
# Restart the WireGuard service
sudo systemctl restart wg-quick@wg0
# Reload config without restart
sudo wg syncconf wg0 <(wg-quick strip wg0)
# Follow WireGuard logs in real-time
sudo journalctl -u wg-quick@wg0 -f
# Find your network interface name
ip route | grep default
# Get existing server private key
sudo grep PrivateKey /etc/wireguard/wg0.conf