VPN WireGuard accepterad i net-next-grenen och planerad för inkludering i kärnan Linux 5.6

David Miller (David S. Miller), ansvarig för kärnnätverkets delsystem Linux, accepterad till nästa gren plåster med implementeringen av VPN-gränssnittet från projektet WireGuardI början av nästa år kommer ändringar som ackumulerats i net-next-grenen att utgöra grunden för core-utgåvan. Linux 5.6.

Försök att marknadsföra kod WireGuard I huvudkärnan har man under de senaste åren ansträngt sig, men de har inte lyckats på grund av att man är beroende av proprietära implementeringar av kryptografiska funktioner som användes för att förbättra prestandan. Ursprungligen var dessa funktioner... föreslagen för kärnan som en ytterligare lågnivå Zink API, som så småningom kan ersätta standard Crypto API.

Efter föredrag på Kernel Recipes-konferensen, skaparna WireGuard i september fattade ett kompromissbeslut konvertera dina patchar för att använda det befintliga Crypto API:et i kärnan, som utvecklarna har tillgång till WireGuard Det finns klagomål om prestanda och övergripande säkerhet. Det beslutades att fortsätta utveckla Zinc API, men som ett separat projekt.

I november, kärnutvecklare åkte till en ömsesidig kompromiss och gick med på att flytta en del av koden från Zinc till huvudkärnan. Faktum är att vissa Zinc-komponenter kommer att flyttas till kärnan, men inte som ett separat API, utan som en del av Crypto API-undersystemet. Till exempel har Crypto API redan ingår förberedd i WireGuard Snabba implementeringar av algoritmerna ChaCha20 och Poly1305.

I samband med den kommande leveransen WireGuard i kärnteamet, grundare av projektet meddelat om omstrukturering av förvaret. För att förenkla utvecklingen ersattes det monolitiska förvaret avWireGuard.git", som var utformad för att existera separat, kommer att få tre separata repositories som är bättre lämpade för att organisera arbete med kod i huvudkärnan:

  • wireguard-linux.git — hela kärnträdet med ändringar från projektet Wireguard, patchar från vilka kommer att granskas för inkludering i kärnan och regelbundet migreras till net/net-next-grenarna.
  • wireguard-verktyg.git — ett arkiv för runtime-verktyg och skript för användarutrymme, såsom wg och wg-quick. Arkivet kan användas för att skapa paket för distributioner.
  • wireguard-linux-kompatibilitet.git — ett repository med en version av modulen, levererad separat från kärnan och inklusive ett compat.h-lager för att säkerställa kompatibilitet med äldre kärnor. Primär utveckling kommer att ske i repositoryt. wireguard-linux.git, men så länge det finns möjlighet och efterfrågan från användare kommer en separat version av patchar också att stödjas i fungerande form.

Låt oss påminna dig om VPN WireGuard Implementerad med moderna krypteringsmetoder ger den mycket hög prestanda, är enkel att använda, fri från komplikationer och har bevisat sin potential i ett antal storskaliga implementeringar som hanterar stora trafikvolymer. Projektet har varit under utveckling sedan 2015 och har granskats och formell verifiering krypteringsmetoder som används. Support WireGuard Det är redan integrerat i NetworkManager och systemd, och kärnpatchar ingår i basdistributionerna. Debian Instabil, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, subgraph и ALT.

В WireGuard Konceptet med krypteringsnyckelrouting används, vilket innebär att en privat nyckel binds till varje nätverksgränssnitt och används för att binda en publik nyckel. Publika nycklar utbyts för att upprätta en anslutning på ett sätt som liknar SSH. För att förhandla om nycklar och upprätta en anslutning utan att köra en separat daemon i användarutrymmet används Noise_IK-mekanismen från Noise Protocol Framework, liknande att underhålla auktoriserade_nycklar i SSH. Dataöverföring sker genom inkapsling i UDP-paket. Stöder ändring av IP-adressen för VPN-servern (roaming) utan att koppla från och automatisk omkonfigurering av klienten.

För kryptering används ström chiffer ChaCha20 och meddelandeautentiseringsalgoritm (MAC) Poly1305, designad av Daniel Bernstein (Daniel J. Bernstein), Tanya Lange
(Tanja Lange) och Peter Schwabe. ChaCha20 och Poly1305 är positionerade som snabbare och säkrare analoger till AES-256-CTR och HMAC, vars mjukvaruimplementering gör det möjligt att uppnå en fast exekveringstid utan användning av speciellt hårdvarustöd. För att generera en delad hemlig nyckel används det elliptiska kurvan Diffie-Hellman-protokollet i implementeringen Curve25519, också föreslagit av Daniel Bernstein. Algoritmen som används för hashning är BLAKE2s (RFC7693).

vid testning produktivitet WireGuard visade 3.9 gånger högre genomströmning och 3.8 gånger högre respons jämfört med OpenVPN (256-bitars AES med HMAC-SHA2-256). Jämfört med IPsec (256-bitars ChaCha20+Poly1305 och AES-256-GCM-128) i WireGuard En liten prestandafördel (13–18 %) och en minskning av latensen (21–23 %) observeras. Testerna utfördes med projektets egna snabba implementeringar av krypteringsalgoritmer; att byta till kärnans inbyggda Crypto API kan resultera i försämrad prestanda.

VPN WireGuard accepterad i net-next-grenen och planerad för inkludering i kärnan Linux 5.6

Källa: opennet.ru

Köp pålitlig hosting för webbplatser med DDoS-skydd, VPS VDS-servrar 🔥 Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster