WireGuard er en moderne, minimalistisk og svært effektiv VPN-protokoll som er designet for å skape sikre tilkoblinger på en enkel og rask måte. Wireguard er bygd inn i linux-kjernen siden versjon 5.6. For å benytte seg av Wireguard trengs wireguard-tools (wg og wg-quick).
Installasjon på openSUSE
zypper refresh
zypper update
zypper install wireguard-tools
Bruk modprobe
for å sjekke om kernel-modulen er lastet inn. Hvis den ikke finnes eller ikke er lastet inn returneres en feilmelding.
modprobe wireguard
Etter installasjon, for at Wireguard skal starte automatisk ved opptart:
systemctl enable wg-quick@wg0
Wireguard kan også startes og stoppes manuelt med wg-quick:
wg-quick down wg0
wg-quick up wg0
Konfigurasjon av server og klient
Konfigurasjon av Wireguard på server-siden skjer vanligvis i denne filen:
/etc/wireguard/wg0.conf
En typisk konfigurasjon på server-siden:
[Interface]
PrivateKey = <server_privatekey>
Address = 10.0.0.1/24
ListenPort = 51820
[Peer]
PublicKey = <client1_publickey>
AllowedIPs = 10.0.0.2/32
[Peer]
PublicKey = <client2_publickey>
AllowedIPs = 10.0.0.3/32
En typisk konfigurasjon på klient-siden:
[Interface]
PrivateKey = <client1_privatekey>
Address = 10.0.0.2/24
DNS = 1.1.1.1, 1.0.0.1
[Peer]
PublicKey = <server_publickey>
Endpoint = <server_ip>:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
Generer nøkkelpar
Disse nøkkelparene brukes for å kryptere VPN forbindelsen.
Eksempel på oppsett av server og 2 klienter:
# Generer nøkkelpar for server og 2 klienter
wg genkey | tee server_privatekey
wg pubkey < server_privatekey | tee server_publickey
wg genkey | tee client1_privatekey
wg pubkey < client1_privatekey | tee client1_publickey
wg genkey | tee client2_privatekey
wg pubkey < client2_privatekey | tee client2_publickey