WireGuard 'ga-abịa' na Linux kernel - gịnị kpatara?

Na njedebe nke July, ndị mmepe nke WireGuard VPN ọwara tụrụ aro nhazi ihe nkedo, nke ga-eme ka ngwanrọ tunneling VPN ha bụrụ akụkụ nke kernel Linux. Otú ọ dị, kpọmkwem ụbọchị mmejuputa iwu nke "echiche" ka amabeghị. N'okpuru ịkpụ, anyị ga-ekwu maka ngwá ọrụ a n'ụzọ zuru ezu karị.

WireGuard 'ga-abịa' na Linux kernel - gịnị kpatara?
/ foto Tambako Jaguar CC

Na nkenke banyere oru ngo

WireGuard bụ ọwara VPN ọgbọ na-abịa nke Jason A. Donenfeld, onye isi oche nke Edge Security mepụtara. E mepụtara oru ngo a dika mfe na ngwa ngwa ọzọ na OpenVPN na IPsec. Ụdị mbụ nke ngwaahịa ahụ nwere naanị 4 puku ahịrị koodu. Maka ntụnyere, OpenVPN nwere banyere 120 puku ahịrị, na IPSec - 420 puku.

Site dị ka ndị mmepe, WireGuard dị mfe ịhazi na nchekwa protocol na-enweta site na algọridim nke cryptographic pụtara. Mgbe ị na-agbanwe netwọk: Wi-Fi, LTE ma ọ bụ Ethernet kwesịrị ị jikọọ na sava VPN oge ọ bụla. Sava WireGuard anaghị akwụsị njikọ ahụ, ọbụlagodi na onye ọrụ enwetala adreesị IP ọhụrụ.

N'agbanyeghị eziokwu ahụ bụ na e bu ụzọ mee WireGuard maka kernel Linux, ndị mmepe lekọtara na banyere a obere mbipute nke ngwá ọrụ maka gam akporo ngwaọrụ. Ngwa emebebeghị nke ọma, mana ị nwere ike ịnwale ya ugbu a. Maka nke a ị chọrọ bụrụ otu n'ime ndị nyocha.

N'ozuzu, WireGuard bụ ihe ewu ewu ma bụrụdị emejuputa atumatu ọtụtụ ndị na-enye VPN, dị ka Mullvad na AzireVPN. Ebipụtara ya n'ịntanetị ọnụ ọgụgụ buru ibu ntuziaka ntọlite mkpebi a. Ọmụmaatụ, e nwere ndị nduzi, nke ndị ọrụ na-emepụta, na e nwere nduzi, kwadoro site na ndị edemede nke oru ngo.

Nka na ụzụ nkọwa

В akwụkwọ ikike (p. 18) achọpụtara na ntinye nke WireGuard dị okpukpu anọ karịa nke OpenVPN: 1011 Mbit/s megide 258 Mbit/s, n'otu n'otu. WireGuard dịkwa n'ihu ọkọlọtọ ọkọlọtọ maka Linux IPsec - o nwere 881 Mbit/s. Ọ na-akarị ya na mfe nhazi.

Mgbe igodo ndị ahụ gbanwere (njikọ VPN na-amalite dị ka SSH) na njikọ ahụ guzobe, WireGuard na-arụ ọrụ ndị ọzọ niile n'onwe ya: ọ dịghị mkpa ichegbu onwe gị banyere nhazigharị, njikwa steeti, wdg. Mgbalị nhazi ndị ọzọ ga-abụ naanị. achọrọ ma ọ bụrụ na ịchọrọ iji nzuzo nzuzo symmetric.

WireGuard 'ga-abịa' na Linux kernel - gịnị kpatara?
/ foto Anders Hojbjerg CC

Iji wụnye, ị ga-achọ nkesa nwere kernel Linux tọrọ karịa 4.1. Enwere ike ịchọta ya na ebe nchekwa nke nkesa Linux bụ isi.

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

Dị ka ndị editọ nke xakep.ru note, nchịkọta onwe onye sitere na ederede isi dị mfe. O zuru ezu imepe interface ahụ wee mepụta igodo ọha na nke nzuzo:

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

WireGuard anaghị eji interface maka ịrụ ọrụ na onye na-eweta crypto CryptoAPI. Kama, a na-eji cipher iyi ChaCha20, cryptographic ihe nṅomi Poly1305 na ọrụ hash cryptographic nke nwe ya.

A na-emepụta igodo nzuzo site na iji Diffie-Hellman protocol dabere na usoro elliptik Curve25519. Mgbe hashing, ha na-eji ọrụ hash BLAKE2 и SipHash. N'ihi usoro timestamp TAI64N protocol na-atụfu ngwugwu nwere uru timestamp dị nta, si otú ahụ igbochi DoS- и megharịa ọgụ.

N'okwu a, WireGuard na-eji ọrụ ioctl jikwaa I/O (ejibu ụzọ netwọk), nke na-eme ka koodu ahụ dị ọcha ma dị mfe. Ị nwere ike ịchọpụta nke a site na ilele anya koodu nhazi.

Atụmatụ onye nrụpụta

Maka ugbu a, WireGuard bụ modul kernel na-apụ apụ. Mana onye dere ọrụ a bụ Jason Donenfeld kwuru, na oge eruola maka mmejuputa ya na Linux kernel. N'ihi na ọ dị mfe na ntụkwasị obi karịa ngwọta ndị ọzọ. Jason na nke a na-akwado ọbụna Linus Torvalds n'onwe ya kpọrọ koodu WireGuard "ọrụ nka."

Ma ọ dịghị onye na-ekwu maka kpọmkwem ụbọchị maka iwebata WireGuard n'ime kernel. NA siri ike nke a ga-eme na mwepụta nke August Linux kernel 4.18. Agbanyeghị, enwere ike na nke a ga-eme n'ọdịnihu dị nso: na ụdị 4.19 ma ọ bụ 5.0.

Mgbe agbakwunyere WireGuard na kernel, ndị mmepe choro mechaa ngwa maka ngwaọrụ gam akporo wee malite ide ngwa maka iOS. E nwekwara atụmatụ imezu mmejuputa iwu na Go na Rust ma bubata ha na macOS, Windows na BSD. A na-eme atụmatụ itinye WireGuard maka “sistemụ pụrụ iche” ndị ọzọ: DPDK, fpga, yana ọtụtụ ihe ndị ọzọ na-adọrọ mmasị. E depụtara ha niile n'ime ime-ndepụta ndị edemede nke oru ngo.

PS Akụkọ ole na ole ndị ọzọ sitere na blọọgụ ụlọ ọrụ anyị:

Isi ntụziaka nke ọrụ anyị bụ ịnye ọrụ igwe ojii:

Akụrụngwa mepere emepe (IaaS) | PCI DSS Bochum | Igwe ojii FZ-152 | SAP nnabata | Nchekwa mebere | Na-ezochi data na igwe ojii | Nchekwa igwe ojii

isi: www.habr.com

Tinye a comment