Wireguard is an open-source, dependable, advanced, VPN tunneling software you can install and use right now to create a secure, point-to-point connection to a server. It is cross-platform and can run almost anywhere, including Linux, Windows, Android, and macOS. Wireguard is a peer-to-peer VPN. it does not use the client-server model. Depending on its configuration, a peer can act as a traditional server or client.
Here at LinuxAPT, as part of our Server Management Services, we regularly help our Customers to perform related Software Installation queries.
In this context, we shall look into how to install Wireguard on Ubuntu 20.04 LTS.
1. Perform System Update
First, make sure that all your system packages are up-to-date by running the following apt commands in the terminal:
$ sudo apt update
$ sudo apt upgrade
2. Install Wireguard on the system
WireGuard is available from the default Ubuntu repositories. Run the following commands to install it:
$ sudo apt install wireguard
3. Configure WireGuard
First, run the following command to generate the key pair:
$ wg genkey | sudo tee /etc/wireguard/privatekey | wg pubkey | sudo tee /etc/wireguard/publickey
Then, create a new file named wg0.conf and add the following contents:
$ sudo nano /etc/wireguard/wg0.conf
[Interface]
Address = 10.0.0.1/24
SaveConfig = true
ListenPort = 51820
PrivateKey = SERVER_PRIVATE_KEY
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o ens3 -j MASQUERADE
The above terms from the wg0.conf file is defined below:
The wg0.conf and private key files should not be readable to normal users. Use chmod to set the permissions to 600:
$ sudo chmod 600 /etc/wireguard/{privatekey,wg0.conf}
Once done, bring the wg0 interface up using the attributes specified in the configuration file:
$ sudo wg-quick up wg0
[#] ip link add wg0 type wireguard
[#] wg setconf wg0 /dev/fd/63
[#] ip -4 address add 10.0.0.1/24 dev wg0
[#] ip link set mtu 1420 up dev wg0
[#] iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
To bring the WireGuard interface at boot time run the following command:
$ sudo systemctl enable wg-quick@wg0
4. Configure Firewall
You need to open UDP traffic on port 51820:
$ sudo ufw allow 51820/udp
Finally, we can start the Wireguard service using the following command:
$ sudo wg-quick up wg0
This article covers the process of installing Wireguard VPN on Ubuntu 20.04 LTS Focal Fossa system. In fact, WireGuard is an open-source and security-focused virtual private network designed for simplicity and ease of use. If you are looking for a lightweight and fast VPN then the WireGuard VPN is the best choice for you.