Overview
Wireguard is okay on linux, but it does cause some issues with DNS that I don’t like. Basically, if you specify a DNS server, then all traffic uses that server. I have not figured out a way to perform split DNS. So for now, I simply use network manager to that I can toggle the VPN on and off.
Create keypairs
First, you need keys. To generate this, make sure you have wireguard-tools installed on whatever distro you are using. Then, use the following commands:
umask 077
mkdir ~/wg-keys
wg genkey > ~/wg-keys/private
wg pubkey < ~/wg-keys/private > ~/wg-keys/publicCreate network manager module
First, you have to create a wg-quick config. Name it something like wg0.conf. It should look something like this:
[Interface]
Address = 10.0.0.20/24
Table = auto
DNS = 192.168.5.1
PrivateKey = 0000000000000000000000000000000000000000000=
[Peer]
PublicKey = 1111111111111111111111111111111111111111111=
AllowedIPs = 10.0.0.0/24, 192.168.5.0/24
Endpoint = ddns.flaskforge.com:51820Once this is created, run the following command to add it to network manager:
nmcli connection import type wireguard file wg0.confAnd boom! Wireguard at a click of a button.