WireGuard sil nei de Linux-kernel "komme" - wêrom?

Ein july hawwe de ûntwikkelders fan 'e WireGuard VPN-tunnel foarsteld patch set, dy't har VPN-tunneling-software diel meitsje fan 'e Linux-kernel. De krekte datum fan ymplemintaasje fan it "idee" bliuwt lykwols ûnbekend. Under de besuniging sille wy yn mear detail oer dit ark prate.

WireGuard sil nei de Linux-kernel "komme" - wêrom?
/ foto Tambako De Jaguar CC

Koart oer it projekt

WireGuard is in folgjende generaasje VPN-tunnel makke troch Jason A. Donenfeld, CEO fan Edge Security. It projekt waard ûntwikkele as ferienfâldige en in fluch alternatyf foar OpenVPN en IPsec. De earste ferzje fan it produkt befette mar 4 tûzen rigels koade. Foar fergeliking hat OpenVPN sawat 120 tûzen rigels, en IPSec - 420 tûzen.

By neffens ûntwikkelers, WireGuard is maklik te konfigurearjen en protokol feiligens wurdt berikt fia bewezen kryptografyske algoritmen. By it feroarjen fan netwurk: Wi-Fi, LTE of Ethernet moatte elke kear opnij ferbine mei de VPN-tsjinner. WireGuard-tsjinners beëinigje de ferbining net, sels as de brûker in nij IP-adres hat krigen.

Nettsjinsteande it feit dat WireGuard oarspronklik ûntworpen is foar de Linux-kernel, binne de ûntwikkelders soarge foar en oer in draachbere ferzje fan it ark foar Android-apparaten. De applikaasje is noch net folslein ûntwikkele, mar jo kinne it no besykje. Hjirfoar hawwe jo nedich wurden ien fan de testers.

Yn 't algemien is WireGuard frij populêr en hat it sels west útfierd ferskate VPN-oanbieders, lykas Mullvad en AzireVPN. Publisearre online in grut nûmer opset gidsen dit beslút. Bygelyks, der binne gidsen, dy't binne makke troch brûkers, en d'r binne gidsen, taret troch de skriuwers fan it projekt.

technyske

В offisjele dokumintaasje (s. 18) wurdt opmurken dat de trochstreaming fan WireGuard is fjouwer kear heger as dy fan OpenVPN: respektivelik 1011 Mbit / s tsjin 258 Mbit / s. WireGuard is ek foarsprong op de standert oplossing foar Linux IPsec - it hat 881 Mbit / s. It oertreft it ek yn it gemak fan opset.

Nei't de kaaien binne útwiksele (de VPN-ferbining is inisjalisearre folle as SSH) en de ferbining is oprjochte, behannelet WireGuard alle oare taken op har eigen: d'r is gjin need nedich om soargen te meitsjen oer routing, steatskontrôle, ensfh. Oanfoljende konfiguraasje-ynspanningen sille allinich wêze fereaske as jo symmetryske fersifering wolle brûke.

WireGuard sil nei de Linux-kernel "komme" - wêrom?
/ foto Anders Hojbjerg CC

Om te ynstallearjen hawwe jo in distribúsje nedich mei in Linux-kernel âlder dan 4.1. It kin fûn wurde yn 'e repositories fan grutte Linux-distribúsjes.

$ sudo add-apt-repository ppa:hda-me/wireguard
$ sudo apt update
$ sudo apt install wireguard-dkms wireguard-tools

As de redaksje fan xakep.ru opmerkt, is sels gearstalling fan boarneteksten ek maklik. It is genôch om de ynterface te iepenjen en iepenbiere en privee kaaien te generearjen:

$ sudo ip link add dev wg0 type wireguard
$ wg genkey | tee privatekey | wg pubkey > publickey

WireGuard net brûke ynterface foar wurkjen mei in Krypto-oanbieder CryptoAPI. Ynstee dêrfan wurdt in stream-sifer brûkt ChaCha 20, kryptografysk imitaasje ynfoegje Poly1305 en proprietêre kryptografyske hashfunksjes.

De geheime kaai wurdt generearre mei help fan Diffie-Hellman protokol basearre op elliptyske kromme Kromme25519. By hashing brûke se hash funksjes BLAKE2 и SipHash. Troch it tiidstempelformaat TAI64N it protokol smyt pakketten mei in lytsere tiidstempelwearde, dêrmei it foarkommen fan DoS- и replay oanfallen.

Yn dit gefal brûkt WireGuard de ioctl-funksje om I/O te kontrolearjen (earder brûkt netlink), wat de koade skjinner en ienfâldiger makket. Jo kinne dit ferifiearje troch te sjen op konfiguraasje koade.

Developer plannen

Foar no is WireGuard in kernelmodule út 'e beam. Mar de skriuwer fan it projekt is Jason Donenfeld seit, dat de tiid is kommen foar folsleine ymplemintaasje yn 'e Linux kernel. Om't it ienfâldiger en betrouber is as oare oplossingen. Jason yn dit ferbân stipet sels Linus Torvalds sels neamde de WireGuard-koade in "keunstwurk."

Mar gjinien praat oer de krekte datums foar de ynfiering fan WireGuard yn 'e kearn. EN amper dit sil barre mei de frijlitting fan 'e August Linux kernel 4.18. D'r is lykwols in mooglikheid dat dit yn 'e heule takomst sil barre: yn ferzje 4.19 of 5.0.

As WireGuard wurdt tafoege oan de kearn, ûntwikkelders wolle finalisearje de applikaasje foar Android-apparaten en begjin in applikaasje foar iOS te skriuwen. D'r binne ek plannen om ymplemintaasjes yn Go en Rust te foltôgjen en se te portearjen nei macOS, Windows en BSD. It is ek pland om WireGuard te ymplementearjen foar mear "eksoatyske systemen": DPDK, FPGA, lykas ek in protte oare nijsgjirrige dingen. Allegear binne fermeld yn takenlist skriuwers fan it projekt.

PS In pear mear artikels fan ús bedriuwsblog:

De wichtichste rjochting fan ús aktiviteit is it leverjen fan wolktsjinsten:

Firtuele ynfrastruktuer (IaaS) | PCI DSS hosting | Wolk FZ-152 | SAP hosting | Firtuele opslach | Fersiferje gegevens yn 'e wolk | Wolke opslach

Boarne: www.habr.com

Add a comment