OpenVPN ili WireGuard? Odluka na osnovu identiteta i transporta
Ključevi, tokovi prijave i transport samo preko UDP-a oblikuju izbor mnogo prije propusnosti. Provedite četiri provjere i neka mjerenje bude pošteno.
Poređenje ova dva protokola korisno je samo ako poredi ono čime ćete zaista upravljati. WireGuard identifikuje partnere javnim ključem i prenosi svoj protokol preko UDP-a, dok OpenVPN nudi širi skup načina autentifikacije i može raditi preko UDP-a ili TCP-a kada server nudi oba. Te razlike oblikuju pripremu i rezervni put mnogo prije nego što oblikuju propusnost. Izvedite četiri provjere ispod po redu; prve dvije obično odlučuju izbor, a posljednje dvije govore je li odluka bila ispravna.
Počnite s identitetom, ne s listom šifri
WireGuard partner čuva jedan privatni ključ i navodi javne ključeve do kojih može doći. Pružalac usluga može oko toga omotati portal računa, ali sam protokol nema razmjenu korisničkog imena i lozinke, pa životni ciklus računa živi u onome što dijeli ključeve. OpenVPN može koristiti certifikate, dodatak prema postojećem direktoriju ili skriptu za provjeru, i zato ga organizacije sa sistemom identiteta često preferiraju. Nijedan dizajn ne uklanja pitanje kako se uklanja izgubljeni uređaj.
| 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 nije isto što i jednostavna priprema. Davanje jednog privatnog ključa većem broju ljudi kasnije uklanjanje čini dvosmislenim, jer opoziv uklanja sve odjednom. Zapišite mapiranje osobe na ključ ili certifikat prije izbora i odluka o protokolu postaje znatno lakša.
Zatim pogledajte šta transport dozvoljava
WireGuard protokol koristi UDP. OpenVPN usluge mogu nuditi i UDP i TCP profile, a na mreži koja blokira ili pogoršava UDP ta druga opcija je praktičan rezervni put, a ne teorijski. Server mora podržavati profil koji odaberete, a promjena broja porta ne pretvara tunel u HTTPS niti uvjerava firewall da ga propusti.
Prenošenje TCP-a unutar TCP-a takođe mijenja ponašanje pri gubicima, jer oba sloja nezavisno pokušavaju ponovo i preuređuju. TCP profil koji radi na restriktivnoj mreži može i dalje loše raditi na mreži s gubicima, i to je razlog da oba profila držite dostupnim umjesto da jedan proglasite boljim.
Zatim provjerite usmjeravanje i razrješavanje imena
AllowedIPs u WireGuardu preslikava raspone adresa na partnere i djeluje kao odluka o usmjeravanju unutar protokola, a okolni alati koriste te raspone kada instaliraju rute. OpenVPN gura rute i DNS opcije sa servera. U oba slučaja klijent može oživjeti dok je namjeravana politika primijenjena samo napola.
ip route show
ip -6 route show
resolvectl status
wg show
Pročitajte izlaz prije nego što povjerujete indikatoru povezanosti. ip route show navodi šta je klijent instalirao za IPv4, a IPv6 varijanta hvata tunel koji nosi samo jednu porodicu. resolvectl status pokazuje koji će razrješivač klijent zaista pitati, a wg show ispisuje AllowedIPs koje WireGuard smatra svojim. Ako razrješivač i dalje pokazuje na lokalnu mrežu dok rute tvrde punu pokrivenost, DNS izlazi izvan tunela.
Zatim izmjerite zadatak do kojeg vam je stalo
Držite uređaj, mrežu i odredište nepromijenjenim i zapišite klijente i krajnje tačke koje ste koristili. Ako dvije usluge izlaze u različitim gradovima ili rade na različitom hardveru, recite to, jer rezultat tada opisuje te usluge, a ne protokole.
iperf3 -c 203.0.113.20 -t 30
mtr -rwzbc 50 203.0.113.20
Pokrenite obje komande dvaput, po jednom za svaki par profila, na istoj mreži i uređaju. iperf3 daje brojku propusnosti, a mtr daje putanju i mjesto gdje se gubici pojavljuju, što jedna brojka preuzimanja ne može pokazati. Brojka preuzimanja propušta i ono što poziv primijeti: dodatnu latenciju, podrhtavanje i koliko traje ponovno povezivanje. Zapisujte to odvojeno, jer protokol koji pobjeđuje u propusnosti može ipak izgubiti u zadatku koji zaista izvodite.
Za upravljanu vezu kompatibilnost, podrška i trud oko obnavljanja mogu nadmašiti malu razliku u mjerenju. Za lični izlaz, evidentiranje i nadležnost operatera važniji su od oznake protokola. Oba protokola mogu nositi dobru vezu; usluga i njena konfiguracija odlučuju šta dobijate.
Zapišite par profila prije testiranja
Odaberite po jedan profil za svaki protokol prije mjerenja i zapišite šta svaki treba da radi: samo privatne podmreže ili sav saobraćaj s određenim izlazom. Test koji upoređuje profil podijeljenog tunela s profilom punog tunela mjeri profile, a ne protokole. Stavite ime klijenta, verziju klijenta i lokaciju izlaza u istu bilješku.
Zatim izvedite isti zadatak na oba, na istoj mreži, u istoj sesiji. Ako se jedan uopšte ne može povezati, taj neuspjeh je rezultat i pripada u zapis zajedno s razlogom. Čuvajte zapis uz dokumentaciju usluge da sljedeća osoba uporedi isti par umjesto da počne ispočetka.