Er WireGuard hið frábæra VPN framtíðarinnar?

Er WireGuard hið frábæra VPN framtíðarinnar?

Sá tími er kominn að VPN er ekki lengur framandi tæki skeggjaðra kerfisstjóra. Notendur hafa mismunandi verkefni, en staðreyndin er sú að allir þurfa VPN.

Vandamálið við núverandi VPN lausnir er að erfitt er að stilla þær rétt, dýrar í viðhaldi og eru fullar af eldri kóða af vafasömum gæðum.

Fyrir nokkrum árum ákvað kanadíski upplýsingaöryggissérfræðingurinn Jason A. Donenfeld að hann væri búinn að fá nóg af því og hóf að vinna að WireGuard. Nú er verið að undirbúa WireGuard fyrir innlimun í Linux kjarna og hefur meira að segja fengið lof frá Linus Torvalds og Öldungadeild Bandaríkjanna.

Krafa um kosti WireGuard umfram aðrar VPN lausnir:

  • Auðvelt í notkun.
  • Notar nútíma dulritun: Noise protocol ramma, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, HKDF, osfrv.
  • Fyrirferðarlítill, læsilegur kóði, auðveldara að rannsaka með tilliti til veikleika.
  • Mikil afköst.
  • Skýrt og vandað forskrift.

Hefur silfurkúla fundist? Er kominn tími til að jarða OpenVPN og IPSec? Ég ákvað að takast á við þetta og gerði það á sama tíma handrit til að setja upp persónulegan VPN netþjón sjálfkrafa.

Meginreglur um vinnu

Rekstrarreglunum má lýsa eitthvað á þessa leið:

  • WireGuard tengi er búið til og einkalykill og IP tölu er úthlutað til þess. Stillingar annarra jafningja eru hlaðnar: opinberir lyklar þeirra, IP tölur osfrv.
  • Allir IP pakkar sem berast til WireGuard viðmótsins eru hjúpaðir í UDP og afhent á öruggan hátt öðrum jafningjum.
  • Viðskiptavinir tilgreina opinbera IP tölu netþjónsins í stillingunum. Miðlarinn þekkir sjálfkrafa ytri vistföng viðskiptavina þegar rétt auðkennd gögn berast frá þeim.
  • Miðlarinn getur breytt opinberu IP tölu án þess að trufla vinnu hans. Á sama tíma mun það senda viðvörun til tengdra viðskiptavina og þeir munu uppfæra stillingar sínar á flugi.
  • Notast er við leiðarhugtakið Dulritunarlykla leið. WireGuard tekur við og sendir pakka byggða á opinberum lykli jafningjans. Þegar þjónninn afkóðar rétt auðkenndan pakka er src reiturinn hakaður. Ef það passar við uppsetninguna allowed-ips staðfestur jafningi, pakkinn er móttekinn af WireGuard viðmótinu. Þegar sendan pakka er sendur á sér stað samsvarandi aðferð: dst reitur pakkans er tekinn og út frá honum er samsvarandi jafningi valinn, pakkinn er undirritaður með lykli sínum, dulkóðaður með lykli jafningjans og sendur á ytri endapunkt .

Öll kjarnarökfræði WireGuard tekur minna en 4 þúsund línur af kóða, á meðan OpenVPN og IPSec eru með hundruð þúsunda lína. Til að styðja nútíma dulritunaralgrím er lagt til að taka með nýtt dulmáls API í Linux kjarnanum sink. Núna er umræða í gangi um hvort þetta sé góð hugmynd.

Framleiðni

Hámarks frammistöðukostur (samanborið við OpenVPN og IPSec) verður áberandi á Linux kerfum, þar sem WireGuard er útfært sem kjarnaeining þar. Að auki eru macOS, Android, iOS, FreeBSD og OpenBSD studd, en í þeim keyrir WireGuard í notendarými með öllum afköstum sem því fylgir. Gert er ráð fyrir að Windows stuðningur verði bætt við á næstunni.

Viðmið niðurstöður með opinbera síða:

Er WireGuard hið frábæra VPN framtíðarinnar?

Mín notkunarreynsla

Ég er ekki VPN sérfræðingur. Ég setti einu sinni OpenVPN upp handvirkt og það var mjög leiðinlegt og ég prófaði ekki einu sinni IPSec. Það eru of margar ákvarðanir sem þarf að taka, það er mjög auðvelt að skjóta sig í fótinn. Þess vegna notaði ég alltaf tilbúin script til að stilla þjóninn.

Svo, WireGuard, frá mínu sjónarhorni, er almennt tilvalið fyrir notandann. Allar ákvarðanir á lágu stigi eru teknar í forskriftinni, þannig að ferlið við að undirbúa dæmigerðan VPN innviði tekur aðeins nokkrar mínútur. Það er nánast ómögulegt að svindla í uppsetningunni.

Uppsetningarferli lýst í smáatriðum á opinberu vefsíðunni vil ég sérstaklega taka eftir því ágæta OpenWRT stuðningur.

Dulkóðunarlyklar eru búnir til af tólinu wg:

SERVER_PRIVKEY=$( wg genkey )
SERVER_PUBKEY=$( echo $SERVER_PRIVKEY | wg pubkey )
CLIENT_PRIVKEY=$( wg genkey )
CLIENT_PUBKEY=$( echo $CLIENT_PRIVKEY | wg pubkey )

Næst þarftu að búa til netþjónsstillingu /etc/wireguard/wg0.conf með eftirfarandi innihaldi:

[Interface]
Address = 10.9.0.1/24
PrivateKey = $SERVER_PRIVKEY
[Peer]
PublicKey = $CLIENT_PUBKEY
AllowedIPs = 10.9.0.2/32

og hækka göngin með handriti wg-quick:

sudo wg-quick up /etc/wireguard/wg0.conf

Á kerfum með systemd geturðu notað þetta í staðinn sudo systemctl start [email protected].

Búðu til stillingar á biðlaravélinni /etc/wireguard/wg0.conf:

[Interface]
PrivateKey = $CLIENT_PRIVKEY
Address = 10.9.0.2/24
[Peer]
PublicKey = $SERVER_PUBKEY
AllowedIPs = 0.0.0.0/0
Endpoint = 1.2.3.4:51820 # Внешний IP сервера
PersistentKeepalive = 25 

Og hækka göngin á sama hátt:

sudo wg-quick up /etc/wireguard/wg0.conf

Allt sem er eftir er að stilla NAT á þjóninum þannig að viðskiptavinir geti nálgast internetið og þú ert búinn!

Þessi auðvelda notkun og þéttleiki kóðagrunnsins var náð með því að útrýma lykildreifingarvirkninni. Það er ekkert flókið vottorðakerfi og allur þessi hryllingur fyrirtækja; stuttum dulkóðunarlyklum er dreift svipað og SSH lyklum. En þetta skapar vandamál: WireGuard verður ekki svo auðvelt að innleiða á sumum núverandi netum.

Meðal ókostanna er rétt að taka fram að WireGuard mun ekki virka í gegnum HTTP umboð, þar sem aðeins UDP samskiptareglur eru tiltækar sem flutningur. Spurningin vaknar: verður hægt að torvelda bókunina? Auðvitað er þetta ekki beint verkefni VPN, en fyrir OpenVPN, til dæmis, eru leiðir til að dulbúa sig sem HTTPS, sem hjálpar íbúum alræðisríkja að nota internetið að fullu.

Niðurstöður

Til að draga saman, þetta er mjög áhugavert og efnilegt verkefni, þú getur nú þegar notað það á persónulegum netþjónum. Hver er hagnaðurinn? Mikil afköst á Linux kerfum, auðveld uppsetning og stuðningur, fyrirferðarlítill og læsilegur kóðagrunnur. Hins vegar er of snemmt að flýta sér að flytja flókna innviði yfir í WireGuard; það er þess virði að bíða eftir því að það komi inn í Linux kjarnann.

Til að spara tíma mínum (og þínum) þróaði ég WireGuard sjálfvirkt uppsetningarforrit. Með hjálp þess geturðu sett upp persónulegt VPN fyrir þig og vini þína án þess að skilja neitt um það.

Heimild: www.habr.com

Bæta við athugasemd