OpenVPN ar WireGuard? Nuspręskite pagal tapatybę ir transportą
Raktai, prisijungimo srautai ir tik UDP transportas formuoja pasirinkimą daug anksčiau nei pralaidumas. Atlikite keturis patikrinimus ir laikykite matavimą sąžiningą.
Šių dviejų protokolų palyginimas naudingas tik tada, kai lyginama tai, ką iš tikrųjų valdysite. WireGuard atpažįsta partnerius pagal viešąjį raktą ir savo protokolą perduoda UDP, o OpenVPN siūlo platesnį autentifikavimo būdų rinkinį ir gali veikti UDP arba TCP, kai serveris siūlo abu. Šie skirtumai formuoja diegimą ir atsarginį kelią daug anksčiau, nei formuoja pralaidumą. Atlikite keturis toliau pateiktus patikrinimus iš eilės; pirmieji du paprastai nulemia pasirinkimą, o paskutiniai du pasako, ar sprendimas buvo teisingas.
Pradėkite nuo tapatybės, ne nuo šifrų sąrašo
WireGuard partneris laiko vieną privatų raktą ir išvardija viešuosius raktus, kuriuos gali pasiekti. Teikėjas gali apvynioti tai paskyros portalu, tačiau pats protokolas neturi vartotojo vardo ir slaptažodžio mainų, todėl paskyros gyvavimo ciklas gyvena tame, kas platina raktus. OpenVPN gali naudoti sertifikatus, įskiepį prie esamo katalogo arba patikros scenarijų, todėl organizacijos su tapatybės sistema dažnai jį renkasi. Nė viena konstrukcija nepanaikina klausimo, kaip pašalinamas pamestas įrenginys.
| Decision | OpenVPN | WireGuard |
|---|---|---|
| Identity | Certificates, plugins or scripts against an existing directory | One private key per peer, public keys listed for the peers it may reach |
| Transport | UDP or TCP profiles when the server offers both | UDP only in the native protocol |
| Routing and DNS | Server pushes routes and DNS options | AllowedIPs maps ranges to peers, and tooling installs the routes |
| Where it usually breaks | Profile mismatch, expired certificate, failing plugin | Blocked UDP, wrong AllowedIPs, key not installed |
Trumpa konfigūracija nėra tas pats, kas paprastas diegimas. Davus vieną privatų raktą keliems žmonėms, vėlesnis pašalinimas tampa dviprasmiškas, nes jį atšaukus pašalinami visi iš karto. Prieš rinkdamiesi užsirašykite žmogaus ir rakto ar sertifikato atitikimą, ir sprendimas dėl protokolo taps daug lengvesnis.
Tada pažiūrėkite, ką leidžia transportas
WireGuard protokolas naudoja UDP. OpenVPN paslaugos gali siūlyti ir UDP, ir TCP profilius, o tinkle, kuris blokuoja arba blogina UDP, antras variantas yra praktinis atsarginis kelias, o ne teorinis. Serveris turi palaikyti pasirinktą profilį, o pakeitus prievado numerį tunelis netampa HTTPS ir ugniasienė neįtikėsite jo praleisti.
TCP pernešimas TCP viduje taip pat keičia elgseną esant nuostoliams, nes abu sluoksniai nepriklausomai kartoja ir pertvarko. TCP profilis, veikiantis ribojančiame tinkle, vis tiek gali blogai veikti tinkle su nuostoliais, ir tai priežastis laikyti abu profilius prieinamus, o ne paskelbti vieną pranašesnį.
Tada patikrinkite maršrutizavimą ir vardų skyrimą
WireGuard AllowedIPs susieja adresų diapazonus su partneriais ir veikia kaip maršrutizavimo sprendimas protokolo viduje, o aplinkiniai įrankiai naudoja tuos diapazonus diegdami maršrutus. OpenVPN stumia maršrutus ir DNS parinktis iš serverio. Abiem atvejais klientas gali pakilti, kol numatyta politika taikoma tik pusiau.
ip route show
ip -6 route show
resolvectl status
wg show
Perskaitykite išvestį prieš pasitikėdami prisijungimo indikatoriumi. ip route show išvardija, ką klientas įdiegė IPv4, o IPv6 variantas pagauna tunelį, kuris perneša tik vieną šeimą. resolvectl status parodo, kurio sprendėjo klientas iš tikrųjų klaus, o wg show išspausdina AllowedIPs, kuriuos WireGuard laiko savais. Jei sprendėjas vis dar rodo į vietinį tinklą, o maršrutai teigia visišką aprėptį, DNS išeina už tunelio.
Tada išmatuokite užduotį, kuri jums rūpi
Laikykite įrenginį, tinklą ir tikslą pastovius ir užsirašykite naudotus klientus bei galinius taškus. Jei dvi paslaugos išeina skirtinguose miestuose arba veikia skirtingoje aparatinėje įrangoje, pasakykite tai, nes tada rezultatas apibūdina tas paslaugas, o ne protokolus.
iperf3 -c 203.0.113.20 -t 30
mtr -rwzbc 50 203.0.113.20
Vykdykite abi komandas du kartus, po kartą kiekvienai profilių porai, tame pačiame tinkle ir tame pačiame įrenginyje. iperf3 pateikia pralaidumo skaičių, o mtr pateikia kelią ir kur atsiranda nuostoliai, ko vienas atsisiuntimo skaičius parodyti negali. Atsisiuntimo skaičius taip pat praleidžia tai, ką pastebi skambutis: pridėtą delsą, virpėjimą ir kiek trunka prisijungimas iš naujo. Užsirašykite juos atskirai, nes protokolas, laimintis pralaidumu, vis tiek gali pralaimėti užduotyje, kurią iš tikrųjų vykdote.
Valdomam ryšiui suderinamumas, palaikymas ir atnaujinimo pastangos gali nusverti nedidelį matavimo skirtumą. Asmeniniam išėjimui operatoriaus žurnalai ir jurisdikcija svarbesni už protokolo etiketę. Abu protokolai gali pernešti gerą ryšį; paslauga ir jos konfigūracija nulemia, ką gausite.
Užsirašykite profilių porą prieš testą
Prieš matuodami pasirinkite po vieną profilį kiekvienam protokolui ir užsirašykite, ką kiekvienas turi daryti: tik privatūs potinkliai, arba visas srautas su konkrečiu išėjimu. Testas, kuris lygina padalinto tunelio profilį su viso tunelio profiliu, matuoja profilius, o ne protokolus. Įrašykite kliento pavadinimą, kliento versiją ir išėjimo vietą į tą pačią pastabą.
Tada vykdykite tą pačią užduotį abiem, tame pačiame tinkle, toje pačioje sesijoje. Jei vienas visiškai negali prisijungti, ta nesėkmė yra rezultatas ir ji kartu su priežastimi priklauso įrašui. Laikykite įrašą su paslaugos dokumentacija, kad kitas žmogus palygintų tą pačią porą, o ne pradėtų iš naujo.