Deze inhoud is minimaal een jaar oud en hoeft niet meer te kloppen.

Installatie en configuratie Wireguard

Geschreven op en bijgewerkt op

Inhoudsopgave

Inleiding.

Deze handleiding gaat over het installeren én configureren van Wireguard op Fedora. Als basis gebruik ik de Wireguard Quickstart guide.

Overzicht.

Omdat Wireguard een VPN tunnel is is het handig als je twee (of meer) machines met elkaar verbind. Voor deze handleiding gebruik ik de volgende IP adressen en andere configuratie dingen:

Installatie.

Het grootste deel van Wireguard zit ingebakken in de Linuxkernel en hoef je dus niet te installeren. Het enige wat je moet installeren is de software (wireguard-tools) om Wireguard te kunnen beheren:

sudo dnf install wireguard-tools

Configuratie.

De Wireguard quickstart guide begint met het aanmaken van een netwerkinterface voor Wireguard via de ingebouwde ip tool(s).

Dit is met Fedora niet nodig omdat wireguard-tools (wat je net geïnstalleerd hebt) dit makkelijker en sneller kan. Je hoeft niets te doen, alle aangemaakte tunnels in /etc/wireguard/ worden door wireguard-tools automatisch opgepikt en worden hiervoor de benodigde interface(s) aangeamakt.

Firewall.

Wireguard maakt gebruik van UDP poort 51820. Standaard staat dit dicht in de ingebouwde firewall van Fedora. Zet het open met het volgende:

sudo firewall-cmd --add-service=wireguard
sudo firewall-cmd --runtime-to-permanent

Aanmaken publieke- en privé sleutel(s).

De volgende stap is het aanmaken van de publieke- en privé sleutel(s) die Wireguard nodig heeft om de verbinding te kunnen versleutelen. Dit neem ik letterlijk over van de snelstartgids:

sudo -i
cd /etc/wireguard/
umask 077
wg genkey | tee privatekey | wg pubkey > publickey

HIerna heb je een publieke- (publickey) en een privé (privatekey) sleutel voor Wireguard.

Aanmaken configuratiebestand.

Hierna maak je een configuratiebestand aan voor je Wireguardtunnel in /etc/wireguard/wg0.conf met daarin het volgende:

Machine A.

[Interface]
Address = 192.168.200.2/32
ListenPort = 51820
PrivateKey = wK2xK+hO2Kzk5Lcaedvei3ozkd6uKhzbB95oY406L3A=

Let op dat je de waarde van PrivateKey aanpast naar je eigen privésleutel!

Machine B.

[Interface]
Address = 192.168.200.3/32
ListenPort = 51820
PrivateKey = WHmuXxoI/r2UbF6YgrBPnKYgqWOUvOFLCv/kG9jFonc=

Let op dat je de waarde van PrivateKey aanpast naar je eigen privésleutel!

(Automatisch) starten Wireguard tunnel en interface.

Na het aanmaken van je sleutels en het configuratiebestand (/etc/wireguard/wg0.conf) is het een kwestie van de tunnel (en interface) laten starten:

sudo systemctl enable --now wg-quick@wg0.service

Als alles goed is heb je nu een nieuwe netwerkinterface voor Wireguard die geconfigureerd is. Controleer dit met ip l. Als je daar een item ziet met als naam wg0 is alles goed gegaan.

Peeren machine A en machine B.

De volgende stap is het koppelen / verbinden (peeren) van machine A en machine B. Om twee machines met elkaar te verbinden in Wireguard voeg je een nieuwe Peer sectie toe in /etc/wireguard/wg0.conf.

Machine A.

Voeg het volgende toe aan het einde van /etc/wireguard/wg0.conf:

[Peer]
PublicKey = Ooe8XdrA2EhkE8k7G6s29oOETVClCrfhAlCbi6c970A=
PresharedKey = 3wxqVsqbpBKa/LbPek0dFDz+2kHDFfnvi9zJ6r5WUoM=
AllowedIPs = 192.168.200.3/32
Endpoint = 192.168.100.3:51820

Let op dat je de waardes aanpast naar je eigen situatie!

Machine B.

[Peer]
PublicKey = MN/bt4xsxCfJ7MBWM6Oo0Xr29IuTgMKOUp66oDKitlo=
PresharedKey = 3wxqVsqbpBKa/LbPek0dFDz+2kHDFfnvi9zJ6r5WUoM=
AllowedIPs = 192.168.200.2/32
Endpoint = 192.168.100.2:51820

Let op dat je de waardes aanpast naar je eigen situatie!

Verbinding starten.

Nu je op beide machines de Peer hebt toegevoegd moet je de Wireguard tunnel herstarten zodat de verbinding word opgebouwd. Voer het volgende uit op beide machines:

sudo systemctl restart wg-quick@wg0.service

Om te contoleren of het ook echt werkt voer je sudo wg uit (op beide machines) en kijk je of er een peer in het lijstje staat. Als dit zo is dan is alles goed gegaan!

Als je het helemaal zeker wilt weten probeer dan machine B te pingen vanaf machine A:

ping -c4 192.168.200.3