Compararea performanței instrumentelor de ocolire a blocurilor VPN

Pe măsură ce ni se interzice din ce în ce mai mult accesul la diverse resurse din rețea, problema ocolirii blocării devine din ce în ce mai presantă, ceea ce înseamnă că întrebarea „Cum să ocolim mai repede blocarea?” devine din ce în ce mai relevantă.

Să lăsăm subiectul eficienței în ceea ce privește ocolirea listelor albe DPI pentru un alt caz și să comparăm pur și simplu performanța instrumentelor populare de ocolire a blocurilor.

Atenție: vor fi multe poze sub spoiler în articol.

Disclaimer: acest articol compară performanța soluțiilor populare de proxy VPN în condiții apropiate de „ideale”. Rezultatele obţinute şi descrise aici nu coincid neapărat cu rezultatele dumneavoastră în câmpuri. Deoarece numărul din testul de viteză va depinde adesea nu de cât de puternic este instrumentul de ocolire, ci de modul în care furnizorul dvs. îl reglează.

metodologie

Au fost achiziționate 3 VPS de la un furnizor de cloud (DO) în diferite țări din întreaga lume. 2 în Olanda, 1 în Germania. Cel mai productiv VPS (după numărul de nuclee) a fost selectat dintre cele disponibile pentru contul în cadrul ofertei pentru credite cupon.

Un server privat iperf3 este implementat pe primul server olandez.

Pe al doilea server olandez, diferite servere de instrumente de ocolire a blocurilor sunt implementate unul câte unul.

O imagine desktop Linux (xubuntu) cu VNC și un desktop virtual este implementată pe VPS-ul german. Acest VPN este un client condiționat și diverși clienți proxy VPN sunt instalați și lansati pe el pe rând.

Măsurătorile vitezei sunt efectuate de trei ori, ne concentrăm pe medie, folosim 3 instrumente: în Chromium printr-un test de viteză web; în Chromium prin fast.com; din consolă prin iperf3 prin proxychains4 (unde trebuie să puneți trafic iperf3 în proxy).

O conexiune directă „client”-server iperf3 oferă o viteză de 2 Gbps în iperf3 și puțin mai puțin în fastspeedtest.

Un cititor curios se poate întreba: „De ce nu ai ales speedtest-cli?” si va avea dreptate.

Speedtest-cli s-a dovedit a fi nesigur și o modalitate inadecvată de a măsura debitul, din motive necunoscute de mine. Trei măsurători consecutive ar putea da trei rezultate complet diferite sau, de exemplu, ar putea arăta un debit mult mai mare decât viteza portului VPS-ului meu. Poate că problema este mâna mea bătută, dar părea imposibil să efectuez cercetări cu un astfel de instrument.

În ceea ce privește rezultatele pentru cele trei metode de măsurare (speedtest fastiperf), consider că indicatorii iperf sunt cei mai precisi și fiabili, iar fastspeedtest ca referință. Dar unele instrumente de bypass nu permiteau finalizarea a 3 măsurători prin iperf3 și în astfel de cazuri, vă puteți baza pe speedtestfast.

testul de viteză dă rezultate diferiteCompararea performanței instrumentelor de ocolire a blocurilor VPN

unelte

În total, au fost testate 24 de instrumente de bypass diferite sau combinațiile lor, pentru fiecare dintre ele voi da mici explicații și impresiile mele de a lucra cu ele. Dar, în esență, scopul a fost să compare vitezele shadowsocks (și o grămadă de diferiți obfuscatori pentru acesta) openVPN și wireguard.

În acest material, nu voi discuta în detaliu întrebarea „cum să ascundeți cel mai bine traficul pentru a nu fi deconectat”, deoarece ocolirea blocării este o măsură reactivă - ne adaptăm la ceea ce folosește cenzorul și acționăm pe această bază.

Constatări

Strongswanipsec

În impresiile mele, este foarte ușor de configurat și funcționează destul de stabil. Unul dintre avantaje este că este cu adevărat cross-platform, fără a fi nevoie să cauți clienți pentru fiecare platformă.

descărcare - 993 Mbits; încărcare - 770 MbitsCompararea performanței instrumentelor de ocolire a blocurilor VPN

tunel SSH

Probabil că doar leneșii nu au scris despre utilizarea SSH ca instrument de tunel. Unul dintre dezavantaje este „cârja” soluției, adică. implementarea acestuia de la un client convenabil și frumos pe fiecare platformă nu va funcționa. Avantajele sunt performanța bună, nu este nevoie să instalați absolut nimic pe server.

descărcare - 1270 Mbits; încărcare - 1140 MbitsCompararea performanței instrumentelor de ocolire a blocurilor VPN

OpenVPN

OpenVPN a fost testat în 4 moduri de operare: tcp, tcp+sslh, tcp+stunnel, udp.

Serverele OpenVPN au fost configurate automat prin instalarea streisand.

Din câte se poate aprecia, momentan doar modul stunnel este rezistent la DPI-uri avansate. Motivul creșterii anormale a debitului la împachetarea openVPN-tcp în stunnel nu este clar pentru mine, verificările au fost făcute în mai multe rulări, la momente diferite și în zile diferite, rezultatul a fost același. Poate că acest lucru se datorează setărilor stivei de rețea instalate la implementarea Streisand, scrieți dacă aveți idei de ce este așa.

openvpntcp: descărcare - 760 Mbits; încărcare - 659 MbitsCompararea performanței instrumentelor de ocolire a blocurilor VPN

openvpntcp+sslh: descărcare - 794 mbits; încărcare - 693 MbitsCompararea performanței instrumentelor de ocolire a blocurilor VPN

openvpntcp+stunnel: descărcare - 619 mbits; încărcare - 943 MbitsCompararea performanței instrumentelor de ocolire a blocurilor VPN

openvpnudp: descărcare - 756 Mbits; încărcare - 580 MbitsCompararea performanței instrumentelor de ocolire a blocurilor VPN

Openconnect

Nu este cel mai popular instrument pentru ocolirea blocajelor, este inclus în pachetul Streisand, așa că am decis să-l testăm și noi.

descărcare - 895 Mbits; încărcați 715 mbpsCompararea performanței instrumentelor de ocolire a blocurilor VPN

Garda de sârmă

Un instrument de hype care este popular în rândul utilizatorilor occidentali, dezvoltatorii protocolului au primit chiar și niște granturi pentru dezvoltare din fonduri de apărare. Funcționează ca un modul kernel Linux prin UDP. Recent, au apărut clienții pentru windowsios.

A fost conceput de către creator ca o modalitate simplă și rapidă de a viziona Netflix atunci când nu se află în state.

De aici argumentele pro și contra. Pro: protocol foarte rapid, relativ ușurință de instalare și configurare. Dezavantaje - dezvoltatorul nu l-a creat inițial cu scopul de a ocoli blocajele grave și, prin urmare, wargard este ușor de detectat de cele mai simple instrumente, inclusiv. wireshark.

protocol wireguard în wiresharkCompararea performanței instrumentelor de ocolire a blocurilor VPN
descărcare - 1681 Mbits; încărcați 1638 mbpsCompararea performanței instrumentelor de ocolire a blocurilor VPN

Interesant este că protocolul warguard este folosit în clientul tunsafe terță parte, care, atunci când este folosit cu același server warguard, dă rezultate mult mai rele. Este probabil ca clientul Windows Wargard să arate aceleași rezultate:

tunsafeclient: descărcare - 1007 Mbits; încărcare - 1366 MbitsCompararea performanței instrumentelor de ocolire a blocurilor VPN

OutlineVPN

Outline este o implementare a unui server și client Shadowox cu o interfață de utilizator frumoasă și convenabilă din puzzle-ul Google. În Windows, clientul Outline este pur și simplu un set de pachete pentru binarele shadowsocks-local (client Shadowsocks-libev) și badvpn (binarul tun2socks care direcționează tot traficul mașinii către un proxy local de șosete).

Shadowsox a fost cândva rezistent la Marele Firewall al Chinei, dar pe baza recenziilor recente, acesta nu mai este cazul. Spre deosebire de ShadowSox, din cutie nu acceptă conectarea ofuscarii prin pluginuri, dar acest lucru se poate face manual prin modificarea serverului și clientului.

descărcare - 939 Mbits; încărcare - 930 MbitsCompararea performanței instrumentelor de ocolire a blocurilor VPN

ShadowsocksR

ShadowsocksR este o furcă a originalului Shadowsocks, scris în Python. În esență, este o cutie umbră la care sunt fixate strâns mai multe metode de ofuscare a traficului.

Există furci de ssR la libev și altceva. Debitul scăzut se datorează probabil limbajului codului. Shadowsoxul original pe python nu este mult mai rapid.

shadowsocksR: descărcare 582 mbits; încărcați 541 Mbits.Compararea performanței instrumentelor de ocolire a blocurilor VPN

Shadowsocks

Un instrument chinezesc de ocolire a blocurilor care randomizează traficul și interferează cu analiza automată în alte moduri minunate. Până de curând, GFW nu a fost blocat; se spune că acum este blocat doar dacă releul UDP este pornit.

Cross-platform (există clienți pentru orice platformă), suportă lucrul cu PT asemănător cu obfuscatoarele lui Thor, există mai multe obfuscatoare proprii sau adaptate acestuia, rapid.

Există o mulțime de implementări ale clienților și serverelor shadowox, în diferite limbi. În testare, shadowsocks-libev a acționat ca un server, diferiți clienți. Cel mai rapid client Linux s-a dovedit a fi shadowsocks2 on go, distribuit ca client implicit în streisand, nu pot spune cât de productiv este shadowsocks-windows. În majoritatea testelor ulterioare, shadowsocks2 a fost folosit ca client. Capturile de ecran care testează shadowsocks-libev pur nu au fost făcute din cauza întârzierii evidente a acestei implementări.

shadowsocks2: descărcare - 1876 mbits; încărcare - 1981 Mbits.Compararea performanței instrumentelor de ocolire a blocurilor VPN

shadowsocks-rugina: descărcare - 1605 mbits; încărcare - 1895 Mbits.Compararea performanței instrumentelor de ocolire a blocurilor VPN

Shadowsocks-libev: descărcare - 1584 mbits; încărcare - 1265 Mbits.

Simplu-obfs

Pluginul pentru shadowsox este acum în starea „depreciat”, dar încă funcționează (deși nu întotdeauna bine). În mare parte înlocuit de pluginul v2ray. Obscurcă traficul fie sub un websocket HTTP (și vă permite să falsificați antetul destinației, pretinzând că nu veți urmări un pornhub, ci, de exemplu, site-ul web al Constituției Federației Ruse) sau sub pseudo-tls (pseudo). , deoarece nu utilizează niciun certificat, cele mai simple DPI, cum ar fi nDPI gratuit, sunt detectate ca „tls no cert.” În modul tls, nu mai este posibilă falsificarea antetelor).

Destul de rapid, instalat din repo cu o singură comandă, configurat foarte simplu, are o funcție de failover încorporată (atunci când traficul de la un client non-simple-obfs ajunge pe portul pe care îl ascultă simple-obfs, îl redirecționează la adresa unde specificați în setări - așa. În acest fel, puteți evita verificarea manuală a portului 80, de exemplu, prin simpla redirecționare către un site web cu http, precum și blocarea prin sonde de conexiune).

shadowsockss-obfs-tls: descărcare - 1618 mbits; Încărcați 1971 Mbits.Compararea performanței instrumentelor de ocolire a blocurilor VPN

shadowsockss-obfs-http: descărcare - 1582 mbits; încărcare - 1965 Mbits.Compararea performanței instrumentelor de ocolire a blocurilor VPN

Simple-obfs în modul HTTP pot funcționa și printr-un proxy invers CDN (de exemplu, cloudflare), astfel încât pentru furnizorul nostru, traficul va arăta ca trafic HTTP-plaintext către cloudflare, acest lucru ne permite să ne ascundem tunelul puțin mai bine și la separă în același timp punctul de intrare și ieșirea din trafic - furnizorul vede că traficul tău se îndreaptă către adresa IP CDN, iar like-urile extremiste pe poze sunt plasate în acest moment de la adresa IP VPS. Trebuie spus că este s-obfs prin CF care funcționează ambiguu, periodic nedeschizând unele resurse HTTP, de exemplu. Deci, nu a fost posibil să se testeze încărcarea folosind iperf prin shadowsockss-obfs+CF, dar judecând după rezultatele testului de viteză, debitul este la nivelul shadowsocksv2ray-plugin-tls+CF. Nu atașez capturi de ecran de la iperf3, pentru că... Nu ar trebui să te bazezi pe ei.

descărcare (test de viteză) - 887; încărcare (test de viteză) - 1154.Compararea performanței instrumentelor de ocolire a blocurilor VPN

Descărcare (iperf3) - 1625; upload (iperf3) - NA.

v2ray-plugin

V2ray-plugin a înlocuit obfs-urile simple ca obfuscator „oficial” principal pentru ss libs. Spre deosebire de obfs simple, nu este încă în depozite și trebuie fie să descărcați un binar pre-asamblat, fie să îl compilați singur.

Suportă 3 moduri de operare: implicit, HTTP websocket (cu suport pentru spoofing antete ale gazdei de destinație); tls-websocket (spre deosebire de s-obfs, acesta este trafic tls cu drepturi depline, care este recunoscut de orice server web proxy invers și, de exemplu, vă permite să configurați terminarea tls pe serverele cloudfler sau în nginx); quic - funcționează prin udp, dar, din păcate, performanța lui quic în v2rey este foarte scăzută.

Printre avantaje față de obfs simple: pluginul v2ray funcționează fără probleme prin CF în modul HTTP-websocket cu orice trafic, în modul TLS este trafic TLS cu drepturi depline, necesită certificate pentru funcționare (de exemplu, de la Let's encrypt sau self -semnat).

shadowsocksv2ray-plugin-http: descărcare - 1404 Mbits; încărcați 1938 Mbits.Compararea performanței instrumentelor de ocolire a blocurilor VPN

shadowsocksv2ray-plugin-tls: descărcare - 1214 mbits; încărcați 1898 Mbits.Compararea performanței instrumentelor de ocolire a blocurilor VPN

shadowsocksv2ray-plugin-quic: descărcare - 183 Mbits; încărcați 384 Mbits.Compararea performanței instrumentelor de ocolire a blocurilor VPN

După cum am spus deja, v2ray poate seta anteturi și, astfel, puteți lucra cu el printr-un CDN proxy invers (cloudfler, de exemplu). Pe de o parte, acest lucru complică detectarea tunelului, pe de altă parte, poate crește ușor (și uneori reduce) decalajul - totul depinde de locația dvs. și a serverelor. CF testează în prezent funcționarea cu quic, dar acest mod nu este încă disponibil (cel puțin pentru conturile gratuite).

shadowsocksv2ray-plugin-http+CF: descărcare - 1284 Mbits; încărcați 1785 Mbits.Compararea performanței instrumentelor de ocolire a blocurilor VPN

shadowsocksv2ray-plugin-tls+CF: descărcare - 1261 mbits; încărcați 1881 Mbits.Compararea performanței instrumentelor de ocolire a blocurilor VPN

Mantie

Shred este rezultatul dezvoltării ulterioare a obfuscatorului GoQuiet. Simulează traficul TLS și funcționează prin TCP. În acest moment, autorul a lansat a doua versiune a pluginului, cloak-2, care este semnificativ diferită de mantia originală.

Potrivit dezvoltatorului, prima versiune a pluginului a folosit mecanismul de reluare a sesiunii tls 1.2 pentru a falsifica adresa de destinație pentru tls. După lansarea noii versiuni (ceasul-2), toate paginile wiki de pe Github care descriu acest mecanism au fost șterse; nu există nicio mențiune despre acest lucru în descrierea actuală a criptării de ofuscare. Conform descrierii autorului, prima versiune a fragmentului nu este utilizată din cauza prezenței „vulnerabilităților critice în cripto”. La momentul testelor, exista doar prima versiune a mantiei, binarele sale sunt încă pe Github și, pe lângă orice altceva, vulnerabilitățile critice nu sunt foarte importante, deoarece shadowsox criptează traficul în același mod ca și fără mantie, iar cloac nu are niciun efect asupra cripto-ului lui shadowsox.

shadowsockscloak: descărcare - 1533; încărcare - 1970 MbitsCompararea performanței instrumentelor de ocolire a blocurilor VPN

Kcptun

folosește kcptun ca transport Protocolul KCP iar în unele cazuri speciale permite obținerea unui debit crescut. Din păcate (sau din fericire), acest lucru este în mare măsură relevant pentru utilizatorii din China, unii dintre ai căror operatori de telefonie mobilă accelerează puternic TCP și nu ating UDP.

Kcptun este al naibii de foame de putere și încarcă cu ușurință 100 nuclee Zion la 4% atunci când este testat de un client. În plus, pluginul este „lent”, iar când lucrează prin iperf1 nu finalizează testele până la capăt. Să aruncăm o privire la testul de viteză din browser.

shadowsockskcptun: descărcare (test de viteză) - 546 mbits; încărcare (test de viteză) 854 mbits.Compararea performanței instrumentelor de ocolire a blocurilor VPN

Concluzie

Aveți nevoie de un VPN simplu și rapid pentru a opri traficul de pe întreaga mașină? Atunci alegerea ta este garda de război. Doriți proxy (pentru tunelarea selectivă sau separarea fluxurilor de persoane virtuale) sau este mai important pentru dvs. să obturați traficul de la blocarea serioasă? Apoi uitați-vă la shadowbox cu tlshttp obfuscation. Vrei să fii sigur că Internetul tău va funcționa atâta timp cât Internetul funcționează deloc? Alegeți să proxy traficul prin CDN-uri importante, blocare care va duce la eșecul a jumătate din Internetul din țară.

Tabel pivot, sortat după descărcareCompararea performanței instrumentelor de ocolire a blocurilor VPN

Sursa: www.habr.com

Adauga un comentariu