Zoeken op website

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


WireGuard is een moderne, veilige, platformonafhankelijke en algemene VPN-implementatie die gebruik maakt van de modernste cryptografie. Het is bedoeld om sneller, eenvoudiger, slanker en functioneler te zijn dan IPsec en beter presterend dan 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 leesmateriaal: 13 beste VPN-services met levenslang abonnement

Het presenteert een uiterst eenvoudige maar krachtige interface die eenvoudig en net zo gemakkelijk te configureren en te implementeren is als SSH. De belangrijkste kenmerken zijn onder meer een eenvoudige netwerkinterface, routering van cryptosleutels, ingebouwde roaming en containerondersteuning.

Merk op dat het op het moment van schrijven zwaar wordt ontwikkeld: sommige onderdelen werken toe naar een stabiele versie 1.0, terwijl andere er al zijn (werken prima).

In dit artikel leert u hoe u WireGuard in Linux installeert en configureert om een VPN-tunnel tussen twee Linux-hosts te creëren.

Omgeving testen

Voor deze handleiding is onze configuratie (hostnaam en openbaar IP-adres) als volgt:

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

WireGuard installeren in Linux-distributies

Log in op beide knooppunten en installeer WireGuard met de volgende toepasselijke opdracht voor uw Linux-distributies, als volgt.

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

Een WireGuard VPN-tunnel configureren tussen twee Linux-hosts

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

sudo modprobe wireguard
OR
modprobe wireguard

Genereer vervolgens met base64 gecodeerde publieke en private sleutels met behulp van het hulpprogramma wg op beide knooppunten, zoals weergegeven.

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

---------- On Node 2 ----------
umask 077
wg genkey >private_dbserver1
wg pubkey < private_dbserver1

Vervolgens moet u een netwerkinterface maken (bijvoorbeeld wg0) voor wiregaurd op de peers, zoals hieronder weergegeven. Wijs vervolgens IP-adressen toe aan de nieuwe netwerkinterface die is gemaakt (voor deze handleiding gebruiken we het netwerk 192.168.10.0/24).

---------- 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

Gebruik de volgende IP-opdracht om de aangesloten netwerkinterfaces op de peers en hun IP-adressen te bekijken.

ip ad

Wijs vervolgens de privésleutel voor elke peer toe aan de wg0 netwerkinterface en open de interface 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, voert u het hulpprogramma wg uit zonder enige argumenten om de configuratie van WireGuard-interfaces op de peers op te halen. Maak vervolgens als volgt uw wireguard VPN-tunnel aan.

De peer (openbare sleutel), allowed-ips (netwerk/subnetmasker) en eindpunt (openbare 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

WireGuard VPN-tunnel testen tussen Linux-systemen

Zodra de wireguard VPN-tunnel is gemaakt, pingt u de andere peer met behulp van het adres van de wireguard-netwerkinterface. Voer vervolgens het hulpprogramma wg nogmaals uit om een handdruk 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

Dat is het voor nu! WireGuard is een moderne, veilige, eenvoudige maar krachtige en eenvoudig te configureren VPN-oplossing voor de toekomst. Het ondergaat een zware ontwikkeling en is dus work in progress. Meer informatie, vooral over de interne werking en andere configuratieopties, kunt u vinden op de WireGuard-startpagina.