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
WireGuard VPN: Grundlagen (2024)

FAQs

Why not to use WireGuard? ›

Why you shouldn't use WireGuard. WireGuard prioritizes speed, ease of use, and network security, but, some might say, at the expense of privacy. WireGuard does lack some standard features and practices many other protocols offer to enhance user privacy protection, such as: Dynamic IP addresses.

What is safer, OpenVPN or WireGuard? ›

The biggest notable differences between WireGuard and OpenVPN are speed and security. While WireGuard is generally faster, OpenVPN provides heavier security. The differences between these two protocols are also what make up their defining features.

How to tell if WireGuard VPN is working? ›

To check if WireGuard Server is working properly

The simpliest way is to use a cell phone with WireGuard official client app installed, turn off its Wi-Fi connection, and only connect to Internet via 3G/4G/5G.

Is IKEv2 better than WireGuard? ›

Based on these findings, if you're looking for the fastest secure tunneling protocol, you should go with NordLynx (or WireGuard). The second fastest will be IKEv2, which can confidently hold its own even when connecting to the other side of the world.

Can WireGuard be hacked? ›

Protocols such as OpenVPN, WireGuard, or IKEv2 have no known vulnerabilities and are considered secure.

Can WireGuard VPN be detected? ›

Can WireGuard be detected? Yes, WireGuard can be detected. It doesn't do VPN obfuscation, mostly because of the insistence on UDP transmission mode.

Can WireGuard VPN be tracked? ›

WireGuard does not provide obfuscation, meaning that internet service providers (ISPs) can see when you are using it — although, of course, they can't see what you're using it for. This means that a WireGuard VPN won't necessarily be able to help you bypass firewalls.

Does WireGuard hide your IP? ›

When you connect to our VPN server via WireGuard, your device can only see the IP address 10.2. 0.2, and the website you visit can only see the public IP address of our VPN server. Your true IP address remains secure and private, just as it would with OpenVPN.

Why does my WireGuard not work? ›

When a WireGuard connection isn't working, it's usually one of four things: a WireGuard configuration problem, a firewall problem, a routing problem, or a DNS problem. The tcpdump utility can help you quickly diagnose what kind of problem it is, by identifying where packets are going awry.

What is the best port to run WireGuard on? ›

What ports do you use for WireGuard? UDP ports 53, 80, 443, 1194, 2049, 2050, 30587, 41893, 48574, 58237.

What is the most advanced VPN protocol? ›

IKEv2 – Internet Key Exchange

Based on the IPSec framework, IKEv2 is the most recent and advanced VPN protocol.

What is the least secure VPN protocol? ›

Point-to-point Tunneling Protocol (PPTP) is the oldest and least secure VPN protocol. Due to its weak encryption and known security vulnerabilities, PPTP is considered obsolete and isn't typically used by reputable VPN providers.

What is the vulnerability of WireGuard VPN? ›

WireGuard has forward secrecy of data packets, thanks to its handshake, but the handshake itself encrypts the sender's public key using the static public key of the responder, which means that a compromise of the responder's private key and a traffic log of previous handshakes would enable an attacker to figure out who ...

What are the privacy concerns of WireGuard? ›

Privacy Concerns​

The main drawback of the WireGuard protocol is that it was not built for anonymity and privacy. Its privacy is primarily questioned because it requires users to log their data. Instead of assigning a different IP address to the user, it gives the same IP address each time.

What is the point of WireGuard? ›

WireGuard is a new-generation VPN protocol that radically streamlines secure communication for its end users and network administrators.

Top Articles
Latest Posts
Article information

Author: Sen. Emmett Berge

Last Updated:

Views: 5781

Rating: 5 / 5 (60 voted)

Reviews: 83% of readers found this page helpful

Author information

Name: Sen. Emmett Berge

Birthday: 1993-06-17

Address: 787 Elvis Divide, Port Brice, OH 24507-6802

Phone: +9779049645255

Job: Senior Healthcare Specialist

Hobby: Cycling, Model building, Kitesurfing, Origami, Lapidary, Dance, Basketball

Introduction: My name is Sen. Emmett Berge, I am a funny, vast, charming, courageous, enthusiastic, jolly, famous person who loves writing and wants to share my knowledge and understanding with you.