OpenVPN alebo WireGuard? Rozhodnite podľa identity a transportu
Kľúče, prihlasovacie postupy a transport iba cez UDP formujú voľbu dávno pred priepustnosťou. Urobte štyri kontroly a udržte meranie čestné.
Porovnávať tieto dva protokoly má zmysel len vtedy, keď porovnáva to, čo budete skutočne prevádzkovať. WireGuard identifikuje partnerov verejným kľúčom a prenáša svoj protokol cez UDP, zatiaľ čo OpenVPN ponúka širší súbor spôsobov autentifikácie a dokáže bežať cez UDP aj TCP, keď server ponúka oboje. Tieto rozdiely formujú nasadenie a záložnú cestu dávno predtým, než formujú priepustnosť. Urobte štyri nižšie uvedené kontroly v poradí; prvé dve zvyčajne rozhodnú voľbu a posledné dve povedia, či bolo rozhodnutie správne.
Začnite identitou, nie zoznamom šifier
Partner WireGuardu ukladá jeden súkromný kľúč a vymenúva verejné kľúče, ku ktorým sa dokáže dostať. Poskytovateľ môže okolo toho obaliť portál účtu, ale samotný protokol nemá výmenu používateľského mena a hesla, takže životný cyklus účtu žije v tom, čo distribuuje kľúče. OpenVPN môže používať certifikáty, plugin proti existujúcemu adresáru alebo overovací skript, a preto ho organizácie so systémom identity často uprednostňujú. Ani jeden z návrhov neodstraňuje otázku, ako sa odstráni stratené zariadenie.
| 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 |
Krátka konfigurácia nie je to isté ako jednoduché nasadenie. Odovzdanie jedného súkromného kľúča viacerým ľuďom robí neskoršie odstránenie nejednoznačným, pretože jeho odvolanie odstráni všetkých naraz. Zapíšte mapovanie osoby na kľúč alebo certifikát pred voľbou a rozhodnutie o protokole bude podstatne ľahšie.
Potom sa pozrite, čo transport dovoľuje
Protokol WireGuard používa UDP. Služby OpenVPN môžu ponúkať profily UDP aj TCP a v sieti, ktorá UDP blokuje alebo zhoršuje, je druhá možnosť praktickou záložnou cestou, nie teoretickou. Server musí podporovať vybraný profil a zmena čísla portu nepremení tunel na HTTPS ani nepresvedčí firewall, aby ho povolil.
Prenášanie TCP v TCP tiež mení správanie pri stratách, pretože obe vrstvy nezávisle opakujú pokusy a preusporadúvajú. Profil TCP, ktorý funguje v reštriktívnej sieti, môže v sieti so stratami stále podávať slabé výsledky, a to je dôvod držať oba profily dostupné namiesto vyhlásenia jedného za lepší.
Potom skontrolujte smerovanie a preklad mien
AllowedIPs vo WireGuarde mapuje rozsahy adries na partnerov a pôsobí ako rozhodnutie o smerovaní vnútri protokolu, a okolité nástroje tieto rozsahy používajú, keď inštalujú trasy. OpenVPN tlačí trasy a možnosti DNS zo servera. V oboch prípadoch môže klient nabehnúť, zatiaľ čo zamýšľaná politika je aplikovaná len spolovice.
ip route show
ip -6 route show
resolvectl status
wg show
Prečítajte si výstup, než uveríte indikátoru pripojenia. ip route show vymenúva, čo klient nainštaloval pre IPv4, a variant IPv6 zachytí tunel, ktorý nesie len jednu rodinu. resolvectl status ukazuje, ktorý resolver sa klient skutočne opýta, a wg show vypisuje AllowedIPs, o ktorých sa WireGuard domnieva, že ich vlastní. Ak resolver stále ukazuje na lokálnu sieť, zatiaľ čo trasy tvrdia plné pokrytie, DNS vychádza mimo tunela.
Potom zmerajte úlohu, na ktorej vám záleží
Držte zariadenie, sieť a cieľ bez zmien a zapíšte klientov a koncové body, ktoré ste použili. Ak obe služby vychádzajú v rôznych mestách alebo bežia na inom hardvéri, povedzte to, pretože výsledok potom opisuje tieto služby, a nie protokoly.
iperf3 -c 203.0.113.20 -t 30
mtr -rwzbc 50 203.0.113.20
Spustite oba príkazy dvakrát, raz pre každú dvojicu profilov, v tej istej sieti a na tom istom zariadení. iperf3 dáva číslo priepustnosti a mtr dáva cestu a miesto, kde sa objavujú straty, čo jedno číslo sťahovania nedokáže ukázať. Číslo sťahovania tiež pomíja to, čo postrehne hovor: pridanú latenciu, kolísanie a ako dlho trvá opätovné pripojenie. Zapisujte ich oddelene, pretože protokol, ktorý vyhráva v priepustnosti, môže stále prehrať v úlohe, ktorú skutočne prevádzkujete.
Pri spravovanom pripojení môžu kompatibilita, podpora a úsilie o obnovu prevážiť malý rozdiel v meraní. Pri osobnom výstupe záleží na protokolovaní a jurisdikcii prevádzkovateľa viac než na označení protokolu. Oba protokoly dokážu prenášať dobré pripojenie; služba a jej konfigurácia rozhodujú, čo dostanete.
Zapíšte dvojicu profilov pred testom
Pred meraním vyberte jeden profil na protokol a zapíšte, čo má každý robiť: len súkromné podsiete alebo všetku premávku s konkrétnym výstupom. Test, ktorý porovnáva profil rozdeleného tunela s profilom plného tunela, meria profily, nie protokoly. Dajte názov klienta, verziu klienta a umiestnenie výstupu do tej istej poznámky.
Potom spustite tú istú úlohu na oboch, v tej istej sieti, v tej istej relácii. Ak sa jeden vôbec nedokáže pripojiť, to zlyhanie je výsledok a patrí do záznamu spolu s dôvodom. Uchovávajte záznam s dokumentáciou služby, aby ďalší človek porovnal tú istú dvojicu, namiesto aby začínal odznova.