Compararea performanței instrumentelor de o ocolire a blocărilor VPN

Pe măsură ce accesul la diverse resurse online este tot mai mult restricționat, întrebarea despre cum să ocolim blocajele devine din ce în ce mai relevantă, iar, prin urmare, întrebarea „Cum să ocolim blocajele mai rapid?” devine tot mai actuală.

Vom lăsa deoparte tema eficienței, din perspectiva ocolirii listei albe și a listei negre, pentru o altă discuție și vom compara pur și simplu performanța celor mai populare instrumente de ocolire a blocajelor.

Atenție: În articol, sub spoilere, vor fi multe imagini.

Declinarea: acest articol compară performanța soluțiilor populare VPN și proxy, în condiții apropiate de „ideale”. Rezultatele obținute și descrise aici nu trebuie neapărat să coincidă cu rezultatele tale în teren. Deoarece cifra din speedtest adesea va depinde nu de cât de performant este instrumentul de ocolire, ci de modul în care providerul tău îl limitează QoS sau îl blochează.

Metodologia

La furnizorul în cloud (DO) au fost achiziționate 3 VPS-uri în diferite țări ale lumii. 2 în Olanda, 1 în Germania. Au fost alese cele mai performante VPS-uri (în funcție de numărul de nuclee) disponibile pentru cont în oferta pentru credite cu reducere.

Pe primul server olandez a fost desfășurat un server privat iperf3.

Pe al doilea server olandez sunt desfășurate, pe rând, diverse servere pentru instrumentele de ocolire a blocajelor.

Pe VPS-ul din Germania a fost desfășurat un sistem de operare desktop Linux (Xubuntu) cu VNC și un desktop virtual. Acest VPS este un client ipotetic, iar pe el sunt instalate și lansate diferite clienți de proxy VPN.

Măsurătorile de viteză se fac de trei ori, orientându-ne pe media, folosind 3 instrumente: în Chromium prin web-speedtest; în Chromium prin fast.com; din consolă prin iperf3 prin proxy chains4 (în acele locuri unde este necesar să direcționăm traficul iperf3 prin proxy).

Conexiunea directă „client”-server iperf3 oferă o viteză de 2 Gbps, în iperf3, și un pic mai puțin în fast speedtest.

Cititorul curios poate întreba, „de ce nu ai ales speedtest-cli?” și va avea dreptate.

Speedtest-ul s-a dovedit a fi un mod nesigur și inadecvat de a măsura lățimea de bandă, din motive pe care nu le înțeleg. Trei măsurători consecutive au putut oferi trei rezultate complet diferite sau, de exemplu, să arate o lățime de bandă mult mai mare decât viteza porturilor pe VPS-urile mele. Poate că problema se află în nepriceperea mea, dar mi-a părut imposibil să fac cercetări cu un astfel de instrument.

În ceea ce privește rezultatele celor trei metode de măsurare (speedtest, fast, iperf), consider că indicatorii iperf sunt cei mai preciși, fiabili și credibili, în timp ce fast speedtest oferă doar valori de referință. Dar unele instrumente de tunelare nu au permis finalizarea a trei măsurători prin iperf3 și, în astfel de cazuri, se poate lua în considerare fast speedtest.

speedtest-ul oferă rezultate diferiteCompararea performanței instrumentelor de o ocolire a blocărilor VPN

Instrumentar

Au fost testate 24 de instrumente de tunelare diferite și/sau combinații ale acestora, pentru fiecare dintre ele voi oferi câteva explicații și impresiile mele despre lucrul cu ele. Dar, în esență, scopul a fost de a compara vitezele shadowsocks (și o mulțime de diferite obfuscatoare pentru el) openVPN și wireguard.

În acest material nu voi aborda în detaliu întrebarea 'cum să ascundem cel mai bine traficul pentru a nu fi deconectat', deoarece ocolirea blocărilor este o măsură reactivă - ne adaptăm la ce folosește cenzorul și acționăm pe baza acesteia.

Rezultate

Strongswan ipsec

Din impresiile mele - foarte ușor de configurat, funcționează destul de stabil. Ca avantaje - cu adevărat multiplatformă, fără a fi nevoie să căutăm clienți pentru fiecare platformă.

download - 993 mbits; upload - 770 mbitsCompararea performanței instrumentelor de o ocolire a blocărilor VPN

tunel SSH

Despre utilizarea SSH ca instrument de tunelare nu a scris probabil decât cel leneș. Ca dezavantaje - 'soluția improvizată', adică nu poți să o desfășori dintr-un client convenabil și frumos pe fiecare platformă. Avantajele - performanță bună, nu este necesar să instalezi nimic pe server.

download - 1270 mbits; upload - 1140 mbitsCompararea performanței instrumentelor de o ocolire a blocărilor VPN

OpenVPN

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

Serverele OpenVPN au fost configurate automat, cu instalarea streisand.

După cum se poate judeca, în prezent, doar modul de funcționare prin stunnel este rezistent la DPI avansat. Motivul creșterii anormale a lățimii de bandă atunci când se rulează openVPN-tcp în stunnel nu îmi este clar, testele au fost efectuate în mai multe rânduri, la momente diferite și în zile diferite, rezultatul a fost același. Poate că aceasta este legată de setările stivei de rețea stabilite la desfășurarea Streisand, scrieți dacă aveți idei despre motivul pentru care este așa.

openvpntcp: descărcare — 760 mbits; încărcare — 659 mbitsCompararea performanței instrumentelor de o ocolire a blocărilor VPN

openvpntcp+sslh: descărcare — 794 mbits; încărcare — 693 mbitsCompararea performanței instrumentelor de o ocolire a blocărilor VPN

openvpntcp+stunnel: descărcare — 619 mbits; încărcare — 943 mbitsCompararea performanței instrumentelor de o ocolire a blocărilor VPN

openvpnudp: descărcare — 756 mbits; încărcare — 580 mbitsCompararea performanței instrumentelor de o ocolire a blocărilor VPN

Openconnect

Nu este cea mai populară unealtă de o ocolire a blocărilor, face parte din pachetul Streisand, așa că s-a decis să fie testată și aceasta.

descărcare — 895 mbits; încărcare 715 mbitsCompararea performanței instrumentelor de o ocolire a blocărilor VPN

Wireguard

Unealtă populară, utilizată de utilizatorii occidentali, dezvoltatorii protocolului au primit chiar niște granturi pentru dezvoltare din fonduri de protecție. Funcționează ca un modul în kernelul Linux, prin UDP. Recent au apărut clienți pentru Windows/iOS.

A fost gândit de creator ca o modalitate simplă și rapidă de a viziona Netflix din afara Statelor Unite.

De aici rezultă avantajele și dezavantajele. Avantajele — un protocol foarte rapid, relativ simplu de instalat/setat. Dezavantajele — dezvoltatorul nu l-a creat inițial cu scopul de a ocoli blocaje serioase, astfel că WireGuard poate fi detectat ușor de către cele mai simple instrumente, inclusiv Wireshark.

protocolul WireGuard în WiresharkCompararea performanței instrumentelor de o ocolire a blocărilor VPN
descărcare — 1681 mbits; încărcare 1638 mbitsCompararea performanței instrumentelor de o ocolire a blocărilor VPN

Ce este interesant, protocolul WireGuard este utilizat în clientul terț tunsafe, care, atunci când este folosit cu același server WireGuard, oferă rezultate mult mai slabe. Este foarte probabil ca clientul WireGuard pentru Windows să prezinte rezultate similare:

tunsafeclient: descărcare — 1007 mbits; încărcare — 1366 mbitsCompararea performanței instrumentelor de o ocolire a blocărilor VPN

OutlineVPN

Outline este o implementare a serverului și clientului Shadowsocks cu o interfață grafică frumoasă și confortabilă de la Jigsaw de la Google. În Windows, clientul Outline constă pur și simplu într-un set de wrapper-e pentru binarele shadowsocks-local (clientul shadowsocks-libev) și badvpn (binarul tun2socks, care redirecționează tot traficul mașinii într-un proxy socks local).

Cândva, Shadowsocks a fost rezistent la marele firewall chinezesc, dar din ultimele recenzii, acum nu mai este așa. Spre deosebire de Shadowsocks, „din cutie” nu suportă conectare cu obfuscare prin pluginuri, dar acest lucru se poate face manual, jucându-se cu serverul și clientul.

descarcă — 939 mbits; încarcă — 930 mbitsCompararea performanței instrumentelor de o ocolire a blocărilor VPN

ShadowsocksR

ShadowsocksR este un fork al originalului Shadowsocks, scris în Python. Practic, reprezintă un Shadowsocks la care au fost atașate câteva metode de obfuscare a traficului.

Există forks ssR pe libev și alte platforme. Lățimea de bandă scăzută este probabil datorată codului. Originalul Shadowsocks în Python nu este semnificativ mai rapid.

shadowsocksR: descărcare 582 mbits; încărcare 541 mbits.Compararea performanței instrumentelor de o ocolire a blocărilor VPN

Shadowsocks

Un instrument chinezesc pentru ocolirea blocajelor, care randomizează traficul și prin alte metode minunate împiedică analiza automată. Până de curând, GFW nu blocase acest serviciu, spun că acum este blocat, doar dacă se activează UDP relay.

Cross-platform (există clienți pentru orice platformă), suportă lucrul cu PT de tip obfuscatorilor Tor, există câteva obfuscatoare proprii sau adaptate, rapide.

Există o mulțime de implementări ale clienților și serverelor Shadowsocks, în diferite limbi. În testare, serverul a fost shadowsocks-libev, iar clienții au fost diferiți. Cel mai rapid client Linux s-a dovedit a fi shadowsocks2 pe Go, distribuit ca client default în Streisand, cât de mai performant este shadowsocks-windows nu pot spune. În majoritatea testelor ulterioare, s-a folosit tocmai shadowsocks2 ca și client. Capturile cu testarea pură a shadowsocks-libev nu au fost realizate, din cauza evidentului dezavantaj al acestei implementări.

shadowsocks2: descărcare — 1876 mbits; încărcare — 1981 mbits.Compararea performanței instrumentelor de o ocolire a blocărilor VPN

shadowsocks-rust: descărcare — 1605 mbits; încărcare — 1895 mbits.Compararea performanței instrumentelor de o ocolire a blocărilor VPN

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

Simple-obfs

Plugin pentru Shadowsocks, în prezent în statut de "depreciat", dar încă funcționează (deși nu întotdeauna bine). A fost în mare parte înlocuit de pluginul v2ray-plugin. Obfuscă traficul fie sub http-websocket (permițând să falsifice headerul gazduirii de destinație, făcând să pară că vizionezi nu pornhub, ci, de exemplu, site-ul constituției RF), fie sub pseudo-tls (pseudo, deoarece nu folosește certificate, cele mai simple DPI precum nDPI detectează ca "tls fără certificat". În modul tls, falsificarea headerelor nu mai este posibilă).

Rapid, easy to install from the repository with one command, very simple to configure, has a built-in failover function (when traffic from a non-simple-obfs client comes to the port that simple-obfs listens to, it forwards it to the address you specify in the settings — thus eliminating the need for manual checking of port 80, for example, simply by redirecting to a website via http, as well as blocking through connection probes).

shadowsockss-obfs-tls: download — 1618 mbits; upload 1971 mbits.Compararea performanței instrumentelor de o ocolire a blocărilor VPN

shadowsockss-obfs-http: download — 1582 mbits; upload — 1965 mbits.Compararea performanței instrumentelor de o ocolire a blocărilor VPN

Simple-obfs in http mode can also work through a CDN reverse proxy (for example, Cloudflare), thus for our provider, the traffic will appear as http plaintext traffic to Cloudflare, which helps to better hide our tunnel and, at the same time, separate the traffic entry and exit points — the provider sees that your traffic is going towards adresa IP CDN, while extremist likes on pictures are given at that moment from the VPS's IP address. It should be noted that specifically s-obfs through CF works ambiguously, periodically not opening some http resources, for example. Thus, testing upload using iperf through shadowsockss-obfs+CF was unsuccessful, but judging by the speed test results, the bandwidth is at the level of shadowsocksv2ray-plugin-tls+CF. I do not attach screenshots from iperf3, as they are not reliable.

download (speedtest) — 887; upload (speedtest) — 1154.Compararea performanței instrumentelor de o ocolire a blocărilor VPN

Download (iperf3) — 1625; upload (iperf3) — NA.

v2ray-plugin

The V2ray-plugin has replaced simple-obfs as the main 'official' obfuscator for ss-libev. Unlike simple-obfs, it is not yet available in repositories, and you need to either download a pre-built binary or compile it yourself.

Supports 3 operating modes: default, http-websocket (with support for spoofing destination host headers); tls-websocket (unlike s-obfs, this is full-fledged tls traffic, recognized by any web server reverse proxy, and allows you to set up tls termination on Cloudflare servers or in nginx); quic — works over udp, but unfortunately the performance of quic in v2ray is very low.

Advantages compared to simple-obfs: the v2ray plugin works seamlessly through CF in http-websocket mode with any traffic, in tls mode it represents full-fledged tls traffic, requiring certificates to operate (for example, from let's encrypt or self-signed).

shadowsocksv2ray-plugin-http: descărcare — 1404 mbits; încărcare 1938 mbits.Compararea performanței instrumentelor de o ocolire a blocărilor VPN

shadowsocksv2ray-plugin-tls: descărcare — 1214 mbits; încărcare 1898 mbits.Compararea performanței instrumentelor de o ocolire a blocărilor VPN

shadowsocksv2ray-plugin-quic: descărcare — 183 mbits; încărcare 384 mbits.Compararea performanței instrumentelor de o ocolire a blocărilor VPN

Așa cum am menționat, v2ray poate seta antete, astfel încât să poată fi utilizat prin intermediul unui reverse proxy CDN (de exemplu, Cloudflare). Pe de o parte, acest lucru complică descoperirea tunelului, iar pe de altă parte — poate crește (de obicei) latența — totul depinde de locația dumneavoastră și a serverelor. În prezent, CF testează funcționarea cu quic, dar deocamdată acest mod nu este disponibil (cel puțin pentru conturile gratuite).

shadowsocksv2ray-plugin-http+CF: descărcare — 1284 mbits; încărcare 1785 mbits.Compararea performanței instrumentelor de o ocolire a blocărilor VPN

shadowsocksv2ray-plugin-tls+CF: descărcare — 1261 mbits; încărcare 1881 mbits.Compararea performanței instrumentelor de o ocolire a blocărilor VPN

Cloak

Cloak este rezultatul dezvoltării ulterioare a obfuscatorului GoQuiet. Simulează traficul TLS, funcționând astfel prin TCP. În prezent, autorul a lansat a doua versiune a pluginului, cloak-2, care diferă semnificativ de cloak-ul original.

Conform informațiilor furnizate de dezvoltator, prima versiune a pluginului utiliza mecanismul tls 1.2 resume session pentru a falsifica adresa de destinație pentru tls. După lansarea noii versiuni (cloak-2), toate paginile wiki de pe GitHub care descriau acest mecanism au fost eliminate, iar în prezentul descriptiv nu există mențiuni despre acesta. Conform autorului, prima versiune a cloak nu este utilizată din cauza "vulnerabilităților critice în criptografie". În momentul testării, existau doar prima versiune a cloak-ului, binarele fiind încă disponibile pe GitHub, iar în plus, vulnerabilitățile critice nu sunt foarte importante, deoarece shadowsocks criptează la fel de bine traficul, cu sau fără cloak, iar impactul cloak-ului asupra criptografiei shadowsocks este minim.

shadowsockscloak: descărcare — 1533; încărcare — 1970 mbits.Compararea performanței instrumentelor de o ocolire a blocărilor VPN

Kcptun

kcptun folosește ca transport protocolul KCP și în anumite cazuri speciale permite îmbunătățirea lățimii de bandă. Din păcate (sau din fericire) acest lucru este în mare parte relevant pentru utilizatorii din China continentală, la care unii operatori de telefonie mobilă limitează intens TCP și nu afectează UDP.

Kcptun este extrem de consumator de resurse, încărcând 100% din 4 nuclee de procesare în timpul testării cu un singur client. De asemenea, pluginul este "lent" și, de asemenea, în timpul funcționării prin iperf3 nu finalizează testele. Ne orientăm după speedtest-ul din browser.

shadowsockskcptun: descărcare (speedtest) — 546 mbits; încărcare (speedtest) 854 mbits.Compararea performanței instrumentelor de o ocolire a blocărilor VPN

Concluzie

Ai nevoie de un VPN simplu și rapid pentru a ascunde traficul întregii mașini? Atunci alegerea ta este Vaergard. Vrei să folosești proxy-uri (pentru tunelare selectivă sau partajarea fluxurilor virtuale) sau te interesează mai mult să obfusci traficul pentru a evita blocajele severe? Atunci aruncă o privire la Shadowsocks cu obfuscare TLS HTTP. Vrei să te asiguri că internetul tău funcționează atâta timp cât internetul este disponibil? Alege să îți proxy-ezi traficul prin CDN-uri importante, blocarea cărora va duce la căderea unei părți din internet în țară.

tabel de sinteză, sortare după descărcareCompararea performanței instrumentelor de o ocolire a blocărilor VPN

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster