WireGuard VPN: Grundlagen (2024)

FlashMovieShutterstock

WireGuard ist eine freie Software zum Aufbau eines virtuellen privaten Netzwerks (VPN). Mithilfe eines VPN öffnet man einen virtuellen Tunnel zwischen zwei Maschinen im Internet. Die Netzwerkverbindung läuft durch den Tunnel, so als wären die Maschinen direkt durch ein Netzwerkkabel verbunden. VPNs werden oft von großen Organisationen wie Forschungseinrichtungen, Ministerien und Unternehmen genutzt. So lässt sich der Zugriff auf bestimmte Ressourcen im Netzwerk regulieren und der Datenstrom der Nutzer nach außen hin abschotten.

Mit IPsec, OpenVPN, L2TP und PPTP existiert bereits eine Reihe an ausgereiften VPN-Protokollstapeln. Anbieter von VPN-Services bauen auf diesen Protokollen auf, um ihren Nutzern die Möglichkeit zu geben, den eigenen Internetverkehr durch das VPN zu leiten. Immer mehr VPN-Anbieter integrieren WireGuard aufgrund der Vorzüge des Protokolls in ihre Anwendungen.

Inhaltsverzeichnis

  1. Was ist WireGuard?
    1. Was sind die Features von WireGuard?
    2. Was sind die Vorteile von WireGuard?
  2. Wie funktioniert WireGuard?
  3. Erste Schritte mit WireGuard
    1. WireGuard auf dem eigenen System installieren
    2. WireGuard-Schlüssel erzeugen
    3. Netzwerkeinstellungen für WireGuard konfigurieren

Was ist WireGuard?

WireGuard ist eine Anwendung und ein Netzwerkprotokoll für den Aufbau verschlüsselter VPN-Tunnels. Die Software ist unter der GPLv2-Lizenz als freie Software lizensiert und plattformübergreifend verfügbar. WireGuard ist in den Sprachen „C“ und „Go“ geschrieben und läuft unter Windows, macOS, BSD, iOS und Android.

Mit WireGuard baut man einen verschlüsselten Tunnel auf. Datenströme werden durch den Tunnel geleitet und sind somit vor dem Zugriff Unbefugter geschützt. Neben dem Fokus auf starke Verschlüsselung bietet WireGuard Optimierungen für mobile Systeme und „Internet of Things (IoT)“-Geräte.

Seit dem Frühjahr 2020 ist WireGuard direkt in den Linux-Kernel integriert. Da Linux als Standard-Betriebssystem auf Milliarden von vernetzten Geräten weltweit läuft, kann WireGuard so gut wie überall eingesetzt werden. Der breiten Verwendung kommt ebenfalls zugute, dass die Software relativ schlank ist und nur geringe Anforderungen an die Hardware stellt.

Was sind die Features von WireGuard?

Das zentrale Feature des WireGuard-Protokolls ist das sogenannte Cryptokey Routing. Dabei werden dem öffentlichen Schlüssel eines Verbindungspartners die innerhalb eines Tunnels erlaubten IP-Adressbereiche zugeordnet. Eingehende Pakete eines Verbindungspartners werden mithilfe des öffentlichen Schlüssels entschlüsselt. Ein eingehendes Paket wird nach der Entschlüsselung nur dann zugestellt, wenn es von einer zum Schlüssel korrespondierenden IP-Adresse stammt. Andernfalls wird das Paket verworfen.

Anders als die etablierten VPN-Protokollstapel IPsec und OpenVPN handelt es sich bei WireGuard nicht um ein agiles Protokoll: Anstatt während der Handshake-Phase beim Verbindungsaufbau die zu nutzenden kryptografischen Grundlagen einzeln auszuhandeln, beschränkt sich WireGuard auf wenige Optionen. Die eingesetzten kryptografischen Funktionen werden zusammengefasst versioniert. Sollte eine der kryptografischen Grundlagen in der Zukunft kompromittiert werden, wird eine neue, sichere Version des WireGuard Protokolls veröffentlicht. Setzen beide Kommunikationspartner die neue Version ein, wird der Datenstrom abgesichert.

Zum Zeitpunkt der Artikelerstellung kommen die folgenden Protokolle und Verschlüsselungstechnologien zum Einsatz:

  • Noise protocol framework
  • Curve25519
  • ChaCha20
  • Poly1305
  • BLAKE2
  • SipHash24
  • HKDF

Was sind die Vorteile von WireGuard?

Als einer der größten Vorteile von WireGuard gilt die aufgeräumte Codebasis. Der Umfang des gesamten Kernel-Codes beläuft sich auf nur ca. 4.000 Code-Zeilen. Zum Vergleich: die Code-Größe einer Implementation von OpenVPN oder IPsec liegt bei ca. 100.00 bis 600.000 Zeilen. Eine kleinere Codebasis ist inhärent sicherer, da sich Bugs so leichter finden lassen und die Angriffsfläche minimiert wird.

Selbst der für seinen bissigen Schreibstil und gelegentliche Wutausbrüche bekannte Linux-Erfinder Linus Torvalds reagierte nach Inspektion der WireGuard-Codebasis mit ausdrücklichem Lob:

Zitat

„Maybe the code isn’t perfect, but I’ve skimmed it, and compared to the horrors that are OpenVPN and IPSec, it’s a work of art.“ – Quelle: netdev - Re: [GIT] Networking

Übersetzung: „Der Code ist vielleicht nicht perfekt, aber ich habe ihn überflogen, und verglichen mit dem furchtbaren Code von OpenVPN und IPSec handelt es sich um ein Kunstwerk.“

Neben der erhöhten Sicherheit bedingt die geringere Komplexität der Software auch eine höhere Performanz. WireGuard liefert in Benchmarks eine höhere Übertragungsgeschwindigkeit und niedrigere Latenz als konkurrierende Protokolle. Ferner ist WireGuard kein „schwatzhaftes“ Protokoll („it is not a chatty protocol“): Solange der Nutzer keine Daten durch den Tunnel schickt, ruht WireGuard. So wird weniger Strom verbraucht, was der Akkulaufzeit zugutekommt.

Die Energieeffizienz ist besonders wichtig für mobile Geräte, und auf diesem Gebiet ist WireGuard in mehrfacher Hinsicht gut aufgestellt. So unterstützt das Protokoll Roaming, also den automatischen Wechsel von WLAN zum Handynetz und vice versa. Sollte es dennoch zu einem Verbindungsabbruch kommen, ist der Wiederaufbau der Verbindung mit WireGuard für gewöhnlich schneller als mit konkurrierenden Protokollen.

Wie funktioniert WireGuard?

Vom Prinzip her handelt es sich bei WireGuard um ein dezentrales Peer-to-Peer-VPN-Protokoll. Anstatt zwingend einen Server zu benötigen, lässt sich mit WireGuard direkt ein Tunnel zwischen zwei Maschinen öffnen. Ein WireGuard-„Server“ ist einfach eine Maschine, auf der Verbindungskonfigurationen für mehrere Peers hinterlegt sind.

Der Verbindungsaufbau mit WireGuard funktioniert ähnlich wie bei Secure Shell (SSH): Die Nutzer („Peers“) erzeugen mit WireGuard öffentliche Schlüssel und tauschen diese untereinander aus. Mithilfe der Schlüssel authentifizieren sich die Peers gegenseitig und verschlüsseln die Datenpakete für das jeweilige Gegenüber.

Neben der Erzeugung der kryptografischen Schlüssel müssen auf jedem Peer verschiedene Netzwerkeinstellungen vorgenommen werden – siehe dazu unsere Anleitung zur Einrichtung von WireGuard weiter unten. Zum Datenaustausch werden auf den Peers erlaubte IP-Adressbereiche mit dem kryptografischen Schlüssel verknüpft. Nicht den erlaubten Adressbereichen entstammende Pakete werden verworfen. Der Datenversand mit WireGuard läuft über das User Datagram Protocol (UDP).

Auf der Maschine eines Peers wird die Konfiguration mithilfe des WireGuard-Kommandozeilen-Tools und weiterer, standardmäßig auf Linux vorhandener Bordmittel vorgenommen. Obwohl die Konfiguration der Software als relativ einfach gilt, dient WireGuard nur als Grundlage; eine auf dem Protokoll aufbauende App kann dem Nutzer bei den einzelnen Schritten der Konfiguration und des Verbindungsaufbaus unter die Arme greifen. Nutzer von kommerziellen VPN-Diensten kommen so auch ohne Kommandozeile in den Genuss des modernen VPN-Protokolls.

Erste Schritte mit WireGuard

Prinzipiell lässt sich WireGuard auf einem Linux-System mit geringem Aufwand installieren und konfigurieren. So können Sie sich z.B. einen eigenen VPN-Server mit Raspberry Pi einrichten. Jedoch unterscheidet sich das genaue Vorgehen je nach Einsatzzweck, eingesetztem Betriebssystem und bestehender Netzwerkumgebung. Wir können hier daher nur das ungefähre Vorgehen skizzieren. Bitte nutzen Sie unsere Anleitungen nur für Tests.

Tipp

Installieren Sie WireGuard auf dem IONOS vServer und schaffen Sie sich damit ein eigenes VPN.

WireGuard auf dem eigenen System installieren

Führen Sie die folgenden Befehle auf der Kommandozeile aus, um WireGuard auf Ihrem Linux-System zu installieren:

# für Ubuntu ab Version 19.10sudo apt install wireguard# für Ubuntu-Version unterhalb 19.10sudo add-apt-repository ppa:wireguard/wireguardsudo apt-get updatesudo apt-get install wireguard

Hinweis

Hier wird die Installation unter Ubuntu-Linux gezeigt. Auf anderen Systemen müssen Sie den Code ggf. anpassen.

WireGuard-Schlüssel erzeugen

Ähnlich wie bei SSH und PGP bilden kryptografische Schlüssel die Grundlage für den Einsatz von WireGuard. Wie üblich gibt es einen privaten Schlüssel, der unbedingt geheim zu halten ist. Ferner wird aus dem privaten Schlüssel ein öffentlicher Schlüssel erzeugt und mit Peers geteilt. Damit können die Peers Daten verschlüsseln und versenden. Schließlich nutzen Sie Ihren privaten Schlüssel, um die verschlüsselten Daten zu entschlüsseln.

Führen Sie die folgenden Befehle auf der Kommandozeile aus, um einen privaten und öffentlichen WireGuard-Schlüssel zu erzeugen:

# Verzeichnis für Schlüssel anlegen# ACHTUNG: nur für Testzwecke, da nicht abgesichert!mkdir ~/.wireguard/ && cd ~/.wireguard/# Dateirechte setzenumask 077# privaten Schlüssel erzeugenwg genkey > privatekey# öffentlichen Schlüssel aus dem privaten Schlüssel erzeugenwg pubkey < privatekey > publickey

Netzwerkeinstellungen für WireGuard konfigurieren

Bei der Installation von WireGuard und der Schlüssel-Erzeugung handelt es sich um grundlegende Vorbereitungen, die auf jedem System mehr oder weniger gleich ablaufen. Demgegenüber ist die Konfiguration von WireGuard abhängig von den existierenden lokalen Netzwerk-Einstellungen. Wir können hier daher nur das generelle Schema skizzieren und empfehlen Ihnen für eine tiefergehende Betrachtung die Quick-Start-Anleitung des WireGuard-Projekts.

Das generelle Vorgehen für die Einrichtung einer Netzwerk-Verbindung mit WireGuard folgt diesem Schema:

# WireGuard Netzwerk-Interface hinzufügenip link add dev wg0 type wireguard# IP-Adressen konfigurierenip address add dev wg0 192.168.2.1 peer 192.168.2.2# Netzwerk-Interface unter Nutzung der Konfigurationsdatei konfigurierenwg setconf wg0 myconfig.conf# Netzwerk-Interface aktivierenip link set up dev wg0

Fazit

WireGuard ist ein moderner und schlanker Anwärter auf die Position der in die Jahre gekommenen VPN-Protokollstapel IPsec und OpenVPN und könnte diese in absehbarer Zeit weitgehend ersetzen.

  • Tools
  • Sicherheit

Ähnliche Artikel

WireGuard VPN: Grundlagen (2)evvShutterstock

Raspberry Pi als VPN-Server einrichten: Tutorial mit OpenVPN

Wer seinen eignen VPN-Server einrichtet, kann von jeder Internetverbindung aus auf sein lokales Netzwerk zugreifen und sich zudem auch in öffentlichen WLANs sicherer und verschlüsselt im Internet bewegen. Dies Tutorial zeigt, dass bereits der Mini-Computer Raspberry Pi und das Programm OpenVPN ausreichen, um preiswert einen VPN-Server zu erstellen und zu betreiben.

Raspberry Pi als VPN-Server einrichten: Tutorial mit OpenVPN

Insights, advice, suggestions, feedback and comments from experts

Ich bin ein Experte auf dem Gebiet von WireGuard und verfüge über fundiertes Wissen zu diesem Thema. Ich kann Ihnen helfen, alle Konzepte zu verstehen, die in dem Artikel erwähnt werden.

Was ist WireGuard?

WireGuard ist eine freie Software zum Aufbau eines virtuellen privaten Netzwerks (VPN). Es handelt sich um ein Netzwerkprotokoll, das verschlüsselte VPN-Tunnel zwischen Maschinen im Internet ermöglicht. Durch diese Tunnelverbindung können Daten sicher übertragen werden, als wären die Maschinen direkt mit einem Netzwerkkabel verbunden. WireGuard wird von großen Organisationen wie Forschungseinrichtungen, Ministerien und Unternehmen genutzt, um den Zugriff auf bestimmte Ressourcen im Netzwerk zu regulieren und den Datenstrom der Nutzer nach außen hin abzuschotten [[1]].

Was sind die Features von WireGuard?

WireGuard bietet verschiedene Features, die es zu einem beliebten VPN-Protokoll machen. Ein zentrales Feature ist das sogenannte Cryptokey Routing. Dabei werden den öffentlichen Schlüsseln der Verbindungspartner die erlaubten IP-Adressbereiche zugeordnet. Dadurch werden eingehende Pakete nur dann zugestellt, wenn sie von einer zum Schlüssel korrespondierenden IP-Adresse stammen. Andernfalls werden die Pakete verworfen. Im Vergleich zu anderen VPN-Protokollen wie IPsec und OpenVPN ist WireGuard weniger komplex und bietet eine höhere Performanz. Es verbraucht weniger Strom und unterstützt Roaming, was den automatischen Wechsel von WLAN zum Handynetz und umgekehrt ermöglicht [[2]].

Wie funktioniert WireGuard?

WireGuard ist ein dezentrales Peer-to-Peer-VPN-Protokoll. Anstatt einen zentralen Server zu benötigen, kann direkt ein Tunnel zwischen zwei Maschinen geöffnet werden. Die Nutzer erzeugen öffentliche Schlüssel und tauschen diese untereinander aus, um sich gegenseitig zu authentifizieren und die Datenpakete zu verschlüsseln. Die Konfiguration von WireGuard erfolgt über das WireGuard-Kommandozeilen-Tool und weitere Bordmittel, die standardmäßig auf Linux vorhanden sind. Es gibt auch Apps, die auf dem WireGuard-Protokoll aufbauen und die Konfiguration und den Verbindungsaufbau erleichtern [[3]].

Was sind die Vorteile von WireGuard?

WireGuard bietet mehrere Vorteile im Vergleich zu anderen VPN-Protokollen. Eine der größten Vorteile ist die aufgeräumte Codebasis. Der gesamte Kernel-Code von WireGuard umfasst nur etwa 4.000 Zeilen, während andere Implementierungen wie OpenVPN oder IPsec zwischen 100.000 und 600.000 Zeilen Code haben. Eine kleinere Codebasis erleichtert die Fehlerbehebung und minimiert die Angriffsfläche. WireGuard bietet auch eine höhere Übertragungsgeschwindigkeit und niedrigere Latenz in Benchmarks im Vergleich zu anderen Protokollen. Es ist energieeffizient und unterstützt Roaming, was besonders für mobile Geräte wichtig ist [[4]].

Erste Schritte mit WireGuard

Um WireGuard auf einem Linux-System zu installieren, können Sie die folgenden Befehle auf der Kommandozeile ausführen:

# Für Ubuntu ab Version 19.10
sudo apt install wireguard

# Für Ubuntu-Versionen unterhalb 19.10
sudo add-apt-repository ppa:wireguard/wireguard
sudo apt-get update
sudo apt-get install wireguard

Nach der Installation können Sie private und öffentliche WireGuard-Schlüssel erzeugen und Netzwerkeinstellungen für WireGuard konfigurieren. Die genauen Schritte hängen von Ihrem System und Ihrer Netzwerkumgebung ab. Es wird empfohlen, die Quick-Start-Anleitung des WireGuard-Projekts für eine detailliertere Anleitung zu verwenden [[5]].

Fazit

WireGuard ist ein modernes und schlankes VPN-Protokoll, das als Alternative zu etablierten Protokollen wie IPsec und OpenVPN betrachtet werden kann. Es bietet eine aufgeräumte Codebasis, höhere Sicherheit, bessere Performanz und Energieeffizienz. WireGuard ist plattformübergreifend verfügbar und kann auf verschiedenen Betriebssystemen eingesetzt werden [[6]].

Ich hoffe, diese Informationen helfen Ihnen weiter. Wenn Sie weitere Fragen haben, stehe ich Ihnen gerne zur Verfügung.

WireGuard VPN: Grundlagen (2024)
Top Articles
Latest Posts
Article information

Author: Rob Wisoky

Last Updated:

Views: 5975

Rating: 4.8 / 5 (48 voted)

Reviews: 87% of readers found this page helpful

Author information

Name: Rob Wisoky

Birthday: 1994-09-30

Address: 5789 Michel Vista, West Domenic, OR 80464-9452

Phone: +97313824072371

Job: Education Orchestrator

Hobby: Lockpicking, Crocheting, Baton twirling, Video gaming, Jogging, Whittling, Model building

Introduction: My name is Rob Wisoky, I am a smiling, helpful, encouraging, zealous, energetic, faithful, fantastic person who loves writing and wants to share my knowledge and understanding with you.