Hoʻokomo ʻia ʻo VPN WireGuard i ka Linux kernel 5.6

I kēia lā ua hoʻoneʻe ʻo Linus i ka lālā ʻupena aʻe me nā pilina VPN iā ia iho ʻO WireGuard. No kēia hanana i hōʻikeʻia ma ka papa inoa leka uila WireGuard.

Hoʻokomo ʻia ʻo VPN WireGuard i ka Linux kernel 5.6

Ke hoʻomau nei ka hōʻiliʻili code no ka Linux 5.6 kernel hou. ʻO WireGuard kahi VPN wikiwiki e hiki mai ana e hoʻokō i ka cryptography hou. Ua hoʻomohala mua ʻia ma ke ʻano he mea maʻalahi a maʻalahi hoʻi i nā VPN i loaʻa. ʻO Jason A. Donenfeld ka mea kākau. I ʻAukake 2018, WireGuard loaa ka mahalo na Linus Torvalds. I kēlā manawa, hoʻomaka ka hana e hoʻokomo i ka VPN ma ka Linux kernel. Ua lōʻihi iki ke kaʻina hana.

"ʻIke wau ua hana ʻo Jason i kahi noi huki e hoʻokomo iā WireGuard i ka kernel," kākau ʻo Linus ma ʻAukake 2, 2018. — Hiki iaʻu ke haʻi hou i koʻu aloha no kēia VPN a manaʻolana i kahi hui koke? ʻAʻole maikaʻi paha ke code, akā nānā wau iā ia, a hoʻohālikelike ʻia i nā mea weliweli o OpenVPN a me IPSec, he hana maoli ia. "

ʻOiai ka makemake o Linus, ua hoʻomau ka hui ʻana no hoʻokahi makahiki a me ka hapa. ʻO ka pilikia nui i hoʻopili ʻia i nā hoʻokō proprietary o nā hana cryptographic, i hoʻohana ʻia e hoʻomaikaʻi i ka hana. Ma hope o nā kūkākūkā lōʻihi ma Kepakemapa 2019 ua hoʻoholo ʻia kahi hoʻoholo kuʻikahi unuhi i nā ʻāpana i nā hana Crypto API i loaʻa i ka kernel, kahi i hoʻopiʻi ai nā mea hoʻomohala WireGuard ma ke kahua o ka hana a me ka palekana ākea. Akā ua hoʻoholo lākou e hoʻokaʻawale i nā hana crypto WireGuard maoli i kahi Zinc API haʻahaʻa haʻahaʻa a hoʻopaʻa iā lākou i ka kernel. I Nowemapa, ua mālama nā mea hoʻomohala kernel i kā lākou ʻōlelo hoʻohiki a ʻae ʻia e hoʻololi i ka ʻāpana o ke code mai Zinc i ka kernel nui. No ka laʻana, ma ka Crypto API hui pū ʻia hoʻokō wikiwiki o ka ChaCha20 a me Poly1305 algorithm i hoʻomākaukau ʻia ma WireGuard.

ʻO ka hope loa, ma ka lā 9 o Kekemapa, 2019, ʻo David S. Miller, ke kuleana o ka subsystem pūnaewele o ka kernel Linux, ʻae ʻia i ka upena-lala nā pā me ka hoʻokō ʻana i kahi kikowaena VPN mai ka papahana WireGuard.

A i kēia lā, Ianuali 29, 2020, ua hele nā ​​hoʻololi iā Linus no ka hoʻokomo ʻana i ka kernel.

Hoʻokomo ʻia ʻo VPN WireGuard i ka Linux kernel 5.6

ʻO nā pono i ʻōlelo ʻia o WireGuard ma mua o nā hoʻonā VPN ʻē aʻe:

  • Maʻalahi e hoʻohana.
  • Hoʻohana i ka cryptography hou: Noise protocol framework, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, HKDF, etc.
  • He code paʻa, hiki ke heluhelu ʻia, maʻalahi ke noiʻi no nā nāwaliwali.
  • Hana kiʻekiʻe.
  • Akaka a kikoo kikoʻī.

ʻO nā loina koʻikoʻi āpau o WireGuard e lawe ma lalo o 4000 mau laina o ke code, akā ʻo OpenVPN a me IPSec e koi i nā haneli haneli mau laina.

"Hoʻohana ʻo WireGuard i ka manaʻo o ka hoʻopili ʻana i ke kī kī, e pili ana i ka hoʻopili ʻana i kahi kī pilikino i kēlā me kēia kikowaena pūnaewele a me ka hoʻohana ʻana i nā kī ākea e hoʻopaʻa iā ia. Hoʻololi ʻia nā kī lehulehu e hoʻokumu i kahi pilina ma ke ʻano like me SSH. No ke kūkākūkā ʻana i nā kī a hoʻopili me ka ʻole o ka holo ʻana i kahi daemon kaʻawale ma kahi o ka mea hoʻohana, ka mīkini Noise_IK mai Kūlana Kūlana Noisee like me ka mālama ʻana i nā authorized_keys ma SSH. Lawe ʻia ka lawe ʻana i ka ʻikepili ma o ka encapsulation i nā ʻeke UDP. Kākoʻo ia i ka hoʻololi ʻana i ka IP address o ka server VPN (roaming) me ka ʻole o ka wehe ʻana i ka pilina me ka hoʻonohonoho hou ʻana o ka mea kūʻai aku, - He kākau Opennet.

No ka hoʻopunipuni i ʻ a? stream cipher ChaCha20 a me ka algorithm authentication memo (MAC) ʻO Poly1305, i hoʻolālā ʻia e Daniel Bernstein (Daniel J. Bernstein), ʻo Tanja Lange lāua ʻo Peter Schwabe. Hoʻonohonoho ʻia ʻo ChaCha20 a me Poly1305 e like me nā analogues wikiwiki a palekana o AES-256-CTR a me HMAC, ka hoʻokō polokalamu e hiki ai ke hoʻokō i kahi manawa hoʻokō paʻa me ka ʻole o ka hoʻohana ʻana i ke kākoʻo ʻenehana kūikawā. No ka hana ʻana i kahi kī huna, hoʻohana ʻia ka elliptic curve Diffie-Hellman protocol i ka hoʻokō Helu Curve25519, ua noi pū ʻia e Daniel Bernstein. ʻO ka algorithm i hoʻohana ʻia no ka hashing BLAKE2s (RFC7693)".

Nā hualoaʻa nā hoʻokolohua hana mai ka pūnaewele mana:

Ka laulā (megabit/s)
Hoʻokomo ʻia ʻo VPN WireGuard i ka Linux kernel 5.6

Ping (ms)
Hoʻokomo ʻia ʻo VPN WireGuard i ka Linux kernel 5.6

Hoʻonohonoho hoʻāʻo:

  • ʻO Intel Core i7-3820QM a me Intel Core i7-5200U
  • Kāleka Gigabit Intel 82579LM a me Intel I218LM
  • Linux 4.6.1
  • Hoʻonohonoho WireGuard: 256-bit ChaCha20 me Poly1305 no MAC
  • ʻO ka hoʻonohonoho IPsec mua: 256-bit ChaCha20 me Poly1305 no MAC
  • Hoʻonohonoho IPsec ʻelua: AES-256-GCM-128 (me AES-NI)
  • OpenVPN Configuration: AES 256-bit like cipher suite me HMAC-SHA2-256, UDP mode
  • Ua ana ʻia ka hana me ka hoʻohana ʻana iperf3, hōʻike i ka hopena awelika ma luna o 30 mau minuke.

Ma ke kumumanaʻo, i ka manawa i hoʻohui ʻia i ka waihona pūnaewele, pono e hana wikiwiki ʻo WireGuard. Akā i ka ʻoiaʻiʻo, ʻaʻole pono kēia ma muli o ka hoʻololi ʻana i nā hana cryptographic Crypto API i kūkulu ʻia i loko o ka kernel. ʻAʻole paha i hoʻopaʻa ʻia lākou a pau i ka pae hana o WireGuard maoli.

"Mai koʻu manaʻo, ʻo WireGuard ka mea maʻamau no ka mea hoʻohana. Hoʻoholo ʻia nā hoʻoholo haʻahaʻa haʻahaʻa ma ka kikoʻī, no laila ke kaʻina hana o ka hoʻomākaukau ʻana i kahi ʻōnaehana VPN maʻamau he mau minuke wale nō. Aneane hiki ʻole ke hana hewa i ka hoʻonohonoho - palapalaʻo ia ma Habré i ka makahiki 2018. — Kaʻina hoʻokomo wehewehe kikoʻī ma ka pūnaewele official, makemake wau e hoʻokaʻawale i ka maikaʻi Kākoʻo OpenWRT. Ua hoʻokō ʻia kēia maʻalahi o ka hoʻohana a me ka compactness o ke kumu code ma ka hoʻopau ʻana i ka hāʻawi ʻana i nā kī. ʻAʻohe ʻōnaehana palapala paʻakikī a me kēia mea weliweli ʻoihana āpau; puʻunaue ʻia nā kī pōkole pōkole e like me nā kī SSH.

Ke ulu nei ka papahana WireGuard mai ka makahiki 2015, ua loiloi ʻia a hōʻoia kūhelu. Hoʻohui ʻia ke kākoʻo ʻo WireGuard i NetworkManager a me systemd, a ua hoʻokomo ʻia nā ʻāpana kernel i nā māhele kumu o Debian Unstable, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Subgraph a me ALT.

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka