Srovnání výkonu nástrojů pro obcházení blokací VPN

S rostoucím omezením přístupu k různým zdrojům na internetu se stále častěji dává do popředí otázka, jak obcházet blokace, a tedy i otázka „Jak rychleji obcházet blokace?“

Opustíme téma efektivity z pohledu obcházení DPI, whitelistů a blacklistů na příště a jednoduše porovnáme výkon populárních nástrojů pro obcházení blokací.

Pozor: V článku pod spoilerem bude mnoho obrázků.

Disklaimer: Tento článek porovnává výkon populárních VPN a proxy řešení za podmínek blízkých „ideálním“. Výsledky uvedené a popsané zde nemusí nutně odpovídat vašim výsledkům v praxi. Protože čísla ve speedtestu často závisí nejen na výkonu obcházejícího nástroje, ale také na tom, jak je váš poskytovatel omezuje, QoS nebo blokuje.

Metodologie

U cloudového poskytovatele (DO) byly zakoupeny 3 VPS v různých zemích světa. 2 v Nizozemsku a 1 v Německu. Byly vybrány nejvýkonnější VPS (podle počtu jader) z dostupných pro účet v rámci nabídky za kuponové kredity.

Na prvním nizozemském serveru je nasazen soukromý iperf3 server.

Na druhém nizozemském serveru se postupně nasazují různé servery nástrojů pro obcházení blokací.

Na německém VPS byl nasazen obraz desktopového Linuxu (Xubuntu) s VNC a virtuálním pracovním stolem. Tento VPS je podmíněným klientem a na něj se postupně instalují a spouštějí různé proxy a VPN klienti.

Měření rychlosti se provádí třikrát, zaměřujeme se na průměr a používáme 3 nástroje: v Chromiu prostřednictvím webového speedtestu; v Chromiu prostřednictvím fast.com; z konzole přes iperf3 skrze proxy chains4 (tam, kde je potřeba nasměrovat provoz iperf3 do proxy).

Přímé připojení „klient“-server iperf3 dává rychlost 2 Gb/s v iperf3 a trochu méně ve fast speedtestu.

Zvídavý čtenář se může zeptat: „Proč jsi nevybral speedtest-cli?“ a má pravdu.

Speedtest se ukázal jako nespolehlivý a neadekvátní způsob měření šířky pásma z neznámých důvodů. Tři po sobě jdoucí měření mohla přinést tři úplně odlišné výsledky, nebo například ukázat šířku pásma mnohem vyšší, než jaká odpovídá rychlostem portů mých VPS. Možná je problém v mé nešikovnosti, ale zdálo se mi nemožné provádět výzkum s tímto nástrojem.

Co se týče výsledků tří metod měření (speedtest, fast, iperf), považuji hodnoty z iperf za nejpřesnější, nejspolehlivější a nejautentičtější, zatímco fast speedtest — za orientační. Některé nástroje obchodu však neumožnily dokončit 3 měření pomocí iperf3, a v takových případech se dá orientovat na speedtest a fast.

Speedtest dává různé výsledkySrovnání výkonu nástrojů pro obcházení blokací VPN

Nástroje

Bylo otestováno celkem 24 různých nástrojů obchodu a/nebo jejich kombinací, k nimž poskytnu malé vysvětlení a své dojmy z jejich použití. Podstatou bylo porovnat rychlosti shadowsocks (a množství různých obfuskačních nástrojů k tomu) s openVPN a wireguard.

V tomto materiálu se nebudu detailně věnovat otázce „jak lépe skrýt provoz, aby mě neodpojili“, protože obcházení blokací je reakční opatření — přizpůsobujeme se tomu, co využívá cenzor, a jednáme podle toho.

Výsledky

Strongswanipsec

Podle mých dojmů — velmi snadné na nastavení, pracuje dostatečně stabilně. Mezi výhody patří, že je skutečně multiplatformní, aniž bych musel hledat klienty pro každou platformu.

download — 993 mbits; upload — 770 mbitsSrovnání výkonu nástrojů pro obcházení blokací VPN

SSH-tunel

O používání SSH jako nástroje pro tunelování už pravděpodobně psal jen líný. Mezi nevýhody patří „křehkost“ řešení, tzn. není možné ho zprovoznit z pohodlného krásného klienta na každé platformě. Výhody: dobrý výkon, není třeba na serveru vůbec nic instalovat.

download — 1270 mbits; upload — 1140 mbitsSrovnání výkonu nástrojů pro obcházení blokací VPN

OpenVPN

OpenVPN byl testován ve 4 režimech: tcp, tcp+sslh, tcp+stunnel, udp.

Servery OpenVPN byly automaticky nastaveny pomocí instalace streisand.

Jak lze usoudit, v současné době je odolný pouze režim práce přes Stunnel vůči pokročilým DPI. Důvod neobvyklého zvýšení propustnosti při zabalování OpenVPN-TCP do Stunnelu mi není jasný, testy probíhaly v několika etapách, v různých časech a dnech, výsledek byl stejný. Možná to souvisí s nastavením síťového zásobníku, které se nastavují při nasazování Streisand, dejte vědět, pokud máte nápady, proč to tak je.

openvpntcp: download — 760 mbits; upload — 659 mbitsSrovnání výkonu nástrojů pro obcházení blokací VPN

openvpntcp+sslh: download — 794 mbits; upload — 693 mbitsSrovnání výkonu nástrojů pro obcházení blokací VPN

openvpntcp+stunnel: download — 619 mbits; upload — 943 mbitsSrovnání výkonu nástrojů pro obcházení blokací VPN

openvpnudp: download — 756 mbits; upload — 580 mbitsSrovnání výkonu nástrojů pro obcházení blokací VPN

Openconnect

Nejpopulárnější nástroj pro obcházení blokací, součást balíčku Streisand, takže bylo rozhodnuto jej také otestovat.

download — 895 mbits; upload 715 mbitsSrovnání výkonu nástrojů pro obcházení blokací VPN

Wireguard

Hype nástroj, velmi populární mezi západními uživateli, tvůrci protokolu dokonce získali nějaké granty na rozvoj od ochranných fondů. Funguje jako modul jádra Linuxu přes UDP. Nedávno se objevily klienty pro Windows i iOS.

Tvůrce ho zamýšlel jako jednoduchý, rychlý způsob sledování Netflixu mimo USA.

Odtud plynou klady a zápory. Klady — velmi rychlý protokol, relativní jednoduchost instalace a nastavení. Zápory — vývojář ho původně nevytvářel s cílem obcházet závažné blokace, a proto je VegaGuard snadno detekovatelný nejjednoduššími nástroji, včetně Wiresharku.

protokol WireGuard v WiresharkuSrovnání výkonu nástrojů pro obcházení blokací VPN
download — 1681 mbits; upload 1638 mbitsSrovnání výkonu nástrojů pro obcházení blokací VPN

Co je zajímavé, protokol VegaGuard se používá v externím klientu Tunsafe, který při použití se stejným serverem VegaGuard dává mnohem horší výsledky. Je velmi pravděpodobné, že i Windows klient VegaGuard bude vykazovat podobné výsledky:

tunsafeclient: download — 1007 mbits; upload — 1366 mbitsSrovnání výkonu nástrojů pro obcházení blokací VPN

OutlineVPN

Outline je implementace serveru a klienta Shadowsocks s krásným a pohodlným GUI od Googlovského Jigsaw. V systému Windows je klient Outline ve skutečnosti pouze sadou obalů pro binárky Shadowsocks-local (klient Shadowsocks-libev) a badvpn (binární tun2socks, který směruje veškerý provoz stroje do místního SOCKS proxy).

Kdysi byl Shadowsocks odolný vůči Velké čínské firewallu, ale podle posledních recenzí už to neplatí. Na rozdíl od Shadowsocks "out of the box" nepodporuje připojení obfuskačních pluginů, ale to lze udělat manuálně, pokud se poněkud pohrabete se serverem a klientem.

download — 939 mbits; upload — 930 mbitsSrovnání výkonu nástrojů pro obcházení blokací VPN

ShadowsocksR

ShadowsocksR je fork původního Shadowsocks, napsaného v Pythonu. V podstatě to představuje Shadowsocks, ke kterému bylo pevně připojeno několik metod obfuskování dopravy.

Existují forky ssR na libev a nějakých dalších. Nízká propustnost je pravděpodobně způsobena programovacím jazykem. Původní Shadowsocks v Pythonu není výrazně rychlejší.

shadowsocksR: download 582 mbits; upload 541 mbits.Srovnání výkonu nástrojů pro obcházení blokací VPN

Shadowsocks

Čínský nástroj pro obcházení blokací, který randomizuje dopravu a dalšími skvělými způsoby ztěžuje automatickou analýzu. Do nedávné doby nebyl blokován GFW, říká se, že nyní je blokován, pouze pokud se zapne UDP relay.

Krosplatformní (existují klienti pro jakoukoli platformu), podporuje práci s PT jako typ torových obfuskovátorů, existuje několik svých nebo k němu přizpůsobených obfuskovátorů, rychlý.

Existuje spousta implementací klientů a serverů Shadowsocks v různých jazycích. Jako server byl testován shadowsocks-libev, klienti byli různí. Nejrychlejším linuxovým klientem se ukázal být shadowsocks2 na Go, distribuovaný jako výchozí klient v Streisand, jak efektivnější je shadowsocks-windows, říct nemohu. V většině následujících testů byl používán právě shadowsocks2. Screenshoty s testováním čistého shadowsocks-libev nejsou k dispozici, kvůli zjevné zaostalosti této implementace.

shadowsocks2: download — 1876 mbits; upload — 1981 mbits.Srovnání výkonu nástrojů pro obcházení blokací VPN

shadowsocks-rust: download — 1605 mbits; upload — 1895 mbits.Srovnání výkonu nástrojů pro obcházení blokací VPN

Shadowsocks-libev: download — 1584 mbits; upload — 1265 mbits.

Simple-obfs

Plugin pro Shadowsocks, nyní v režimu „depreciated“, ale stále funguje (i když ne vždy dobře). V mnoha ohledech byl vytlačen pluginem v2ray-plugin. Obfuskuje dopravu buď pod http websocket (a umožňuje spoofovat hlavičky cílového hostitele, čímž se tváříte, že se díváte na něco jiného než pornhub, ale například na webové stránky ústavy Ruské federace), nebo pod pseudo-TLS (pseudo, protože nepoužívá žádné certifikáty, nejjednodušší DPI jako bezplatné nDPI detekují jako „tls no cert“. V tls režimu již není možné spoofovat hlavičky).

Dostatečně rychlý, instalovaný z repozitáře jednou příkazem, velmi snadno konfigurovatelný, má zabudovanou funkci failoveru (když na port, který poslouchá simple-obfs, přijde provoz od klienta, který není simple-obfs, přesměruje ho na adresu, kterou určíš v nastavení – tímto způsobem se můžeš vyhnout ruční kontrole 80. portu, například tak, že uděláš redirect na web s http a také zablokováním přes connection-problems).

shadowsockss-obfs-tls: stahování — 1618 mbits; nahrávání 1971 mbits.Srovnání výkonu nástrojů pro obcházení blokací VPN

shadowsockss-obfs-http: stahování — 1582 mbits; nahrávání — 1965 mbits.Srovnání výkonu nástrojů pro obcházení blokací VPN

Simple-obfs v http režimu může také fungovat přes reverse-proxy CDN (například cloudflare), tím pádem pro našeho poskytovatele bude provoz vypadat jako http-plain text provoz až do cloudflare, což umožňuje lépe skrýt náš tunel a oddělit bod vstupu a výstupu provozu – poskytovatel vidí, že tvůj provoz směřuje k CDN, zatímco extremistické lajky na obrázcích jsou v tento okamžik přiřazovány z IP adresy VPS. IP adresy Je třeba říct, že s obfs přes CF to nefunguje jednoznačně, občas se některé http-zdroje nenačítají. Tak, testování uploadu pomocí iperf přes shadowsockss-obfs+CF nebylo úspěšné, ale podle výsledků speedtestu se propustnost pohybuje na úrovni shadowsocksv2ray-plugin-tls+CF. Screenshots z iperf3 nepřikládám, protože se na ně nedá spolehnout.

stahování (speedtest) — 887; nahrávání (speedtest) — 1154.Srovnání výkonu nástrojů pro obcházení blokací VPN

Stahování (iperf3) — 1625; nahrávání (iperf3) — NA.

v2ray-plugin

V2ray-plugin nahradil simple-obfs jako hlavní „oficiální“ obfuscátor pro ss-lib. Na rozdíl od simple-obfs zatím není v repozitářích a je potřeba buď stáhnout předem sestavený binární soubor, nebo si ho sám zkompilovat.

Podporuje 3 režimy provozu: výchozí, http-websocket (s podporou spoofování hlaviček cílového hostitele); tls-websocket (na rozdíl od s-obfs to je plnohodnotný tls-provoz, který je rozpoznatelný jakýmkoli webserverem reverse proxy a například umožňuje nastavit terminaci tls na serverech cloudflare nebo v nginx); quic – pracuje přes udp, ale bohužel je výkon quicu ve v2ray velmi nízký.

Mezi výhody oproti simple-obfs: v2ray-plugin bez problémů funguje přes CF v http-websocket režimu s jakýmkoli provozem, v tls-režimu představuje plnohodnotný tls-provoz, vyžaduje pro práci certifikáty (například od let’s encrypt nebo self-signed).

shadowsocksv2ray-plugin-http: stažení — 1404 mbits; upload 1938 mbits.Srovnání výkonu nástrojů pro obcházení blokací VPN

shadowsocksv2ray-plugin-tls: stažení — 1214 mbits; upload 1898 mbits.Srovnání výkonu nástrojů pro obcházení blokací VPN

shadowsocksv2ray-plugin-quic: stažení — 183 mbits; upload 384 mbits.Srovnání výkonu nástrojů pro obcházení blokací VPN

Jak jsem již zmínil, v2ray umí nastavovat hlavičky, a tímto způsobem je možné s ním pracovat přes reverzní proxy CDN (například Cloudflare). Na jedné straně to ztěžuje detekci tunelu, na druhé straně to může mírně zvýšit (a někdy snížit) latenci — zde vše závisí na vaší poloze a serverech. V tuto chvíli CF testuje provoz s quic, ale tento režim zatím není dostupný (alespoň pro bezplatné účty).

shadowsocksv2ray-plugin-http+CF: stažení — 1284 mbits; upload 1785 mbits.Srovnání výkonu nástrojů pro obcházení blokací VPN

shadowsocksv2ray-plugin-tls+CF: stažení — 1261 mbits; upload 1881 mbits.Srovnání výkonu nástrojů pro obcházení blokací VPN

Cloak

Cloak je výsledkem dalšího vývoje obfuscátoru GoQuiet. Simuluje TLS provoz, pracuje odpovídajícím způsobem přes TCP. V tuto chvíli autor vydal druhou verzi pluginu, cloak-2, která se podstatně liší od původního cloku.

Podle informací vývojáře první verze pluginu používala mechanismus tls 1.2 resume session k spoofování cílové adresy pro tls. Po vydání nové verze (cloak-2) byly všechny wiki stránky na GitHubu, popisující tento mechanismus, odstraněny, v aktuálním popisu šifrování obfuskace tento zmínka chybí. Podle popisu autora první verze cloak není používán kvůli "kritickým zranitelnostem v kryptu". V době testování byla k dispozici pouze první verze cloak, její binární soubory jsou stále uloženy na GitHubu, a kromě toho nejsou kritické zranitelnosti příliš důležité, protože shadowsocks šifruje provoz stejně dobře, jako bez cloku, a cloak nemá vliv na kryptografii shadowsocks.

shadowsockscloak: stažení — 1533; upload — 1970 mbitsSrovnání výkonu nástrojů pro obcházení blokací VPN

Kcptun

kcptun používá jako transport protokol KCP a v některých zvláštních případech umožňuje dosáhnout zvýšení propustnosti. Bohužel (nebo k radosti) to je do značné míry aktuální pro uživatele z Číny, část mobilních operátorů, kteří intenzivně omezují TCP a nezasahují do UDP.

Kcptun je neskutečně náročný a bez problémů zatěžuje 100% 4 jaderné procesory při testování 1 klientem. Kromě toho je plugin "pomalý", a také při práci přes iperf3 nedokončuje testy do konce. Orientujeme se podle speedtestu v prohlížeči.

shadowsockskcptun: stažení (speedtest) — 546 mbits; upload (speedtest) 854 mbits.Srovnání výkonu nástrojů pro obcházení blokací VPN

Závěr

Potřebujete jednoduché a rychlé VPN pro obalení veškerého provozu na vašem zařízení? Pak je vaším výběrem vaergard. Chcete proxy (pro vybíravé tunelování nebo rozdělení proudu virtuálních osob) nebo je pro vás důležitější obfuskovat provoz před přísnými blokacemi? Pak se podívejte na shadowsocks s TLS HTTP obfuskací. Chcete mít jistotu, že váš internet bude fungovat, dokud bude fungovat internet obecně? Zvolte proxy provoz přes důležité CDN, jejichž zablokování by vedlo ke kolapsu poloviny internetu v zemi.

souhrnná tabulka, třídění podle stahováníSrovnání výkonu nástrojů pro obcházení blokací VPN

Zdroj: habr.com

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster