WireGuard – Een snelle, moderne en veilige VPN-tunnel voor Linux

WireGuard is een moderne, veilige, platformonafhankelijke en algemeen bruikbare VPN-implementatie die gebruikmaakt van state-of-the-art cryptografie. Het is bedoeld om sneller, eenvoudiger, zuiniger en functioneler te zijn dan IPsec en het is de bedoeling dat het prestaties levert die beter zijn dan die van OpenVPN.

Het is ontworpen voor gebruik in verschillende omstandigheden en kan worden ingezet op ingebedde interfaces, volledig geladen backbone-routers en supercomputers; en draait op Linux, Windows, macOS, BSD, iOS en Android besturingssystemen.

Aanbevolen Lezen: 13 Beste VPN-diensten met een Levenslang Abonnement

Het presenteert een uiterst eenvoudige maar krachtige interface die eenvoudig moet zijn, net zo eenvoudig te configureren en te implementeren als SSH. De belangrijkste kenmerken zijn een eenvoudige netwerkinterface, cryptosleutelroutering, ingebouwde roaming en ondersteuning voor containers.

Merk op dat op het moment van schrijven, het in zware ontwikkeling is: sommige delen werken toe naar een stabiele 1.0-release, terwijl andere daar al zijn (goed werken).

In dit artikel leer je hoe je WireGuard installeert en configureert in Linux om een VPN-tunnel te maken tussen twee Linux-hosts.

Testomgeving

Voor deze handleiding is onze opstelling (hostnaam en openbaar IP) als volgt:

Node 1 : tecmint-appserver1: 		10.20.20.4
Node 2 : tecmint-dbserver1: 		10.20.20.3

Hoe WireGuard te installeren in Linux Distributies

Log in op beide knooppunten en installeer WireGuard met behulp van de volgende passende opdracht voor uw Linux-distributies zoals hieronder.

Installeer WireGuard in RHEL 8

$ sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
$ sudo subscription-manager repos --enable codeready-builder-for-rhel-8-$(arch)-rpms
$ sudo yum copr enable jdoss/wireguard
$ sudo yum install wireguard-dkms wireguard-tools

Installeer WireGuard in CentOS 8

$ sudo yum install epel-release
$ sudo yum config-manager --set-enabled PowerTools
$ sudo yum copr enable jdoss/wireguard
$ sudo yum install wireguard-dkms wireguard-tools

Installeer WireGuard in RHEL/CentOS 7

$ sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
$ sudo curl -o /etc/yum.repos.d/jdoss-wireguard-epel-7.repo https://copr.fedorainfracloud.org/coprs/jdoss/wireguard/repo/epel-7/jdoss-wireguard-epel-7.repo
$ sudo yum install wireguard-dkms wireguard-tools

Installeer WireGuard in Fedora

$ sudo dnf install wireguard-tools

Installeer WireGuard in Debian

# echo "deb http://deb.debian.org/debian/ unstable main" > /etc/apt/sources.list.d/unstable.list
# printf 'Package: *\nPin: release a=unstable\nPin-Priority: 90\n' > /etc/apt/preferences.d/limit-unstable
# apt update
# apt install wireguard

Installeer WireGuard in Ubuntu

$ sudo add-apt-repository ppa:wireguard/wireguard
$ sudo apt-get update
$ sudo apt-get install wireguard

Installeer WireGuard in OpenSUSE

$ sudo zypper addrepo -f obs://network:vpn:wireguard wireguard
$ sudo zypper install wireguard-kmp-default wireguard-tools

Configureren van een WireGuard VPN-tunnel tussen twee Linux-hosts

Wanneer de installatie van wireguard is voltooid op beide knooppunten, kunt u uw knooppunten opnieuw opstarten of de wireguard-module toevoegen vanuit de Linux-kernel met behulp van de volgende opdracht op beide knooppunten.

$ sudo modprobe wireguard
OR
# modprobe wireguard

Vervolgens genereert u base64-gecodeerde openbare en privésleutels met behulp van het wg hulpprogramma op beide knooppunten zoals hieronder weergegeven.

---------- On Node 1 ---------- 
$ umask 077
$ wg genkey >private_appserver1

---------- On Node 2 ----------
$ umask 077
$ wg genkey >private_dbserver1
$ wg pubkey < private_dbserver1
Generate Keys on Both Nodes

Vervolgens moet u een netwerkinterface (bijv. wg0) voor wireguard maken op de peers zoals hieronder weergegeven. Wijs vervolgens IP-adressen toe aan de nieuwe gecreëerde netwerkinterface (voor deze handleiding zullen we het netwerk 192.168.10.0/24 gebruiken).

---------- On Node 1 ---------- 
$ sudo ip link add dev wg0 type wireguard
$ sudo ip addr add 192.168.10.1/24 dev wg0

---------- On Node 2 ----------
$ sudo ip link add dev wg0 type wireguard
$ sudo ip addr add 192.168.10.2/24 dev wg0

Om de gekoppelde netwerkinterfaces op de peers en hun IP-adressen te bekijken, gebruikt u het volgende IP-commando.

$ ip ad
View Network Interfaces with IP Addresses

Wijs vervolgens de privésleutel voor elke peer toe aan de wg0 netwerkinterface en breng de interface omhoog zoals weergegeven.

---------- On Node 1 ---------- 
$ sudo wg set wg0 private-key ./private_appserver1
$ sudo ip link set wg0 up

---------- On Node 2 ----------
$ sudo wg set wg0 private-key ./private_dbserver1
$ sudo ip link set wg0 up

Nu beide links actief zijn, elk met bijbehorende privésleutels, voer de wg-hulpprogramma uit zonder argumenten om de configuratie van de WireGuard-interfaces op de peers op te halen. Maak vervolgens je WireGuard VPN-tunnel als volgt.

De peer (openbare sleutel), toegestane IP’s (netwerk/subnetmasker) en eindpunt (openbaar ip:poort) zijn van de tegenovergestelde peer.

----------  On Node1 (Use the IPs and Public Key of Node 2) ---------- 
$ sudo wg
$ sudo wg set wg0 peer MDaeWgZVULXP4gvOj4UmN7bW/uniQeBionqJyzEzSC0= allowed-ips 192.168.10.0/24  endpoint  10.20.20.3:54371

----------  On Node2 (Use the IPs and Public Key of Node 1) ----------
$ sudo wg
$ sudo wg set wg0 peer 6yNLmpkbfsL2ijx7z996ZHl2bNFz9Psp9V6BhoHjvmk= allowed-ips 192.168.10.0/24 endpoint  10.20.20.4:42930
Create Wireguard VPN Tunnel Between Linux Machines

Testen van WireGuard VPN-tunnel tussen Linux-systemen

Zodra de WireGuard VPN-tunnel is aangemaakt, ping de tegenovergestelde peer met behulp van het adres van de WireGuard-netwerkinterface. Voer vervolgens nogmaals het wg-hulpprogramma uit om een handshake tussen de peers te bevestigen zoals weergegeven.

---------- On Node 1 ----------
$ ping 192.168.10.2
$ sudo wg

---------- On Node 2 ----------
$ ping 192.168.10.1
$ sudo wg
Test Wireguard VPN Tunnel Between Linux Machines

Dat is het voor nu! WireGuard is een moderne, veilige, eenvoudige maar krachtige en gemakkelijk te configureren VPN-oplossing voor de toekomst. Het wordt intensief ontwikkeld en is dus nog in ontwikkeling. Je kunt meer informatie krijgen, met name over de interne werking en andere configuratieopties, van de WireGuard-website.

Source:
https://www.tecmint.com/wireguard-secure-vpn-tunnel-for-linux/