Kāpēc WireGuard "nonāks" Linux kodolā?

Jūlija beigās WireGuard VPN tunelu izstrādātāji piedāvāja plecu komplektu, kas padarīs viņu programmatūru VPN tunelu izveidei par daļu no Linux kodola. Tomēr precīza datuma, kad šī "ideja" tiks īstenota, joprojām nav zināma. Zemāk mēs sīkāk parunāsim par šo rīku.

Kāpēc WireGuard "nonāks" Linux kodolā?
/ фото Tambako The Jaguar CC

Projektu īsi

WireGuard ir nākamās paaudzes VPN tunelis, ko izveidojis Džeisons Donenfīlds (Jason A. Donenfeld), Edge Security uzņēmuma vadītājs. Projekts tika izstrādāts kā vienkāršota un ātra alternatīva OpenVPN un IPsec. Pirmajā produkta versijā bija tikai 4 tūkstoši koda rindu. Salīdzinājumam, OpenVPN ir apmēram 120 tūkstoši rindu, bet IPSec — 420 tūkstoši.

Pēc vārdiem Izstrādātāji ir padarījuši WireGuard viegli konfigurējamu, un protokola drošība tiek sasniegta izmantojot pārbaudītus kriptogrāfiskos algoritmus.. Mainot tīklu: Wi-Fi, LTE vai Ethernet katru reizi ir jāatjauno savienojums ar VPN serveri. WireGuard serveri automātiski nepārtrauc savienojumu, pat ja lietotājs saņem jaunu IP adresi.

Neskatoties uz to, ka WireGuard sākotnēji ir optimizēts Linux kodolam, izstrādātāji ir rūpējušies arī par portatīvo rīka versiju Android ierīcēm. Lietotne pagaidām nav pilnveidota, taču to var izmēģināt jau tagad. Lai to izdarītu, jums jā kļūst par vienu no testētājiem..

Kopumā WireGuard ir diezgan populārs un pat ir bijis realizēts dažiem VPN pakalpojumu sniedzējiem, piemēram, Mullvad un AzireVPN. Tīklā ir publicēts liels daudzums norādījumu par šī risinājuma iestatīšanu. Piemēram, ir rokasgrāmatas , kuras izveidojuši lietotāji, un ir rokasgrāmatas,kuras sagatavojuši projekta autori. Tehniskajos sīkumos.

(lpp. 18) norādīts, ka WireGuard caurlaidspēja ir četras reizes augstāka nekā OpenVPN: 1011 Mbit/s, salīdzinot ar 258 Mbit/s. WireGuard pārspēj arī standartus Linux IPsec — tam ir 881 Mbit/s. Tas pārspēj arī vienkāršības ziņā.

No oficiālajā dokumentācijā Pēc atslēgu apmaiņas (VPN savienojums tiek inicializēts gandrīz kā SSH) un savienojuma izveides, WireGuard patstāvīgi risina visas pārējās problēmas: nav nepieciešams uztraukties par maršrutēšanu, stāvokļa uzraudzību utt. Papildu piepūle uzstādīšanai būs nepieciešama tikai tad, ja vēlaties izmantot simetrisko šifrēšanu.

Anders Hojbjerg

Kāpēc WireGuard "nonāks" Linux kodolā?
/ фото Lai uzstādītu, būs nepieciešama Linux kodola izplatījums, kas ir "vecāks" par 4.1. To var atrast galveno Linux izplatījumu krātuvēs. CC

Lai veiktu instalāciju, būs nepieciešams Linux kodola izplatījums „vecāks” par 4.1. To var atrast galveno Linux izplatījumu krātuvēs.

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

Kā norāda xakep.ru redaktori, patstāvīga montāža no avota kodu ir arī vienkārša. Pietiek aktivizēt saskarni un ģenerēt publisko un privāto atslēgu:

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

WireGuard neizmanto saskarne darbam ar kriptoprovideru CryptoAPI. Tā vietā tiek izmantots straumju šifrs ChaCha20, kriptogrāfiskais imitācijas ievietojums Poly1305 un savas kriptogrāfiskās hashu funkcijas.

Slepenu atslēgu ģenerē, izmantojot Diffie-Hellman protokolu uz eliptiskās līknes pamata Curve25519. Hašēšanā tiek izmantotas hašfunkcijas BLAKE2 un SipHash. Pateicoties laika zīmogu formātam TAI64N protokols noraida paketēm ar mazāku timestamp vērtību, tādējādi novēršot DoS- un replay-uzbrukumus..

Turklāt WireGuard izmanto ioctl funkciju ieejas/izejas kontrolei (agrāk tika izmantota Netlink), kas padara kodu tīrāku un vienkāršāku. Par to var pārliecināties, aplūkojot konfigurācijas kodu.

Izstrādātāju plāni

Pašlaik WireGuard ir out-of-tree kodola modulis. Bet projekta autors Džeisons Donenfeld stāsta, ka jau ir pienācis laiks pilnvērtīgai ieviešanai Linux kodolā. Tā kā tas ir vienkāršāks un uzticamāks par citām risinājumiem. Džeisons šajā ziņā atbalsta pat pats Linuss Torvalds - viņš nosauca WireGuard kodu par "mākslas darbu".

Tomēr par WireGuard integrēšanu kodolā pagaidām neviens nesaka precīzus datumus. Un grūti to ieraudzīt ar augustā iznākošo Linux kodolu 4.18. Tomēr pastāv iespēja, ka tas notiks visai drīz: versijā 4.19 vai 5.0.

Kad WireGuard tiks pievienots kodolam, izstrādātāji plāno uzlabot lietotni Android ierīcēm un sākt rakstīt lietotni iOS. Turklāt ir plānots pabeigt realizācijas Go un Rust un portēt tos uz macOS, Windows un BSD. Tāpat ir plānota WireGuard ieviešana uz vairāk "ekzotiskām sistēmām": DPDK, FPGA, kā arī daudz citu interesantu lietu. Viss tas ir uzskaitīts to-do sarakstā projekta autoriem.

P.S. Vēl dažas raksti no mūsu korporatīvā bloga:

Mūsu galvenā darbības joma ir mākoņa pakalpojumu sniegšana:

Virtuālā infrastruktūra (IaaS) | PCI DSS hostings | FZ-152 mākonis | SAP hostings | Virtuālā SĶD | Datu šifrēšana mākonī | Mākonis glabāšana

Avots: habr.com

Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem 🔥 Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem | ProHoster