VPN WireGuard ua talia i totonu o le upega-sosoo lala ma ua fuafua mo le faʻaofiina i le Linux 5.6 kernel

David Miller (David S. Miller), e nafa ma le upega tafaʻilagi o le fatu Linux, talia i le upega-laina lala patch faʻatasi ai ma le faʻatinoina o le VPN interface mai le poloketi WireGuard. I le amataga o le tausaga a sau, o suiga na faʻaputuina i le upega-laina lala o le a avea ma faʻavae mo le tatalaina o le Linux kernel 5.6.

O taumafaiga e tulei le WireGuard code i totonu o le fatu autu na faia i nai tausaga ua tuanaʻi, ae na tumau le le manuia ona o le noatia i faʻatinoga faʻapitoa o galuega faʻataʻitaʻi na faʻaaogaina e faʻaleleia ai le faʻatinoga. I le taimi muamua, o nei galuega sa tuuina atu mo le fatu e avea o se faʻaopoopoga maualalo maualuga Zinc API, lea e mafai ona suia mulimuli ane le tulaga masani Crypto API.

Ina ua maeʻa talanoaga i le Kernel Recipes conference, na faia e le WireGuard ia Setema faia se faaiuga fetuunai faʻafeiloaʻi au patches e faʻaoga ai le Crypto API o loʻo maua i totonu, lea e iai faitioga a le au atinaʻe WireGuard i le tulaga o le faʻatinoga ma le saogalemu lautele. Na filifili e faʻaauau le atinaʻeina o le Zinc API, ae o se galuega ese.

Ia Novema, kernel developers alu i le tali atu i se maliega ma malilie e fesiitai se vaega o le code mai le Zinc i le fatu autu. O le mea moni, o nisi vaega o le Zinc o le a siitia i totonu, ae le o se API ese, ae o se vaega o le Crypto API subsystem. Mo se faʻataʻitaʻiga, o le Crypto API ua uma aofia ai faʻatinoga vave o ChaCha20 ma Poly1305 algorithms saunia i WireGuard.

I le fesoʻotaʻiga ma le tuʻuina atu o le WireGuard o loʻo oʻo mai i le autu autu, o le na faavaeina le poloketi faasilasila e uiga i le toe faatulagaina o le fale teu oloa. Ina ia faʻafaigofie le atinaʻe, o le monolithic "WireGuard.git" repository, lea na mamanuina ina ia i ai i le tuʻuʻesea, o le a suia i ni faleoloa eseese se tolu, e sili atu ona fetaui mo le faʻatulagaina o galuega ma le code i le fatu autu:

  • wireguard-linux.git - o se la'au fatu atoa ma suiga mai le poloketi Wireguard, fa'apipi'i o le a toe iloiloina mo le fa'aofiina i totonu o le fatu ma fa'asolo atu pea i le upega/net-so'o lala.
  • wireguard-meafaigaluega.git - o se faleteuoloa mo mea aoga ma tusitusiga o loʻo faʻaogaina i avanoa faʻaoga, pei ole wg ma le wg-quick. O le fale teu oloa e mafai ona faʻaaogaina e fai ai afifi mo tufatufaga.
  • wireguard-linux-compat.git - o se fale teu oloa ma se fesuiaiga o le module, sapalai ese mai le fatu ma aofia ai le compat.h layer e mautinoa ai le fetaui ma fatu tuai. O le atinaʻe autu o le a faia i le wireguard-linux.git repository, ae afai lava o loʻo i ai se avanoa ma manaʻoga i tagata faʻaoga, o le a lagolagoina foi se isi vaega o patches i le faiga galue.

Sei matou faamanatu atu ia te oe o VPN WireGuard o loʻo faʻatinoina i luga o le faʻavaeina o auala faʻaonaponei faʻaonaponei, e maua ai le maualuga maualuga, e faigofie ona faʻaoga, e leai ni faʻalavelave ma faʻamaonia i le tele o faʻasalalauga tetele e faʻatautaia ai le tele o voluma o fefaʻatauaiga. O le poloketi o loʻo atinaʻe talu mai le 2015, ua uma ona suʻeina ma fa'amaoniga aloa'ia auala fa'ailoga fa'aoga. WireGuard lagolago ua uma ona tuʻufaʻatasia i NetworkManager ma systemd, ma faʻapipiʻi fatu o loʻo aofia i faʻasalalauga faavae Debian Le mautonu, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Vaega faaopoopo и ALT.

O lo'o fa'aogaina e WireGuard le manatu o le fa'auigaina o ki fa'ailoga, lea e aofia ai le fa'apipi'iina o se ki patino i feso'ota'iga feso'ota'iga ta'itasi ma fa'aogaina e fusifusia ai ki lautele. O ki lautele e fesuiai e faʻavae se fesoʻotaʻiga i se auala tutusa ma SSH. Ina ia faʻatalanoa ki ma faʻafesoʻotaʻi e aunoa ma le taʻavaleina o se daemon ese i avanoa faʻaoga, o le Noise_IK masini mai Ta'iala Piosaoe tutusa ma le fa'atumauina authorized_keys ile SSH. O faʻamatalaga faʻamatalaga e faʻatinoina e ala i le faʻapipiʻiina i totonu o pusa UDP. E lagolagoina le suia o le tuatusi IP o le VPN server (roaming) e aunoa ma le motusia o le fesoʻotaʻiga ma otometi ona toe faʻaleleia le kalani.

Mo fa'amatalaga e faʻaaoga stream cipher ChaCha20 ma le fa'amaoni o fe'au algorithm (MAC) Poly1305, na mamanuina e Daniel Bernstein (Daniel J. Bernstein), Tanya Lange
(Tanja Lange) ma Peter Schwabe. ChaCha20 ma Poly1305 o loʻo faʻatulagaina o ni faʻataʻitaʻiga vave ma saogalemu o le AES-256-CTR ma le HMAC, o le faʻaogaina o le polokalama e mafai ai ona ausia se taimi faʻatulagaina e aunoa ma le faʻaogaina o meafaigaluega faʻapitoa. Mo le fa'atupuina o se ki fa'alilolilo fefa'asoaa'i, o le elliptic curve Diffie-Hellman protocol e fa'aaogaina i le fa'atinoga Curve25519, na faatuina foi e Daniel Bernstein. O le algorithm e faʻaaogaina mo le faʻaogaina o le BLAKE2s (RFC7693).

i suʻega Fa'atinoga WireGuard fa'aalia 3.9 taimi sili atu le gaosiga ma 3.8 taimi sili atu le tali atu fa'atusatusa i le OpenVPN (256-bit AES ma le HMAC-SHA2-256). Faʻatusatusa i le IPsec (256-bit ChaCha20 + Poly1305 ma le AES-256-GCM-128), o le WireGuard o loʻo faʻaalia ai sina faʻaleleia atili o le faʻatinoga (13-18%) ma lalo ifo o le latency (21-23%). O suʻega na faia i le faʻaaogaina vave o faʻamalamalamaga algorithms na atiaʻe e le poloketi - faʻafeiloaʻi i le Crypto API masani o le fatu e mafai ona oʻo atu ai i le leaga o le faʻatinoga.

VPN WireGuard ua talia i totonu o le upega-sosoo lala ma ua fuafua mo le faʻaofiina i le Linux 5.6 kernel

puna: opennet.ru

Faaopoopo i ai se faamatalaga