WireGuard dê "were" kernel Linux - çima?

Di dawiya Tîrmehê de, pêşdebirên tunela WireGuard VPN pêşniyar kirin patch set, ku dê nermalava tunekirina VPN ya wan bibe beşek ji kernel Linux. Lêbelê, dîroka rast a pêkanîna "fikrê" ne diyar e. Li jêr birîn em ê li ser vê amûrê bi hûrgulî biaxivin.

WireGuard dê "were" kernel Linux - çima?
/ wêne Tambako The Jaguar CC

Bi kurtî li ser projeyê

WireGuard tunelek VPN-a nifşek din e ku ji hêla Jason A. Donenfeld, CEO ya Ewlekariya Edge ve hatî afirandin. Proje wekî hate pêşxistin hêsan kirin û alternatîfek bilez a OpenVPN û IPsec. Guhertoya yekem a hilberê tenê 4 hezar rêzikên kodê hebûn. Ji bo berhevdanê, OpenVPN bi qasî 120 hezar xet hene, û IPSec - 420 hezar.

Bi li gorî pêşdebiran, WireGuard veavakirina hêsan e û ewlehiya protokolê tê bidestxistin bi rêya algorîtmayên krîptografîk ên îsbatkirî. Dema guhertina torê: Pêdivî ye ku Wi-Fi, LTE an Ethernet her carê ji nû ve bi servera VPN ve were girêdan. Pêşkêşkerên WireGuard pêwendiyê biqedînin, hetta ku bikarhêner navnîşanek IP-ya nû wergirtibe.

Tevî vê rastiyê ku WireGuard bi eslê xwe ji bo kernel Linux-ê hatî çêkirin, pêşdebiran lênêrîn kirin û li ser guhertoyek portable ya amûrê ji bo cîhazên Android. Serlêdan hîn bi tevahî nehatiye pêşve xistin, lê hûn dikarin wê nuha biceribînin. Ji bo vê yekê hûn hewce ne bibe yek ji ceribandinan.

Bi gelemperî, WireGuard pir populer e û tewra jî bûye pêkanîn gelek pêşkêşkerên VPN, wek Mullvad û AzireVPN. Li ser înternetê hate weşandin hejmareke mezin ji rêberên setup vê biryarê. Bo nimûne, rêber hene, ku ji hêla bikarhêneran ve têne afirandin, û rêber hene, ji aliyê nivîskarên projeyê ve hatiye amadekirin.

Detayên teknîkî

В belgeyên fermî (r. 18) tê destnîşan kirin ku berbika WireGuard çar qat ji ya OpenVPN zêdetir e: Bi rêzê ve 1011 Mbit/s beramberî 258 Mbit/s. WireGuard di heman demê de li pêşiya çareseriya standard ji bo Linux IPsec e - 881 Mbit / s heye. Ew di asaniya sazkirinê de jî jê derbas dibe.

Piştî ku bişkok hatin guheztin (têkiliya VPN-ê mîna SSH-ê dest pê kir) û pêwendiyek saz bû, WireGuard hemî karên din bi tena serê xwe hildibijêre: ne hewce ye ku li ser rêkirin, kontrolkirina dewletê, hwd. ger hûn dixwazin şîfrekirina sîmetrîk bikar bînin pêwîst e.

WireGuard dê "were" kernel Linux - çima?
/ wêne Anders Hojbjerg CC

Ji bo sazkirinê, hûn ê hewceyê belavkirinek bi kernelek Linux ya ji 4.1-ê kevntir be. Ew dikare di depoyên belavkirinên sereke yên Linux de were dîtin.

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

Wekî ku edîtorên xakep.ru destnîşan dikin, xwe-kombûna ji nivîsên çavkaniyê jî hêsan e. Ji bo vekirina navrûyê û hilberandina mifteyên giştî û taybet bes e:

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

WireGuard nayê bikaranîn navbeynkar ji bo xebata bi pêşkêşkerek krîptoyê re CryptoAPI. Di şûna wê de, şîfreyek stream tê bikar anîn ChaCha20, krîptografîk teqlîd insert Poly1305 û fonksiyonên hashê yên krîptografîk ên xwedan.

Mifteya veşartî bi kar tê çêkirin Protokola Diffie-Hellman li ser bingeha elîptîk Curve25519. Dema ku hash dikin, ew bikar tînin fonksiyonên hash BLAKE2 и SipHash. Ji ber formata demjimêrê TAI64N protokol pakêtên bi nirxek demjimêrek piçûktir ji holê radike, bi vî rengî pêşîlêgirtina DoS- и êrîşên replay.

Di vê rewşê de, WireGuard fonksiyona ioctl bikar tîne da ku I/O kontrol bike (berê hatî bikar anîn netlink), ku kodê paqijtir û hêsan dike. Hûn dikarin bi lênihêrîna vê yekê verast bikin koda veavakirinê.

Planên pêşdebiran

Heya nuha, WireGuard modulek kernelê ya derveyî darê ye. Lê nivîskarê projeyê Jason Donenfeld e dibêje, ku dem ji bo pêkanîna tam di kernel Linux de hatiye. Ji ber ku ew ji çareseriyên din sadetir û pêbawertir e. Jason di vî warî de piştgirî dike tewra Linus Torvalds bixwe jî koda WireGuard wekî "karê hunerî" binav kir.

Lê kes li ser tarîxên rast ji bo danasîna WireGuard di kernelê de napeyive. Û nîne ev ê bi serbestberdana kernel Linux ya Tebaxê 4.18 pêk were. Lêbelê, îhtîmalek heye ku ev di demek pir nêzîk de çêbibe: di guhertoya 4.19 an 5.0 de.

Dema ku WireGuard li kernel, pêşdebiran tê zêdekirin xwestin serîlêdana ji bo cîhazên Android-ê bi dawî bikin û dest bi nivîsandina serîlêdanek ji bo iOS-ê bikin. Di heman demê de plan hene ku pêkanînan li Go û Rust biqedînin û wan li macOS, Windows û BSD-ê veguhezînin. Di heman demê de tê plan kirin ku WireGuard ji bo bêtir "pergalên biyanî" were bicîh kirin: DPDK, FPGA, û her weha gelek tiştên din ên balkêş. Hemî wan di navnîşan de ne lîsteya karên nivîskarên projeyê.

PS Ji bloga meya pargîdanî çend gotarên din:

Arasteya sereke ya çalakiya me peydakirina karûbarên cloudê ye:

Binesaziya Virtual (IaaS) | PCI DSS hosting | Cloud FZ-152 | SAP hosting | depo Virtual | Şîfrekirina daneyan di ewr de | hilanînê Cloud

Source: www.habr.com

Add a comment