Wireguard: Installing the WireGuard Client App on Ubuntu
WireGuard client installation is done in the same way as on the server side.
Log in via SSH to the Linux server, after logging in, check if the machine is updated by running the following command:
sudo apt-get update && sudo apt-get upgrade
Now install WireGuard by running the following command:
sudo apt-get install wireguard
Generating Private and Public Keys
WireGuard works by encrypting the connection using a pair of cryptographic keys. The key pair is used by passing the public key to the other party, which can then encrypt its message so that it can only be decrypted with the corresponding private key. To secure two-way communication, each side must have its own private and public keys, since each pair provides only one-way messaging.
Generate a client public and private key pair by running the following command:
wg genkey | tee private.key | wg pubkey > public.key
Copy After that, create a client configuration file, in the following directory:
sudo nano /etc/wireguard/wg0.conf
Copy In the file type:
[Interface]
PrivateKey = <contents-of-client-privatekey>
Address = 10.0.0.1/24
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
ListenPort = 51820
[Peer]
PublicKey = <contents-of-server-publickey>
AllowedIPs = 10.0.0.2/32
Notes: In the publickey line insert the server public key that we generated in the previous article and on the private key insert the client private key. The key can be viewed with the command:
cat private.key
Copy
WireGuard Startup
To start the connection, type the following command:
sudo wg-quick up wg0
To find out the connection status, run the following command:
sudo wg show