Step-by-Step Guide to Setting Up WireGuard VPN on Ubuntu 24.04 with Manual Configuration

Introduction

In today's digital landscape, privacy and secure remote access are more important than ever. Setting up a VPN allows you to encrypt your internet traffic and connect safely to your network from anywhere. At ByteHosting, we understand the importance of reliable and secure solutions, which is why we’ll guide you through the process of setup wireguard vpn ubuntu 24.04 with a manual configuration. This comprehensive tutorial is perfect for users who want a custom, secure VPN tailored to their needs.

Prerequisites

Before we begin, ensure you have the following:

  • A VPS server running Ubuntu 24.04. Our cost-effective KVM VPS hosting in Frankfurt is an excellent choice for this purpose.
  • A domain name or static IP address to access your server remotely.
  • Basic familiarity with Linux command line operations.

Installing WireGuard from Ubuntu Repositories

Ubuntu 24.04 includes WireGuard in its default repositories, making installation straightforward. First, update your package list:

sudo apt update

Then, install WireGuard:

sudo apt install wireguard

Once installed, verify the installation:

wg --version

Generating Server and Client Keys

Security is paramount, so we generate unique key pairs for both server and client. On your server, run:

wg genkey | sudo tee /etc/wireguard/server_private.key | wg pubkey | sudo tee /etc/wireguard/server_public.key

Similarly, generate keys for your client device:

wg genkey | tee client_private.key | wg pubkey | tee client_public.key

Keep these keys secure. The private keys should never be shared, while the public keys are used for configuration.

Configuring WireGuard Server and Client Files

Server Configuration

Create the server configuration file:

sudo nano /etc/wireguard/wg0.conf

Insert the following, replacing placeholders with your actual keys and IP addresses:

[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = <server_private_key>

# Client peer
[Peer]
PublicKey = <client_public_key>
AllowedIPs = 10.0.0.2/32

Ensure you replace <server_private_key> and <client_public_key> with the actual keys generated earlier.

Client Configuration

Create a configuration file on your client device:

[Interface]
PrivateKey = <client_private_key>
Address = 10.0.0.2/24

[Peer]
PublicKey = <server_public_key>
Endpoint = your.server.domain:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25

Replace placeholders with your actual keys and server details.

Enabling and Starting the WireGuard Service

On the server, enable IP forwarding:

sudo sysctl -w net.ipv4.ip_forward=1

To make this change persistent, edit:

sudo nano /etc/sysctl.conf

and add or uncomment:

net.ipv4.ip_forward=1

Next, start and enable the WireGuard interface:

sudo systemctl start [email protected]
sudo systemctl enable [email protected]

On the client, bring up the interface using your preferred method, such as:

sudo wg-quick up wg0

Testing VPN Connection and Routing

Verify the connection on your client by checking the status:

sudo wg

You should see the handshake and data transfer details. Test your VPN by visiting whatismyip.com or similar sites to confirm your IP address has changed to your server’s IP.

Ensure traffic is routed through the VPN by checking your network routes:

ip route

Troubleshooting Common Connection Issues

  • Firewall blocking ports: Make sure port 51820/UDP is open on your server’s firewall.
  • Incorrect keys or IPs: Double-check your configuration files for typos.
  • IP forwarding not enabled: Confirm that IP forwarding is active on your server.
  • Service not running: Use sudo systemctl status [email protected] to verify.

Conclusion

Setting up a wireguard vpn ubuntu 24.04 manually provides a robust and customizable way to secure your internet traffic. With our step-by-step guide, you can establish a private network that enhances your online privacy and security. At ByteHosting, we’re committed to providing reliable hosting solutions that support your technical projects. Whether you’re deploying a VPN or hosting your website, our affordable VPS plans in Frankfurt are ready to meet your needs. If you encounter any issues or need further assistance, don’t hesitate to reach out to our support team. Secure your digital life today with WireGuard!

Read more