Helaas is in Ubuntu 20.04 WireGuard VPN nog niet geïntegreerd bij Instellingen > VPN, dus zal je het zelf via de terminal moeten doen.
Hopelijk zal in Ubuntu 22.04 LTS dit wel voor mekaar zijn (ik zie in de dailybuilt op dit moment nog niets).
Maak gebruik van de terminal.
1. Eerst alles updaten:
ubuntu@ubuntu1:~$ sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade && sudo apt-get autoremove
2. Installatie Wireguard client in Ubuntu 20.04 desktop:
ubuntu@ubuntu1:~$ sudo apt install wireguard
Oa. wordt er een wireguard map aangemaakt in /etc. Naast wireguard wordt er ook wireguard-tools geïnstalleerd. In /usr/bin worden de commando’s wg en wg-quick gezet.
3. VPN cliënt config-bestand maken en privatekey en publickey genereren:
ubuntu@ubuntu1:~$ sudo sh -c 'umask 077; touch /etc/wireguard/wg0.conf'
ubuntu@ubuntu1:~$ sudo -i
root@ubuntu1:~# cd /etc/wireguard/
root@ubuntu1:/etc/wireguard# umask 077; wg genkey | tee privatekey | wg pubkey > publickey
root@ubuntu1:/etc/wireguard# ls -l publickey privatekey
Uitkomst hiervan is:
-rw------- 1 root root 45 feb 11 11:26 privatekey
-rw------- 1 root root 45 feb 11 11:26 publickey
Vervolgens:
root@ubuntu1:/etc/wireguard# cat privatekey
De uitkomst hiervan geeft de inhoud van de privatekey noteer deze ergens want die heb je later nodig om te kunnen kopiëren:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
Vervolgens:
root@silencio1:/etc/wireguard# cat publickey
De uitkomst hiervan geeft de inhoud van de publickey noteer deze ergens want die heb je later nodig om te kunnen kopiëren:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
4. Edit met root rechten het /etc/wireguard/wg0.config bestand met je favoriete editor (bv nano, vim, gedit, doublecmd):
Ik gebruik als grafische editor met root rechten in Ubuntu 20.04 Gedit (pkexec gedit) of Double-Commander (pkexec doublecmd).
In dit voorbeeld gebruik ik “gedit”:
root@ubuntu1:/etc/wireguard# pkexec gedit /etc/wireguard/wg0.conf
Zet de volgende inhoud in het wg0.conf bestand:
[Interface]
Address : xxx.xx.x.x/xx (Cliënt ip adres zie VPN server)
DNS : xxx.xx.xxx.xxx (optioneel)
PrivateKey : xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
(Is de bovenstaande privatekey van de desktop/laptop)
[Peer]
AllowedIPs : 0.0.0.0/0 (of een andere instelling; dit betekent dat alle ip-adressen zijn toegestaan)
Endpoint : xxx.xx.xxx.xxx:51820
(Is het externe publieke ip-adres van je externe VPN server en poort; 51820 is de default WireGuard poort) ([b]NB[/b] In het geval van een desktop/laptop die gebruik maakt van een lokale VPN server, moet je als Endpoint het lokale ip-adres en poort invullen)
PublicKey : xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
(Is de publickey van je VPN server)
5. Voeg de desktop/laptop peer toe in de VPN Server en gebruik hiervoor de openbare sleutel van je deskop/laptop:
Naam van de peer: Ubuntu1
Openbare sleutel van je laptop/desktop:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
Toegestane IP-adressen: xxx.xx.x.x./xx (Is cliënt ip adres in VPN server)
Aanhoudende inschakeling: 10 seconden
6. Wanneer je nu in de client desktop/laptop de vpn verbinding wilt opstarten, gebruik je hiervoor het volgende commando:
ubuntu@ubuntu1:~$ sudo wg-quick up wg0
De uitkomst hiervan is in eerste instantie:
[sudo] wachtwoord voor ubuntu1:
[#] ip link add wg0 type wireguard
[#] wg setconf wg0 /dev/fd/63
[#] ip -4 address add 198.18.7.6/32 dev wg0
[#] ip link set mtu 1420 up dev wg0
[#] resolvconf -a wg0 -m 0 -x
/usr/bin/wg-quick: line 32: resolvconf: command not found
[#] ip link delete dev wg0
ubuntu@ubuntu1:~$
De melding “resolvconf: command not found” kan opgelost worden door het volgende pakket te installeren: openresolve
ubuntu@ubuntu1:~$ sudo apt install openresolv
Vervolgens nog 1 keer proberen op te starten met:
ubuntu@ubuntu1:~$ sudo wg-quick up wg0
De uitkomst is nu:
[#] ip link add wg0 type wireguard
[#] wg setconf wg0 /dev/fd/63
[#] ip -4 address add xxx.xx.x.x/xx dev wg0
[#] ip link set mtu 1420 up dev wg0
[#] resolvconf -a wg0 -m 0 -x
[#] wg set wg0 fwmark 51820
[#] ip -4 route add 0.0.0.0/0 dev wg0 table 51820
[#] ip -4 rule add not fwmark 51820 table 51820
[#] ip -4 rule add table main suppress_prefixlength 0
[#] sysctl -q net.ipv4.conf.all.src_valid_mark=1
[#] iptables-restore -n
ubuntu@ubuntu1:~$
Alles is nu goed ingesteld en je kan nu ook de status zien in de cliënt met het volgende commando:
ubuntu@ubuntu1:~$ sudo wg show
De uitkomst hiervan is:
interface: wg0
public key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
private key: (hidden)
listening port: xxxxx
fwmark: 0xca6c
peer: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
endpoint: xxx.xx.xxx.xxx:51820
allowed ips: 0.0.0.0/0
latest handshake: 1 minute, 12 seconds ago
transfer: 60.22 KiB received, 60.95 KiB sent
ubuntu@ubuntu1:~$
Ook kan je in je VPN Server kijken of de verbinding tot stand is gekomen.
7. Je kan de vpn verbinding in je cliënt stoppen met het commando:
ubuntu@ubuntu1:~$ sudo wg-quick down wg0
De uitkomst hiervan is:
[#] ip -4 rule delete table 51820
[#] ip -4 rule delete table main suppress_prefixlength 0
[#] ip link delete dev wg0
[#] resolvconf -d wg0 -f
[#] iptables-restore -n
ubuntu@ubuntu1:~$