Website-Suche

WireGuard – Ein schneller, moderner und sicherer VPN-Tunnel für Linux


WireGuard ist eine moderne, sichere, plattformübergreifende und universelle VPN-Implementierung, die modernste Kryptografie verwendet. Es soll schneller, einfacher, schlanker und funktionaler sein als IPsec und leistungsfähiger als OpenVPN sein.

Es ist für den Einsatz unter verschiedenen Umständen konzipiert und kann auf eingebetteten Schnittstellen, voll ausgelasteten Backbone-Routern und Supercomputern gleichermaßen eingesetzt werden; und läuft auf den Betriebssystemen Linux, Windows, macOS, BSD, iOS und Android.

Empfohlene Lektüre: Die 13 besten VPN-Dienste mit lebenslangem Abonnement

Es stellt eine äußerst einfache und dennoch leistungsstarke Schnittstelle dar, die so einfach wie SSH zu konfigurieren und bereitzustellen ist. Zu seinen Hauptmerkmalen gehören eine einfache Netzwerkschnittstelle, Kryptoschlüssel-Routing, integriertes Roaming und Containerunterstützung.

Beachten Sie, dass es sich zum Zeitpunkt des Verfassens dieses Artikels in einer intensiven Entwicklungsphase befindet: Einige seiner Teile arbeiten auf eine stabile Version 1.0 hin, während andere bereits vorhanden sind (funktionieren einwandfrei).

In diesem Artikel erfahren Sie, wie Sie WireGuard unter Linux installieren und konfigurieren, um einen VPN-Tunnel zwischen zwei Linux-Hosts zu erstellen.

Testumgebung

Für diese Anleitung ist unser Setup (Hostname und öffentliche IP) wie folgt:

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

So installieren Sie WireGuard in Linux-Distributionen

Melden Sie sich bei Ihren beiden Knoten an und installieren Sie WireGuard mit dem folgenden entsprechenden Befehl für Ihre Linux-Distributionen wie folgt.

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

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

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

Installieren Sie WireGuard in Fedora

sudo dnf install wireguard-tools

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

Installieren Sie WireGuard in Ubuntu

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

Installieren Sie WireGuard in OpenSUSE

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

Konfigurieren eines WireGuard VPN-Tunnels zwischen zwei Linux-Hosts

Wenn die Installation von wireguard auf beiden Knoten abgeschlossen ist, können Sie Ihre Knoten neu starten oder das Wireguard-Modul aus dem Linux-Kernel hinzufügen, indem Sie den folgenden Befehl auf beiden Knoten verwenden.

sudo modprobe wireguard
OR
modprobe wireguard

Als nächstes generieren Sie mit dem Dienstprogramm wg auf beiden Knoten Base64-codierte öffentliche und private Schlüssel, wie gezeigt.

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

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

Als Nächstes müssen Sie eine Netzwerkschnittstelle (z. B. wg0) für Wiregaurd auf den Peers erstellen, wie unten gezeigt. Weisen Sie dann der neu erstellten Netzwerkschnittstelle IP-Adressen zu (für diese Anleitung verwenden wir das Netzwerk 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

Um die angeschlossenen Netzwerkschnittstellen der Peers und ihre IP-Adressen anzuzeigen, verwenden Sie den folgenden IP-Befehl.

ip ad

Weisen Sie als Nächstes den privaten Schlüssel für jeden Peer der Netzwerkschnittstelle wg0 zu und rufen Sie die Schnittstelle wie gezeigt auf.

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

Da nun beide Links aktiv sind und ihnen jeweils private Schlüssel zugeordnet sind, führen Sie das Dienstprogramm wg ohne Argumente aus, um die Konfiguration der WireGuard-Schnittstellen auf den Peers abzurufen. Anschließend erstellen Sie Ihren Wireguard VPN-Tunnel wie folgt.

Der Peer (öffentlicher Schlüssel), allowed-ips (Netzwerk-/Subnetzmaske) und Endpunkt (öffentliche IP:Port) gehören zum gegenüberliegenden 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

Testen des WireGuard VPN-Tunnels zwischen Linux-Systemen

Sobald der Wireguard-VPN-Tunnel erstellt wurde, pingen Sie den anderen Peer mit der Adresse der Wireguard-Netzwerkschnittstelle an. Führen Sie dann das Dienstprogramm wg erneut aus, um einen Handshake zwischen den Peers zu bestätigen, wie gezeigt.

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

---------- On Node 2 ----------
ping 192.168.10.1
sudo wg

Das war es fürs Erste! WireGuard ist eine moderne, sichere, einfache, aber leistungsstarke und leicht zu konfigurierende VPN-Lösung für die Zukunft. Es befindet sich in einer intensiven Entwicklung und ist daher in Arbeit. Weitere Informationen, insbesondere zum Innenleben und weiteren Konfigurationsmöglichkeiten, erhalten Sie auf der WireGuard-Homepage.