Ka "haere" a WireGuard ki te kernel Linux - he aha?

I te mutunga o Hōngongoi, i whakaarohia e nga kaihanga o te WireGuard VPN tunnel huinga papaki, ka waiho ta ratou VPN tunneling software hei waahanga o te kernel Linux. Engari, ko te ra tika o te whakatinanatanga o te "whakaaro" kaore i te mohiotia. I raro i te tapahi ka korerohia e matou mo tenei taputapu i roto i nga korero taipitopito.

Ka "haere" a WireGuard ki te kernel Linux - he aha?
/ whakaahua Tambako Te Jaguar CC

He poto mo te kaupapa

Ko WireGuard te reanga VPN hou i hangaia e Jason A. Donenfeld, Tumuaki o Edge Security. I whakawhanakehia te kaupapa hei whakangawari me te rereke tere ki OpenVPN me IPsec. Ko te putanga tuatahi o te hua he 4 mano noa nga rarangi waehere. Hei whakataurite, OpenVPN he 120 mano nga raina, me te IPSec - 420 mano.

Na rite kaiwhakawhanake, he ngawari te whirihora a WireGuard, ka tutuki te haumarutanga kawa na roto i nga algorithms cryptographic kua whakamatauria. Ina huri whatunga: Me hono ano a Wi-Fi, LTE, Ethernet ranei ki te tūmau VPN i ia wa. Kaore nga kaitoro WireGuard e whakamutu i te hononga, ahakoa kua whiwhi te kaiwhakamahi i tetahi wahitau IP hou.

Ahakoa te mea ko WireGuard i hangaia mo te kernel Linux, ko nga kaihanga i tiaki a mo tetahi putanga kawe o te taputapu mo nga taputapu Android. Ko te tono kaore ano kia tino whakawhanakehia, engari ka taea e koe te whakamatau inaianei. Mo tenei ka hiahia koe hei tetahi o nga kaiwhakaatu.

I te nuinga o te waa, he tino rongonui a WireGuard, a kua tae mai ano whakatinana he maha nga kaiwhakarato VPN, penei i Mullvad me AzireVPN. I whakaputaina i runga ipurangi he maha nui aratohu tatūnga tenei whakatau. Hei tauira, kei reira nga kaiarahi, he mea hanga e nga kaiwhakamahi, kei reira nga kaiarahi, i whakaritea e nga kaituhi o te kaupapa.

hangarau

В tuhinga whaimana (wh. 18) e tohuhia ana ko te whakaputanga o WireGuard e wha nga wa teitei ake i tera o OpenVPN: 1011 Mbit/s ki te 258 Mbit/s, ia. Kei mua ano a WireGuard i te otinga paerewa mo Linux IPsec - he 881 Mbit/s. He nui ake ano i te ngawari o te tatūnga.

Whai muri i te whakawhitinga o nga kii (kua arawhiti te hononga VPN penei i te SSH) ka tau te hononga, ka whakahaerea e WireGuard etahi atu mahi katoa: kaore he take ki te awangawanga mo te ararere, te mana kawanatanga, me etahi atu. e hiahiatia ana ki te hiahia koe ki te whakamahi i te whakamunatanga hangarite.

Ka "haere" a WireGuard ki te kernel Linux - he aha?
/ whakaahua Anders Hojbjerg CC

Hei whakauru, ka hiahia koe ki te tohatoha me te kernel Linux tawhito ake i te 4.1. Ka kitea i roto i nga putunga o nga tohatoha Linux nui.

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

Ka rite ki nga etita o te xakep.ru tuhipoka, he ngawari hoki te kohi-whaiaro mai i nga tuhinga puna. He nui ki te whakatuwhera i te atanga me te whakaputa i nga taviri a te iwi me te motuhake:

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

WireGuard e kore e whakamahi atanga mo te mahi tahi me te kaiwhakarato crypto CryptoAPI. Engari, ka whakamahia he tohu awa ChaCha20, tohu whakaahua whakauru whakauru Ko te Poly1305 me nga mahi hash cryptographic rangatira.

Ka hangaia te kī ngaro ma te whakamahi Kawa Diffie-Hellman i runga i te ānau elliptic Ko te Curve25519. Ina hashing, ka whakamahia e ratou mahi hash KORERO2 и SipHash. Nā te whakatakotoranga tohuwā TAI64N ka makahia e te kawa nga paakete he iti ake te uara tohu wa, na reira te aukati i te DoS- и whakaekea nga whakaeke.

I tenei keehi, ka whakamahia e WireGuard te mahi ioctl ki te whakahaere I/O (i whakamahia i mua netlink), na te mea ka pai ake, ka ngawari ake te waehere. Ka taea e koe te manatoko i tenei ma te titiro waehere whirihoranga.

Mahere kaiwhakawhanake

Mo tenei wa, ko WireGuard tetahi waahanga kakano o waho o te rakau. Engari ko Jason Donenfeld te kaituhi o te kaupapa ka mea, kua tae mai te wa mo te whakatinanatanga katoa i roto i te kernel Linux. Na te mea he maamaa ake, he pono ake i era atu otinga. Jason mo tenei kaupapa tautoko Ko Linus Torvalds tonu i kii ko te WireGuard waehere he "mahi toi."

Engari kaore tetahi e korero mo nga ra tika mo te whakaurunga o WireGuard ki roto i te kernel. ME whakauaua ka tupu tenei me te tukunga o te maramara o Akuhata Linux 4.18. Heoi ano, tera pea ka puta tenei i nga wa e tata mai nei: i te putanga 4.19, 5.0 ranei.

Ina whakauruhia a WireGuard ki te pata, ka taea e nga kaihanga hiahia whakaotihia te tono mo nga taputapu Android ka timata ki te tuhi tono mo iOS. He mahere ano ki te whakaoti i nga whakatinanatanga i roto i te Haere me te Rust ka kawe ki te macOS, Windows me BSD. Kua whakamaheretia ano hoki ki te whakatinana i te WireGuard mo etahi atu "nga punaha rereke": DPDK, FPGA, me era atu mea whakamere. Kua whakarārangihia katoatia ki roto rarangi-mahi nga kaituhi o te kaupapa.

PS Ko etahi atu tuhinga mai i ta maatau blog umanga:

Ko te ahunga matua o a maatau mahi ko te whakarato ratonga kapua:

Hanganga Mariko (IaaS) | PCI DSS manaaki | Kapua FZ-152 | SAP manaaki | Rokiroki mariko | Whakamuna raraunga ki te kapua | Pupuri kapua

Source: will.com

Tāpiri i te kōrero