ProHoster > WireGuard 'ga-abịa' na Linux kernel - gịnị kpatara?
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 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.
В 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.
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.
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ị: