WireGuard ist eine moderne, sichere, plattformübergreifende und allgemein verwendbare VPN-Implementierung, die modernste Kryptographie verwendet. Sie zielt darauf ab, schneller, einfacher, schlanker und funktionaler zu sein als IPsec und beabsichtigt, leistungsfähiger zu sein als OpenVPN.
Es ist für den Einsatz in verschiedenen Situationen konzipiert und kann auf eingebetteten Schnittstellen, voll ausgelasteten Backbone-Routern und Supercomputern gleichermaßen eingesetzt werden; und läuft auf Linux, Windows, macOS, BSD, iOS und Android Betriebssystemen.
Empfohlene Lektüre: 13 Beste VPN-Dienste mit lebenslanger Lizenz
Es bietet eine äußerst einfache, aber leistungsstarke Benutzeroberfläche, die einfach sein soll, so einfach zu konfigurieren und bereitzustellen wie SSH. Zu den wichtigsten Funktionen gehören eine einfache Netzwerkschnittstelle, kryptografische Schlüsselrouten, integriertes Roaming und Containerunterstützung.
Beachten Sie, dass zum Zeitpunkt der Abfassung dieser Zeilen eine intensive Entwicklung stattfindet: Einige Teile arbeiten auf eine stabile Version 1.0 hin, während andere bereits dort sind (funktionieren einwandfrei).
In diesem Artikel erfahren Sie, wie Sie WireGuard in Linux installieren und konfigurieren, um einen VPN-Tunnel zwischen zwei Linux-Hosts zu erstellen.
Testumgebung
Für diese Anleitung ist unsere Konfiguration (Hostname und öffentliche IP) wie folgt:
Node 1 : tecmint-appserver1: 10.20.20.4 Node 2 : tecmint-dbserver1: 10.20.20.3
Wie man WireGuard in Linux-Distributionen installiert
Melden Sie sich auf beiden Knoten an und installieren Sie WireGuard mithilfe des entsprechenden Befehls 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 mithilfe des folgenden Befehls auf beiden Knoten.
$ sudo modprobe wireguard OR # modprobe wireguard
Anschließend generieren Sie auf beiden Knoten basierend auf Base64-codierten öffentlichen und privaten Schlüsseln mithilfe des Dienstprogramms wg wie folgt.
---------- 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 Wireguard auf den Peers erstellen, wie unten gezeigt. Weisen Sie dann den neuen Netzwerkschnittstellen 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 angehängten Netzwerkschnittstellen auf den Peers und ihre IP-Adressen anzuzeigen, verwenden Sie den folgenden IP-Befehl.
$ ip ad

Weisen Sie als Nächstes jedem Peer den privaten Schlüssel für die Netzwerkschnittstelle wg0 zu und bringen Sie die Schnittstelle wie folgt nach oben.
---------- 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
Nun, da beide Links mit ihnen verbundenen privaten Schlüsseln vorhanden sind, führen Sie das wg-Dienstprogramm ohne Argumente aus, um die Konfiguration der WireGuard-Schnittstellen auf den Peers abzurufen. Erstellen Sie dann Ihren WireGuard-VPN-Tunnel wie folgt.
Der Peer (öffentlicher Schlüssel), erlaubte IPs (Netzwerk/Subnetzmaske) und Endpunkt (öffentliche IP:Port) gehören dem gegenteiligen 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 gegenteiligen Peer unter Verwendung der Adresse der WireGuard-Netzwerkschnittstelle an. Führen Sie dann das wg-Dienstprogramm 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’s fürs Erste! WireGuard ist eine moderne, sichere, einfache, aber leistungsstarke und einfach zu konfigurierende VPN-Lösung für die Zukunft. Es befindet sich in intensiver Entwicklung und ist daher noch nicht abgeschlossen. Weitere Informationen, insbesondere zu seinen internen Abläufen und anderen Konfigurationsoptionen, finden Sie auf der WireGuard-Homepage.
Source:
https://www.tecmint.com/wireguard-secure-vpn-tunnel-for-linux/