WireGuard vil "komme" til Linux-kjernen - hvorfor?

I slutten av juli foreslo utviklerne av WireGuard VPN-tunnelen lappesett, som vil gjøre deres VPN-tunnelprogramvare til en del av Linux-kjernen. Imidlertid er den nøyaktige datoen for implementeringen av "ideen" ukjent. Under kuttet vil vi snakke om dette verktøyet mer detaljert.

WireGuard vil "komme" til Linux-kjernen - hvorfor?
/ bilde Tambako Jaguaren CC

Kort om prosjektet

WireGuard er en neste generasjons VPN-tunnel laget av Jason A. Donenfeld, administrerende direktør i Edge Security. Prosjektet ble utviklet som forenklet og et raskt alternativ til OpenVPN og IPsec. Den første versjonen av produktet inneholdt bare 4 tusen linjer med kode. Til sammenligning har OpenVPN omtrent 120 tusen linjer, og IPSec - 420 tusen.

i følge utviklere, er WireGuard enkel å konfigurere og protokollsikkerhet oppnås gjennom velprøvde kryptografiske algoritmer. Når du bytter nettverk: Wi-Fi, LTE eller Ethernet må kobles til VPN-serveren på nytt hver gang. WireGuard-servere avslutter ikke forbindelsen, selv om brukeren har mottatt en ny IP-adresse.

Til tross for at WireGuard opprinnelig ble designet for Linux-kjernen, har utviklerne tatt vare på og om en bærbar versjon av verktøyet for Android-enheter. Applikasjonen er ennå ikke ferdig utviklet, men du kan prøve den ut nå. For dette trenger du bli en av testerne.

Generelt er WireGuard ganske populær og har til og med vært det implementert flere VPN-leverandører, som Mullvad og AzireVPN. Publisert på nett et stort antall oppsettguider denne avgjørelsen. For eksempel, det er guider, som er laget av brukere, og det er guider, utarbeidet av forfatterne av prosjektet.

Teknisk

В offisiell dokumentasjon (s. 18) det bemerkes at gjennomstrømningen til WireGuard er fire ganger høyere enn for OpenVPN: henholdsvis 1011 Mbit/s mot 258 Mbit/s. WireGuard er også foran standardløsningen for Linux IPsec – den har 881 Mbit/s. Det overgår det også i enkel oppsett.

Etter at nøklene er utvekslet (VPN-tilkoblingen er initialisert omtrent som SSH) og tilkoblingen er etablert, håndterer WireGuard alle andre oppgaver på egen hånd: det er ingen grunn til å bekymre deg for ruting, tilstandskontroll osv. Ytterligere konfigurasjonsinnsats vil bare være nødvendig hvis du vil bruke symmetrisk kryptering.

WireGuard vil "komme" til Linux-kjernen - hvorfor?
/ bilde Anders Højbjerg CC

For å installere, trenger du en distribusjon med en Linux-kjerne eldre enn 4.1. Den kan finnes i lagrene til store Linux-distribusjoner.

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

Som redaktørene av xakep.ru bemerker, er selvmontering fra kildetekster også enkelt. Det er nok å åpne grensesnittet og generere offentlige og private nøkler:

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

WireGuard bruker ikke grensesnitt for å jobbe med en kryptoleverandør CryptoAPI. I stedet brukes et strømchiffer ChaCha20, kryptografisk imitasjonsinnlegg Poly1305 og proprietære kryptografiske hash-funksjoner.

Den hemmelige nøkkelen genereres ved hjelp av Diffie-Hellman-protokollen basert på elliptisk kurve Curve25519. Ved hashing bruker de hash-funksjoner BLAKE2 и SipHash. På grunn av tidsstempelformatet TAI64N protokollen forkaster pakker med en mindre tidsstempelverdi, og dermed forhindrer DoS- и replay angrep.

I dette tilfellet bruker WireGuard ioctl-funksjonen for å kontrollere I/O (tidligere brukt Nettlink), som gjør koden renere og enklere. Du kan bekrefte dette ved å se på konfigurasjonskode.

Utbyggerplaner

Foreløpig er WireGuard en kjernemodul utenfor treet. Men forfatteren av prosjektet er Jason Donenfeld говорит, at tiden er inne for full implementering i Linux-kjernen. Fordi det er enklere og mer pålitelig enn andre løsninger. Jason i denne forbindelse støtter til og med Linus Torvalds selv kalte WireGuard-koden for et «kunstverk».

Men ingen snakker om de nøyaktige datoene for introduksjonen av WireGuard i kjernen. OG neppe dette vil skje med utgivelsen av August Linux-kjernen 4.18. Det er imidlertid en mulighet for at dette vil skje i nær fremtid: i versjon 4.19 eller 5.0.

Når WireGuard legges til kjernen, vil utviklere ønsker fullfør applikasjonen for Android-enheter og begynn å skrive en applikasjon for iOS. Det er også planer om å fullføre implementeringer i Go og Rust og overføre dem til macOS, Windows og BSD. Det er også planlagt å implementere WireGuard for mer "eksotiske systemer": DPDK, FPGA, samt mange andre interessante ting. Alle er oppført i gjøremålsliste forfattere av prosjektet.

PS Noen flere artikler fra bedriftsbloggen vår:

Hovedretningen for vår aktivitet er levering av skytjenester:

Virtuell infrastruktur (IaaS) | PCI DSS hosting | Cloud FZ-152 | SAP-hosting | Virtuell lagring | Krypterer data i skyen | Skylagring

Kilde: www.habr.com

Legg til en kommentar