WireGuard

WireGuard ist ein OpenSource-Projekt für ein Protokoll zum Herstellen von Verbindungen für ein Virtual Private Network (VPN). Ein VPN schützt den Datenverkehr über ein öffentliches und unsicheres Netzwerk, indem es Daten in einem kryptografisch gesicherten Tunnel überträgt. Mit Hilfe von VPN-Protokollen und -Software kann man Daten sicher über unsichere Verbindungen übertragen.

In der Praxis sind eigentlich nur zwei VPN-Lösungen relevant:

Beide Lösungen sind komplex und sowohl bei der Konfiguration und auch im Betrieb fehleranfällig. Bei WireGuard ist das ganz anders.

WireGuard wurde vollständig neu implementiert, auf entbehrliche Altlasten verzichtet und ein kleinerer Satz Kryptoverfahren verwendet. Im Protokoll sind unter anderem die Algorithmen ChaCha20-Poly1305, Curve25519 und Blake2-Hash festgeschrieben.

WireGuard ist sowohl ein VPN-Protokoll als auch eine VPN-Software. Es ist im Linux-Kernel integriert, ist dadurch viel schneller und auch einfacher zu konfigurieren. Die monolithische Gestaltung dieser VPN-Lösung hat natürlich auch einen Nachteil, der dann auftritt, wenn die benutzten Krypto-Algorithmen irgendwann Schwachstellen aufweisen. Die Konfiguration erlaubt es nicht auf andere Krypto-Algorithmen umzustellen. Es müssen dann das Protokoll und die Software angepasst werden.

Eigenschaften

  • einfache Konfiguration (im Vergleich zu OpenVPN und IPsec)
  • schneller Verbindungsaufbau
  • fehlertolerant bei Verbindungswechsel

Die Besonderheiten von WireGuard sind, dass das Protokoll nicht nur schlank und schnell, sondern insbesondere tolerant gegenüber dem Wechsel von Verbindungen, zum Beispiel von WLAN ins Mobilfunk ist. Die Verbindungen bleiben sehr zuverlässig bestehen, wenn Roaming, also der Wechsel des Netzes stattfindet.

VPN-Tunnel mit WireGuard

WireGuard arbeitet als Peer-to-Peer-Protokoll ausschließlich über UDP und damit verbindungslos. Das Umgehen von Firewalls per TCP, wie es OpenVPN auf den HTTP/HTTPS-Ports anbietet, ist nicht möglich.
Die Verbindung zwischen zwei Peers realisiert WireGuard über einen einzelnen, frei wählbaren UDP-Port. Das WireGuard-Protokoll gibt keinen Standard- bzw. Default-Port vor. Die Software wählt ohne Eingriff den Port zufällig. Beim VPN-Server sollte der Administrator den Port manuell setzen.

Anders als viele anderen VPN-Protokolle können sich die IP-Adressen der Peers ändern, ohne dass der Tunnel ausfällt. Er bleibt auch beim Wechsel unterschiedlicher Netze bestehen. Zum Beispiel beim Wechsel zwischen LAN, WLAN und Mobilfunk.

Cryptokey-Routing

Mit Cryptokey-Routing ist gemeint, dass die WireGuard-Sofware für jeden Peer eine Tabelle mit den öffentlichen Schlüsseln und erlaubten IP-Adressen seiner Gegenstellen führt. Daraus leitet WireGuard eine interne Routing-Tabelle ab, die den Weg für jedes Paket kennt.

Anwendungen

  • Netzwerkkopplung auf Peer-to-Peer-Basis
  • Road-Warrior-Szenarien mit Server und mehreren Clients (RAS)

Konfiguration

Auf beiden Seiten einer Verbindung braucht es jeweils ein Schlüsselpaar mit einem privaten und einem öffentlichen Schlüssel. Der private Schlüssel bleibt lokal, der öffentliche Schlüssel wird der Gegenstelle bekannt gemacht. Optional kann noch ein Pre-shared-Key zum Einsatz kommen, der die Verbindungen zusätzlich sichert.

Weitere verwandte Themen:

Teilen:

Produktempfehlungen

Alles was Sie über Kommunikationstechnik wissen müssen.

Kommunikationstechnik-Fibel

Die Kommunikationstechnik-Fibel ist ein Buch über die Grundlagen der Kommunikationstechnik, Übertragungstechnik, Netze, Funktechnik, Mobilfunk, Breitbandtechnik und Voice over IP.

Das will ich haben!

Alles was Sie über Kommunikationstechnik wissen müssen.

Kommunikationstechnik-Fibel

Die Kommunikationstechnik-Fibel ist ein Buch über die Grundlagen der Kommunikationstechnik, Übertragungstechnik, Netze, Funktechnik, Mobilfunk, Breitbandtechnik und Voice over IP.

Das will ich haben!