OpenVPN ali WireGuard? Odločite se po identiteti in transportu
Ključi, prijavni tokovi in transport samo prek UDP oblikujejo izbiro veliko pred prepustnostjo. Izvedite štiri preverjanja in ohranite merjenje pošteno.
Primerjanje teh dveh protokolov je koristno le, če primerja tisto, kar boste v resnici upravljali. WireGuard prepozna partnerje po javnem ključu in prenaša svoj protokol prek UDP, medtem ko OpenVPN ponuja širši nabor načinov avtentikacije in lahko deluje prek UDP ali TCP, ko strežnik ponuja oboje. Te razlike oblikujejo namestitev in rezervno pot veliko prej, preden oblikujejo prepustnost. Izvedite štiri spodnja preverjanja po vrsti; prvi dve običajno odločita izbiro, zadnji dve pa povesta, ali je bila odločitev pravilna.
Začnite z identiteto, ne s seznamom šifer
Partner WireGuarda hrani en zasebni ključ in navaja javne ključe, do katerih lahko doseže. Ponudnik lahko okoli tega zavije portal računa, vendar sam protokol nima izmenjave uporabniškega imena in gesla, zato življenjski cikel računa živi v tem, kar razdeljuje ključe. OpenVPN lahko uporablja potrdila, vtičnik proti obstoječemu imeniku ali preveritveno skripto, zato ga organizacije s sistemom identitete pogosto raje izberejo. Nobena od obeh zasnov ne odpravi vprašanja, kako se odstrani izgubljena naprava.
| 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 |
Kratka konfiguracija ni isto kot preprosta namestitev. Če en zasebni ključ damo več ljudem, poznejša odstranitev postane dvoumna, ker njegov preklic odstrani vse hkrati. Pred izbiro zapišite preslikavo osebe na ključ ali potrdilo in odločitev o protokolu bo bistveno lažja.
Nato poglejte, kaj transport dovoljuje
Protokol WireGuard uporablja UDP. Storitve OpenVPN lahko ponujajo profile UDP in TCP, v omrežju, ki blokira ali poslabša UDP, pa je druga možnost praktična rezervna pot in ne teoretična. Strežnik mora podpirati izbrani profil, zamenjava številke vrat pa tunela ne spremeni v HTTPS in ne prepriča požarnega zidu, da bi ga spustil.
Prenašanje TCP znotraj TCP spremeni tudi vedenje pri izgubah, ker oba sloja neodvisno poskušata znova in preurejata. Profil TCP, ki deluje v restriktivnem omrežju, je lahko v omrežju z izgubami še vedno slab, in to je razlog, da ohranite oba profila na voljo, namesto da enega razglasite za boljšega.
Nato preverite usmerjanje in razreševanje imen
AllowedIPs v WireGuardu preslika naslovne razpone na partnerje in deluje kot odločitev o usmerjanju znotraj protokola, orodja okoli pa te razpone uporabljajo, ko nameščajo poti. OpenVPN potiska poti in možnosti DNS s strežnika. V obeh primerih lahko odjemalec vstane, medtem ko je predvidena politika uporabljena le na pol.
ip route show
ip -6 route show
resolvectl status
wg show
Preberite izhod, preden zaupate indikatorju povezanosti. ip route show navaja, kaj je odjemalec namestil za IPv4, različica IPv6 pa ujame tunel, ki prenaša le eno družino. resolvectl status pokaže, kateri razreševalnik bo odjemalec v resnici vprašal, wg show pa izpiše AllowedIPs, za katere WireGuard meni, da so njegove. Če razreševalnik še vedno kaže na lokalno omrežje, medtem ko poti trdijo, da je pokritost popolna, DNS zapusti tunel.
Nato izmerite opravilo, ki vam je pomembno
Držite napravo, omrežje in cilj nespremenjene ter zapišite uporabljene odjemalce in končne točke. Če dve storitvi izhajata v različnih mestih ali delujeta na različni strojni opremi, povejte to, ker rezultat takrat opisuje ti storitvi in ne protokolov.
iperf3 -c 203.0.113.20 -t 30
mtr -rwzbc 50 203.0.113.20
Zaženite oba ukaza dvakrat, enkrat za vsak par profilov, v istem omrežju in na isti napravi. iperf3 da številko prepustnosti, mtr pa pot in mesto, kjer se pojavijo izgube, česar ena številka prenosa ne more pokazati. Številka prenosa tudi zgreši, kar opazi klic: dodano zakasnitev, tresenje in koliko časa traja ponovna povezava. Zapišite jih ločeno, ker protokol, ki zmaga v prepustnosti, lahko še vedno izgubi pri opravilu, ki ga v resnici izvajate.
Pri upravljani povezavi lahko združljivost, podpora in trud za obnovitev odtehtajo majhno merilno razliko. Pri osebnem izhodu sta beleženje in sodna pristojnost operaterja pomembnejša od oznake protokola. Oba protokola lahko prenašata dobro povezavo; storitev in njena konfiguracija odločata, kaj dobite.
Zapišite par profilov pred testiranjem
Pred merjenjem izberite en profil na protokol in zapišite, kaj naj bi vsak počel: samo zasebna podomrežja ali ves promet z določenim izhodom. Test, ki primerja profil razdeljenega tunela s profilom polnega tunela, meri profile in ne protokolov. Vstavite ime odjemalca, različico odjemalca in lokacijo izhoda v isto opombo.
Nato zaženite isto opravilo na obeh, v istem omrežju, v isti seji. Če se eden sploh ne more povezati, je ta neuspeh rezultat in sodi v zapis skupaj z razlogom. Hranite zapis skupaj z dokumentacijo storitve, da bo naslednja oseba primerjala isti par, namesto da bi začela znova.