Ass WireGuard de grousse VPN vun der Zukunft?

Ass WireGuard de grousse VPN vun der Zukunft?

D'Zäit ass komm wou VPN net méi e exotesch Tool vu bäertege Systemadministratoren ass. D'Benotzer hunn verschidden Aufgaben, awer de Fakt ass datt jiddereen e VPN brauch.

De Problem mat aktuellen VPN-Léisungen ass datt se schwéier sinn korrekt ze konfiguréieren, deier ze erhalen, a voller Legacy Code vu zweifelhafter Qualitéit.

Virun e puer Joer huet de kanadesche Informatiounssécherheetsspezialist Jason A. Donenfeld decidéiert datt hien genuch dovun hat an huet ugefaang un WireGuard. WireGuard gëtt elo virbereet fir Inklusioun am Linux Kernel an huet souguer Luef kritt vun Linus Torvalds an a US Senat.

Behaapt Virdeeler vum WireGuard iwwer aner VPN-Léisungen:

  • Einfach ze benotzen.
  • Benotzt modern Kryptografie: Kaméidi Protokoll Kader, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, HKDF, etc.
  • Kompakt, liesbar Code, méi einfach fir Schwachstelle z'ënnersichen.
  • Staark Leeschtung.
  • Kloer an ausgeglach Spezifizéierung.

Ass eng Sëlwerkugel fonnt ginn? Ass et Zäit OpenVPN an IPSec ze begruewen? Ech hu beschloss mat dësem ze këmmeren, a gläichzäiteg hunn ech dat gemaach Skript fir automatesch e perséinleche VPN Server z'installéieren.

Aarbechtsprinzipien

D'Operatiounsprinzipien kënnen esou beschriwwe ginn:

  • Eng WireGuard Interface gëtt erstallt an e private Schlëssel an IP Adress ginn et zougewisen. D'Astellunge vun anere Peer ginn gelueden: hir ëffentlech Schlësselen, IP Adressen, asw.
  • All IP-Päckchen, déi an der WireGuard-Interface ukommen, sinn an UDP a sécher geliwwert aner Kollegen.
  • Clienten spezifizéieren d'ëffentlech IP Adress vum Server an den Astellungen. De Server erkennt automatesch déi extern Adresse vu Clienten wann korrekt authentifizéiert Donnéeën vun hinnen kritt ginn.
  • De Server kann d'ëffentlech IP Adress änneren ouni seng Aarbecht ze ënnerbriechen. Zur selwechter Zäit schéckt et eng Alarm un verbonne Clienten a si aktualiséieren hir Konfiguratioun op der Flucht.
  • D'Konzept vu Routing gëtt benotzt Cryptokey Routing. WireGuard akzeptéiert a schéckt Pakete baséiert op dem ëffentleche Schlëssel vum Peer. Wann de Server e korrekt authentifizéierte Paket entschlësselt, gëtt säi src Feld iwwerpréift. Wann et mat der Konfiguratioun entsprécht allowed-ips authentifizéiert Peer, gëtt de Paket vun der WireGuard Interface kritt. Wann Dir en erausginn Paket schéckt, geschitt déi entspriechend Prozedur: dst Feld vum Paket gëtt geholl an, baséiert op deem, gëtt de entspriechende Peer ausgewielt, de Paket gëtt mat sengem Schlëssel ënnerschriwwen, verschlësselt mam Peer Schlëssel an op de Fernendpunkt geschéckt .

All d'Kärlogik vum WireGuard hëlt manner wéi 4 Tausend Zeilen Code op, während OpenVPN an IPSec Honnerte vun Dausende vu Linnen hunn. Fir modern kryptografesch Algorithmen z'ënnerstëtzen, gëtt proposéiert eng nei kryptographesch API am Linux Kernel opzebauen Zénk. Et gëtt am Moment eng Diskussioun gefouert, ob dat eng gutt Iddi ass.

Produktivitéit

De maximale Leeschtungsvirdeel (am Verglach zum OpenVPN an IPSec) wäert op Linux Systemer bemierkbar sinn, well WireGuard do als Kernelmodul implementéiert ass. Zousätzlech ginn macOS, Android, iOS, FreeBSD an OpenBSD ënnerstëtzt, awer an hinnen leeft WireGuard am Benotzerraum mat all de Konsequenze vun der Leeschtung. Windows Support gëtt erwaart an der nächster Zukunft bäigefüügt.

Benchmark Resultater mat offizielle Site:

Ass WireGuard de grousse VPN vun der Zukunft?

Meng Benotzungserfahrung

Ech sinn keen VPN Expert. Ech hunn OpenVPN eemol manuell opgestallt an et war ganz langweileg, an ech hunn net mol IPSec probéiert. Et ginn ze vill Entscheedungen ze huelen, et ass ganz einfach selwer an de Fouss ze schéissen. Dofir hunn ech ëmmer fäerdeg Scripte benotzt fir de Server ze konfiguréieren.

Also, WireGuard, aus menger Siicht, ass allgemeng ideal fir de Benotzer. All Low-Level Entscheedungen ginn an der Spezifizéierung gemaach, sou datt de Prozess vun der Virbereedung vun enger typescher VPN Infrastruktur nëmmen e puer Minutten dauert. Et ass bal onméiglech an der Konfiguratioun ze fuddelen.

Installatioun Prozess am Detail beschriwwen op der offizieller Websäit, Ech géif gären separat der excellent Note OpenWRT Ënnerstëtzung.

Verschlësselungsschlëssel gi vum Utility generéiert wg:

SERVER_PRIVKEY=$( wg genkey )
SERVER_PUBKEY=$( echo $SERVER_PRIVKEY | wg pubkey )
CLIENT_PRIVKEY=$( wg genkey )
CLIENT_PUBKEY=$( echo $CLIENT_PRIVKEY | wg pubkey )

Als nächst musst Dir eng Serverkonfiguratioun erstellen /etc/wireguard/wg0.conf mat folgendem Inhalt:

[Interface]
Address = 10.9.0.1/24
PrivateKey = $SERVER_PRIVKEY
[Peer]
PublicKey = $CLIENT_PUBKEY
AllowedIPs = 10.9.0.2/32

an erhéijen den Tunnel mat engem Skript wg-quick:

sudo wg-quick up /etc/wireguard/wg0.conf

Op Systemer mat systemd kënnt Dir dëst amplaz benotzen sudo systemctl start [email protected].

Op der Clientmaschinn erstellt eng Configuratioun /etc/wireguard/wg0.conf:

[Interface]
PrivateKey = $CLIENT_PRIVKEY
Address = 10.9.0.2/24
[Peer]
PublicKey = $SERVER_PUBKEY
AllowedIPs = 0.0.0.0/0
Endpoint = 1.2.3.4:51820 # Внешний IP сервера
PersistentKeepalive = 25 

An hieft den Tunnel op déiselwecht Manéier:

sudo wg-quick up /etc/wireguard/wg0.conf

Alles wat bleift ass NAT um Server ze konfiguréieren sou datt Clienten op den Internet kommen, an Dir sidd fäerdeg!

Dës Liichtegkeet an Kompaktheet vun der Codebasis gouf erreecht andeems d'Schlësselverdeelungsfunktionalitéit eliminéiert gouf. Et gëtt kee komplexe Zertifika System an all dëse Firmenhorror; Kuerz Verschlësselungsschlëssel gi sou wéi SSH Schlësselen verdeelt. Awer dëst stellt e Problem: WireGuard wäert net sou einfach sinn op e puer existent Netzwierker ëmzesetzen.

Ënnert den Nodeeler ass et derwäert ze notéieren datt WireGuard net iwwer en HTTP Proxy funktionnéiert, well nëmmen den UDP Protokoll als Transport verfügbar ass. D'Fro stellt sech: wäert et méiglech sinn de Protokoll ze verstoppen? Natierlech ass dëst net déi direkt Aufgab vun engem VPN, awer fir OpenVPN, zum Beispill, ginn et Weeër fir sech als HTTPS ze verkleeden, wat d'Awunner vun totalitäre Länner hëlleft den Internet voll ze benotzen.

Conclusiounen

Fir ze resuméieren, ass dëst e ganz interessanten a villverspriechende Projet, Dir kënnt et scho op perséinleche Server benotzen. Wat ass de Gewënn? Héich Leeschtung op Linux Systemer, Einfachheet vum Setup an Ënnerstëtzung, kompakt a liesbar Codebasis. Wéi och ëmmer, et ass ze fréi ze presséieren fir eng komplex Infrastruktur op WireGuard ze transferéieren; et ass derwäert op seng Inklusioun am Linux Kernel ze waarden.

Fir meng (an Är) Zäit ze spueren, hunn ech entwéckelt WireGuard automateschen Installateur. Mat senger Hëllef kënnt Dir e perséinleche VPN fir Iech selwer an Är Frënn opbauen ouni iwwerhaapt eppes doriwwer ze verstoen.

Source: will.com

Setzt e Commentaire