WireGuard o le a "sau" i le fatu Linux - aisea?

I le faaiuga o Iulai, na faʻatulagaina e le au atiaʻe o le WireGuard VPN tunnel seti patch, lea o le a avea ai a latou VPN tunneling software vaega o le fatu Linux. Ae ui i lea, o le aso tonu o le faʻatinoga o le "manatu" e le o iloa. I lalo ifo o le tipi o le a tatou talanoa atili e uiga i lenei meafaigaluega.

WireGuard o le a "sau" i le fatu Linux - aisea?
/ ata Tambako Le Jaguar CC

Fa'apuupuu e uiga i le poloketi

WireGuard o se isi auga VPN tunnel na faia e Jason A. Donenfeld, Pule Sili o Edge Security. O le poloketi na fausia e pei o fa'afaigofie ma se suiga vave i OpenVPN ma IPsec. O le lomiga muamua o le oloa na i ai na o le 4 afe laina o code. Mo faʻatusatusaga, OpenVPN e tusa ma le 120 afe laina, ma IPSec - 420 afe.

Saunia e e tusa ai atinaʻe, WireGuard e faigofie ona faʻapipiʻi ma ausia le puipuiga malu e ala i faʻataʻitaʻiga faʻamaonia algorithms. Pe a suia fesoʻotaʻiga: Wi-Fi, LTE poʻo Ethernet e manaʻomia ona toe faʻafesoʻotaʻi i le VPN server i taimi uma. WireGuard servers e le faʻamutaina le fesoʻotaʻiga, e tusa lava pe maua e le tagata faʻaoga se tuatusi IP fou.

E ui lava i le mea moni o WireGuard na muai fuafuaina mo le fatu Linux, o le au atinaʻe tausia lelei ma e uiga i se lomiga feaveai o le meafaigaluega mo masini Android. O le talosaga e leʻi maeʻa ona atiaʻe, ae e mafai ona e faʻataʻitaʻiina nei. Mo lenei mea e te manaʻomia avea ma se tasi o tagata su'esu'e.

I se tulaga lautele, WireGuard e sili ona lauiloa ma e oʻo lava faatino tele VPN e tuʻuina atu, e pei o Mullvad ma AzireVPN. Fa'asalalau i luga ole laiga se numera tele seti taiala lenei faaiuga. Faataitaiga, o loo i ai taiala, lea e faia e tagata faʻaoga, ma o loʻo i ai taʻiala, saunia e tusitala o le poloketi.

Faamatalaga faʻapitoa

В pepa aloaia (itulau 18) o lo'o maitauina o le fa'auluina o le WireGuard e fa taimi e sili atu nai lo le OpenVPN: 1011 Mbit/s versus 258 Mbit/s, fa'asologa. WireGuard o loʻo i luma foi o le fofo masani mo Linux IPsec - e 881 Mbit / s. E sili atu foi i le faigofie o le seti.

A maeʻa ona fesuiaʻi ki (o le fesoʻotaʻiga VPN e amataina e pei o le SSH) ma faʻamautu le fesoʻotaʻiga, e faʻatautaia e WireGuard isi galuega uma na o ia lava: e leai se mea e popole ai e uiga i le taʻavale, pulega a le setete, ma isi. mana'omia pe afai e te mana'o e fa'aoga fa'ailoga tutusa.

WireGuard o le a "sau" i le fatu Linux - aisea?
/ ata Anders Hojbjerg CC

Ina ia faʻapipiʻi, e te manaʻomia se tufatufaga ma se Linux kernel e sili atu nai lo le 4.1. E mafai ona maua i totonu o faleoloa o faʻasalalauga tetele Linux.

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

E pei ona matauina e le faatonu o le xakep.ru, e faigofie foi le faʻapipiʻiina e le tagata lava ia mai faʻamatalaga autu. Ua lava le tatalaina o le atinaʻe ma faʻatupuina faʻamatalaga lautele ma faʻapitoa:

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

WireGuard e le fa'aaogaina fa'aoga mo le galulue fa'atasi ma se kamupani e tu'uina atu crypto CryptoAPI. Nai lo lena, e faʻaaogaina se stream cipher ChaCha20, cryptographic fa'aofi fa'atusa Poly1305 ma fa'atauga fa'amana'o fa'ailoga.

O le ki faalilolilo e gaosia i le faʻaaogaina Diffie-Hellman protocol fa'avae i luga o le elliptic curve Curve25519. A hashing, latou te faʻaaogaina galuega hash NOFOAINA2 и SipHash. Ona o le faatulagaga o faailoga taimi TAI64N e lafoa'i e le protocol ia pepa e la'ititi le tau fa'ailoga taimi, o lea puipuia le DoS- и toe fai osofaiga.

I lenei tulaga, WireGuard faʻaaoga le ioctl galuega e pulea I / O (muamua faʻaaoga netlink), lea e fa'amama ma fa'afaigofie ai le code. E mafai ona e fa'amaonia lenei mea ile va'ai ile tulafono fa'atulagaina.

Fuafuaga atia'e

Mo le taimi nei, o le WireGuard o se fatu fatu i fafo o le laau. Ae o le tusitala o le poloketi o Jason Donenfeld fai mai, ua oʻo mai le taimi mo le faʻatinoina atoatoa i le fatu Linux. Aua e faigofie ma sili atu ona faʻatuatuaina nai lo isi fofo. Jason i lea tulaga lagolago e oo lava ia Linus Torvalds na ia taʻua le WireGuard code o se "galuega o faatufugaga."

Ae leai se tasi e talanoa e uiga i aso tonu mo le faʻaofiina o WireGuard i totonu o le fatu. MA faigata o le a tupu lenei mea i le faʻasaʻolotoina o le Aukuso Linux kernel 4.18. Ae ui i lea, e iai le avanoa e tupu ai lenei mea i se taimi lata mai: i le version 4.19 poʻo le 5.0.

A faʻapipiʻi WireGuard i le fatu, tagata atiae manaʻo faʻamaeʻa le talosaga mo masini Android ma amata tusi se talosaga mo iOS. O loʻo iai foʻi fuafuaga e faʻamaeʻa faʻatinoga i Go ma Rust ma faʻafeiloaʻi i macOS, Windows ma BSD. O loʻo fuafua foi e faʻatinoina WireGuard mo nisi "faiga faʻapitoa": DPDK, FPGA, faʻapea foʻi ma le tele o isi mea manaia. O i latou uma o loʻo lisiina i totonu mea e fai-lisi tusitala o le poloketi.

PS O nisi tala mai la matou blog pisinisi:

O le itu autu o la matou gaioiga o le tuʻuina atu lea o auaunaga ao:

Atina'e Fa'apitoa (IaaS) | PCI DSS talimalo | Ao FZ-152 | SAP talimalo | Teuga fa'apitoa | Fa'ailogaina fa'amatalaga i le ao | Taofi ao

puna: www.habr.com

Faaopoopo i ai se faamatalaga