Setting Up an Algo VPN WireGuard Client on Ubuntu/Kubuntu 18.04

Algo VPN (self-hosted cloud VPN) is a wonderful bit of kit. Instead of trying to decide which 3rd party VPN service to use (and having to wade through each service's marketing (read: lies)), it's much easier to just use something like algo to spin up a VPN server that you control. Algo uses ansible to spin up a VPN server for you (using a number of popular hosts like Digital Ocean, etc.), and provisions client configs. The whole process is a real treat.

Once you've setup the server, and you're ready to setup a Ubuntu / Kubuntu client, follow the following instructions found here: https://github.com/trailofbits/algo/blob/master/docs/client-linux-wireguard.md.

# Add the WireGuard repository:
sudo add-apt-repository ppa:wireguard/wireguard

# Update the list of available packages (not necessary on 18.04 or later):
sudo apt update

# Install the tools and kernel module:
sudo apt install wireguard openresolv

During the server install process, Algo generates your client config files for WireGuard and places them in configs/<ip_address>/wireguard/<username>.conf on the system where you ran the ./algo command.A text-based and QR-code image based config is created for each of the users you added during the server provisioning process. Each WireGuard client you connect to the VPN uses a different config file (one config per client). So at this point, make sure you have your Ubuntu/Kubuntu client config on your local machine, and proceed with setting up the VPN routing using the wg-quick command:

# Place your client config file in the WireGuard configuration directory:
sudo install -o root -g root -m 600 <username>.conf /etc/wireguard/wg0.conf

# Start the WireGuard VPN:
sudo systemctl start wg-quick@wg0

# Check that the VPN started as expected:
sudo systemctl status wg-quick@wg0

# Verify the connection to the AlgoVPN server:
sudo wg

# Verify that your traffic is being routed over the VPN:
curl canhazip.com

# Optionally setup the connection to persist after reboot:
sudo systemctl enable wg-quick@wg0

All done. Thanks to the AlgoVPN and WireGuard devs for some great software.

Tags

 VPN  Algo VPN  WireGuard  Kubuntu  Ubuntu  Kubuntu 18.04  Ubuntu 18.04  wg-quick  networking  routing