Параўнанне прадукцыйнасці прылад абыходу блакіровакVPN

Па меры таго, як нам усё актыўней зачыняюць доступ да розных рэсурсаў у сетцы, усё актуальней становіцца пытанне абыходу блакіровак, а значыць усё актуальней становіцца пытанне «А як жа хутчэй абыходзіць блакаванні?».

Пакінем тэму эфектыўнасці, з пункта гледжання абыходу DPIвайтлістаўблеклістаў для іншага выпадку, і проста параўнаем прадукцыйнасць папулярных прылад абыходу блакіровак.

Увага: У артыкуле пад спойлер будзе шмат карцінак.

Дысклеймер: дадзены артыкул параўноўвае прадукцыйнасць папулярных упроксі рашэнняў, ва ўмовах набліжаных да «ідэальным». Вынікі атрыманыя і апісаныя тут, зусім не абавязкова супадуць з тваімі вынікамі ў палях. Таму што цыферка ў спідтэсце часцяком будзе залежаць не ад таго, наколькі прадукцыйная прылада абыходу, а ад таго, як твой правайдэр яго троттлітQoSітблакуе.

метадалогія

У хмарнага правайдэра (DO) набытыя 3 VPS у розных краінах свету. 2 у нідэрландах, 1 у германіі. Выбіраліся найболей прадукцыйны СПС (па коле ядраў) з даступных для акаўнта па прапанове за купонныя крэдыты.

На першым нідэрландскім серверы разгорнуты прыватны iperf3-сервер.

На другім нідэрландскім серверы па чарзе разгортваюцца розныя серверы прылад абыходу блакавання.

На германскім СПС разгорнуты выява дэсктопнага лінукса (xubuntu) з VNC і віртуальным працоўным сталом. Гэты СПС з'яўляецца ўмоўным кліентам, і на яго па чарзе ставяцца запускаюцца розныя кліенты праксей ВПНов.

Вымярэнні хуткасці праводзяцца ад трох разоў, арыентуемся на сярэдняе, карыстаемся 3 прыладамі: у хроміуме праз вэб-спідтэст; у хроміуме праз fast.com; з кансолі праз iperf3 праз проксичейнс4 (там, дзе трэба засунуць трафік iperf3 у проксю).

Прамое злучэнне "кліент"-сервер iperf3 дае хуткасць 2 гбітс, у iperf3, і крыху менш у фастэспідтэсце.

Дапытлівы чытач можа спытаць, "а чаму ты не абраў speedtest-cli?" і мае рацыю.

Спідтэст-клі аказаўся ненадзейным неадэкватным спосабам вымярэння прапускной здольнасці, па невядомых мне прычынах. Тры паслядоўных вымярэння маглі даць тры зусім розных выніку, ці напрыклад паказаць прапускную здольнасць значна вышэй, чым хуткасць партоў у маіх СПС. Магчыма праблема ў маёй касарукасці, але праводзіць даследаванні такім інструментам мне падалося немагчыма.

Што тычыцца вынікаў па трох спосабах вымярэння (спідтэстфастiperf) я лічу паказчыкі iperf самымі дакладнымі надзейнымі дакладнымі, а фастспідтэст – даведачнымі. Але некаторыя прылады абыходу не дазвалялі завяршыць 3 вымярэнні праз iperf3 і ў такіх выпадках, можна арыентавацца на спідтэстфаст.

спідтэст дае розныя вынікіПараўнанне прадукцыйнасці прылад абыходу блакіровакVPN

інструментар

Усяго было пратэставана 24 розныя інструменты абыходу ці іх камбінацый, да кожнага з іх я дам невялікія тлумачэнні і свае ўражанні ад працы з імі. Але па сутнасці, мэта была параўнаць хуткасці shadowsocks (і кучы розных абфускатараў да яго) openVPN і wireguard.

У дадзеным матэрыяле я не стану дэталёва закранаць пытанне "як лепш схаваць трафік каб не адключылі", таму што абыход блакіровак гэта мера рэактыўная - мы падладжваемся пад тое, што выкарыстоўвае цэнзар, і дзейнічаем зыходзячы з гэтага.

Вынікі

Strongswanipsec

Па маіх уражаннях - вельмі проста ў наладзе, працуе дастаткова стабільна. З плюсаў - сапраўды кросплатформавы, без патрэбы шукаць кліенты пад кожную платформу.

download - 993 mbits; upload - 770 mbitsПараўнанне прадукцыйнасці прылад абыходу блакіровакVPN

SSH-тунэль

Пра выкарыстанне SSH у якасці прылады тунэля не пісаў мусіць толькі лянівы. З мінусаў - "касцільнасць" рашэння, г.зн. разгортваць яго са зручнага прыгожага кліента на кожнай платформе не атрымаецца. З плюсаў - добрая прадукцыйнасць, няма неабходнасці наогул нешта ўсталёўваць на серверы.

download - 1270 mbits; upload - 1140 mbitsПараўнанне прадукцыйнасці прылад абыходу блакіровакVPN

OpenVPN

АпэнВПН тэставаўся ў 4 рэжымах працы: tcp, tcp+sslh, tcp+stunnel, udp.

Серверы АпенВПН былі настроены аўтаматычна, устаноўкай streisand.

Наколькі можна меркаваць, на дадзены момант толькі рэжым працы праз станнел з'яўляецца устойлівым да прасунутых DPI. Чыннік анамальнага падвышэння прапускной здольнасці пры заварочванні опенВПН-tcp у станнел мне не ясная, праверкі рабіліся ў некалькі заходаў, у розны час і розныя дні, вынік быў такім жа. Магчыма гэта звязана з наладамі сеткавага стэка усталёўванымі пры разгортванні стрэйзанд, пішыце калі ёсць ідэі чаму так.

openvpntcp: download - 760 mbits; upload - 659 mbitsПараўнанне прадукцыйнасці прылад абыходу блакіровакVPN

openvpntcp+sslh: download — 794 mbits; upload - 693 mbitsПараўнанне прадукцыйнасці прылад абыходу блакіровакVPN

openvpntcp+stunnel: download - 619 mbits; upload - 943 mbitsПараўнанне прадукцыйнасці прылад абыходу блакіровакVPN

openvpnudp: download - 756 mbits; upload - 580 mbitsПараўнанне прадукцыйнасці прылад абыходу блакіровакVPN

Openconnect

Не самая папулярная прылада абыходу блакіровак, уваходзіць у пакет стрэйзанд, таму вырашана было пацясціць і яго.

download - 895 mbits; загрузіць 715 mbitsПараўнанне прадукцыйнасці прылад абыходу блакіровакVPN

Драцяная ахова

Хайпавы інструмент, які карыстаецца папулярнасцю ў заходніх карыстальнікаў, распрацоўшчыкі пратакола нават атрымалі нейкія гранты на развіццё ад фондаў абароны. Працуе як модуль ядра лінукс, праз UDP. З нядаўніх часоў з'явіліся кліенты для Windows.

Задумваўся стваральнікам як просты хуткі спосаб глядзець нетфлікс знаходзячыся не ў штатах.

Адсюль плюсы і мінусы. Плюсы - вельмі хуткі пратакол, адносная прастата ўстаноўкіналадкі. Мінусы - распрацоўшчык першапачаткова не ствараў яго з мэтай абыходу сур'ёзных блакіровак, і таму ваергард папросту дэтэктуецца найпростымі інструментамі, у т.л. wireshark.

пратакол wireguard у wiresharkПараўнанне прадукцыйнасці прылад абыходу блакіровакVPN
download - 1681 mbits; загрузіць 1638 mbitsПараўнанне прадукцыйнасці прылад абыходу блакіровакVPN

Што цікава, ваергард-пратокл выкарыстоўваецца ў іншым кліенце tunsafe, які пры выкарыстанні з тым жа серверам ваергард, дае значна больш горшыя вынікі. Цалкам верагодна, што і windows-кліент ваергарда будзе паказваць такія ж вынікі:

tunsafeclient: download - 1007 mbits; upload - 1366 mbitsПараўнанне прадукцыйнасці прылад абыходу блакіровакVPN

OutlineVPN

Аўтлайн гэта імплементацыя шэдаўсокс сервера і кліента з прыгожым і зручным гуем ад гуглоўскага jigsaw. У windows, кліент аўтлайн уяўляе сабой проста набор абгортак для бінарнікаў shadowsocks-local (кліент shadowsocks-libev) і badvpn (tun2socks бінарнік, які накіроўвае ўвесь трафік машыны ў лакальны socks-проксі).

Калісьці шэдаўсокс быў устойлівы да вялікага кітайскага фаерволу, але мяркуючы па апошніх водгуках, зараз гэта ўжо не так. У адрозненне ад шэдаўсокс, «са скрынкі» не падтрымлівае падлучэнне абфускацыі праз убудовы, але гэта можна зрабіць ручкамі, павазіўшыся з серверам і кліентам.

download - 939 mbits; upload - 930 mbitsПараўнанне прадукцыйнасці прылад абыходу блакіровакVPN

ShadowsocksR

ShadowsocksR гэта форк арыгінальнага шэдаўсокс, напісанага на пітоне. Па сутнасці ўяўляе сабой шэдаўсокс, да якога намёртва прыбілі некалькі спосабаў абфускацыі трафіку.

Існуюць форкі ssR на libev і нечым яшчэ. Нізкая прапускная здольнасць верагодна абумоўлена кодомязыкам. Арыгінальны шэдаўсокс на пітоне не моцна хутчэй.

shadowsocksR: download 582 mbits; загрузіць 541 mbits.Параўнанне прадукцыйнасці прылад абыходу блакіровакVPN

Shadowsocks

Кітайскі інструмент абыходу блакіровак, які рандамізуе трафік і іншымі выдатнымі спосабамі які замінае аўтаматычнаму аналізу. Да нядаўняга часу не блукаў GFW, кажуць, што цяпер блукаецца, толькі калі ўключаць UDP-рэле.

Кросплатформавы (ёсць кліенты пад любую платформу), падтрымлівае працу з PT па тыпе тораўскіх абфускатараў, ёсць некалькі сваіх або адаптаваных да яго абфускатараў, хуткі.

Ёсць куча імплементацый кліентаў і сервераў шэдаўсокс, на розных мовах. У тэставанні ў якасці сервера выступаў shadowsocks-libev, кліенты – розныя. Самым хуткім лінукс-кліентам апынуўся shadowsocks2 на go, які распаўсюджваецца ў якасці дэфолтнага кліента ў streisand, наколькі прадукцыйней shadowsocks-windows сказаць не магу. У большасці далейшых тэстаў у якасці кліента выкарыстоўваўся менавіта shadowsocks2. Скрыны з тэсціраваннем чыстага shadowsocks-libev не рабіліся, з-за відавочнага адставання дадзенай рэалізацыі.

shadowsocks2: download - 1876 mbits; upload - 1981 mbits.Параўнанне прадукцыйнасці прылад абыходу блакіровакVPN

shadowsocks-rust: download - 1605 mbits; upload - 1895 mbits.Параўнанне прадукцыйнасці прылад абыходу блакіровакVPN

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

Simple-obfs

Убудова да шэдаўсокс, зараз у статусе “depreciated” але ўсё яшчэ працуе (хоць і не заўсёды добра). Шмат у чым выцеснены плагінам v2ray-plugin. Абфусуе трафік або пад хттп-вебсокет (і дазваляе спуфаць хедэрыхост прызначэння, робячы выгляд што ты ідзеш глядзець не порнхаб, а напрыклад, сайт канстытуцыі РФ) або пад псеўда-tls (псеўда, таму што не выкарыстоўвае ніякіх сертыфікатаў, найпростыя DPI тыпу бясплатна детектят як "tls no cert". У tls-рэжыме спуфаць хедэры ўжо не атрымліваецца).

Досыць хуткі, ставіцца з РЭПО адной камандай, наладжваецца вельмі проста, мае ўбудаваную функцыю фэйловера (калі на порт, які слухае сімпл-обфс прыходзіць трафік ад не-сімпл-обфс кліента, ён яго форвардыт па тым адрасе, куды пакажаш у наладах - такім чынам можна пазбегнуць ручной праверкі 80го порта напрыклад, проста зрабіўшы рэдырэкт на вэбсайт з хттп, а таксама блакіровак праз коннекшн-проубы).

shadowsockss-obfs-tls: download - 1618 mbits; далучыцца 1971 mbits.Параўнанне прадукцыйнасці прылад абыходу блакіровакVPN

shadowsockss-obfs-http: download - 1582 mbits; upload - 1965 mbits.Параўнанне прадукцыйнасці прылад абыходу блакіровакVPN

Сімпл-обфс ў хтп рэжыме таксама можа працаваць праз рэверс-проксі CDN (напрыклад, cloudflare), такім чынам для нашага правайдэра трафік будзе выглядаць як хтп-плэйнтэкст трафік да cloudflare, гэта дазваляе крыху лепш схаваць наш тунэль, а заадно падзяліць кропку ўваходу і выхаду трафіку - правайдэр бачыць што твой трафік ідзе ў бок ip-адрасы CDN, а экстрэмісцкія лайкі на малюначках прастаўляюцца ў гэты момант c ip-адрасы VPS. Трэба сказаць што менавіта з-обфс праз CF працуе неадназначна, перыядычна неадчыняючы некаторыя хтп-рэсурсы напрыклад. Так, пацясціць аплаад выкарыстоўваючы iperf праз shadowsockss-obfs+CF не ўдалося, але мяркуючы па выніках спідтэсту, прапускная здольнасць на ўзроўні shadowsocksv2ray-plugin-tls+CF. Скрынаў з iperf3 не прыкладваю, т.к. на іх арыентавацца не варта.

download (speedtest) - 887; upload (speedtest) - 1154.Параўнанне прадукцыйнасці прылад абыходу блакіровакVPN

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

v2ray-plugin

V2ray-plugin прыйшоў на замену сімпл-обфс у якасці асноўнага афіцыйнага абфускатара для сс-лібеў. У адрозненне ад сімпл-обфс яго пакуль няма ў рэпазітарах, і трэба або пампаваць загадзя сабраны бінарнік, або кампіляць самому.

Падтрымлівае 3 рэжыму працы: дэфолтны, хтп-вэбсокет (з падтрымкай спуфінгу хедэраў хаста прызначэння); tls-вебсокет (у адрозненне ад з-обфс гэта паўнавартасны tls-трафік, які распазнаецца любым вэбсерверамрэверспроксі і напрыклад дазваляе наладзіць тэрмінацыю tls на серверах клаўдфлер або ў nginx); quic - працуе праз udp, але нажаль прадукцыйнасць квика ў в2рей вельмі нізкая.

З пераваг у параўнанні з сімпл-обфс: в2рэй-плагін без праблем працуе праз CF у хтп-вэбсокет рэжыме з любым трафікам, у тлс-рэжыме ўяўляе сабой паўнавартасны tls-трафік, патрабуе для працы сертыфікаты (напрыклад ад let's encrypt або самападпісаны).

shadowsocksv2ray-plugin-http: download - 1404 mbits; далучыцца 1938 mbits.Параўнанне прадукцыйнасці прылад абыходу блакіровакVPN

shadowsocksv2ray-plugin-tls: download - 1214 mbits; далучыцца 1898 mbits.Параўнанне прадукцыйнасці прылад абыходу блакіровакVPN

shadowsocksv2ray-plugin-quic: download - 183 mbits; загрузіць 384 mbits.Параўнанне прадукцыйнасці прылад абыходу блакіровакVPN

Як я ўжо сказаў, в2рей умее ставіць хедэры, і такім чынам з ім можна працаваць праз рэверс-проксіCDN (клаўдфлер напрыклад). З аднаго боку гэта ўскладняе выяўленне тунэля, з другога - можа крыху павялічыць (а часам знізіць) лаг - тут усё залежыць ад размяшчэння вас і сервераў. На дадзены момант CF тэстуе працу з quic, але пакуль гэты рэжым недаступны (прынамсі для бясплатных акаўнтаў).

shadowsocksv2ray-plugin-http+CF: download - 1284 mbits; загрузіць 1785 mbits.Параўнанне прадукцыйнасці прылад абыходу блакіровакVPN

shadowsocksv2ray-plugin-tls+CF: download - 1261 mbits; далучыцца 1881 mbits.Параўнанне прадукцыйнасці прылад абыходу блакіровакVPN

плашч

Клок гэта вынік далейшай распрацоўкі абфускатара GoQuiet. Сімулюе TLS трафік, працуе адпаведна праз TCP. На дадзены момант аўтар выпусціў другую версію плагіна, cloak-2, якая істотна адрозніваецца ад арыгінальнага кавалка.

Па інфармацыі распрацоўніка, першая версія плагіна выкарыстоўвала механізм tls 1.2 resume session, каб спуфаць адрас прызначэння для tls. Пасля выпуску новай версіі (клок-2) усе старонкі вікі на гітхабе, якія апісваюць гэты механізм былі выдаленыя, у бягучым апісанні шыфравання абфускацыі згадкі гэтага адсутнічаюць. Па апісанні аўтара першая версія клок не выкарыстоўваецца з-за наяўнасці "крытычных уразлівасцяў у крыпта". На момант правядзення тэстаў была толькі першая версія клоак, бінарнікі яе ўсё яшчэ ляжаць на гітхабе, а акрамя ўсяго іншага, крытычныя ўразлівасці не моцна важныя, т.я. шэдаўсокс сапраўды гэтак жа шыфруе трафік, як і без клока, і на крыпта шэдаўсокса ўплыву клоак не аказвае.

shadowsockscloak: download - 1533; upload - 1970 mbitsПараўнанне прадукцыйнасці прылад абыходу блакіровакVPN

Kcptun

kcptun выкарыстоўвае ў якасці транспарту пратакол KCP і ў некаторых адмысловых выпадках дазваляе дасягнуць падвышэнні прапускной здольнасці. Нажаль (ці на шчасце) гэта шмат у чым актуальна для карыстачоў з КНР, частка мабільных аператараў якой узмоцнена тратліт TCP і не чапае UDP.

Kcptun страшэнна пражэрлівы, і папросту загружае на 100% 4 зионоядра пры тэставанні 1 кліентам. Акрамя таго, убудова "павольны", а гэтак жа пры працы праз iperf3 не сканчае тэсты да канца. Арыентуемся па спідтэсце ў браўзэры.

shadowsockskcptun: download (speedtest) - 546 mbits; далучыцца (speedtest) 854 mbits.Параўнанне прадукцыйнасці прылад абыходу блакіровакVPN

Заключэнне

Патрэбны просты хуткі ВПН, каб загарнуць трафік ўсёй машыны? Тады ваш выбар - ваергард. Жадаеце проксей (для выбарчага тунэлявання ці падзелы струменяў віртуальных персон) ці вам важней абфусцыраваць трафік ад сур'ёзных блакіровак? Тады глядзіце на шэдаўсокс з tlshttp абфускацыяй. Хочаце быць упэўнены, што ваш інтэрнэт будзе працаваць, пакуль працуе інтэрнэт увогуле? Выбірайце праксіраванне трафіку праз важныя CDN, блакіроўка якіх прывядзе да адвалу паловы інтэрнэту ў краіне.

зводная табліца, сартаванне па спампоўцыПараўнанне прадукцыйнасці прылад абыходу блакіровакVPN

Крыніца: habr.com

Дадаць каментар