Համացանցում տարբեր ռեսուրսների հասանելիությունը արգելափակելու աճող միտումների պայմաններում, հակառակ սահմանափակումների շրջանցման հարցը ավելի актуալ դարձավ, ուստի հարցն էլ ավելի արդիական է դարձել՝ «Որևէ կերպ հնարավոր է՞ արագ շրջանցել արգելափակումները»:
Թողնենք արդյունավետության հարցը DPI, սպիտակ և սև ցուցակներ շրջանցման տեսանկյունից այլ անգամ և պարզապես համեմատենք հայտնի արգելափակման շրջանցման գործիքների կատարողականությունը:
Հեդինգ: Գրառումներում, որոնք մանրամասներով են ուղեղավ, լինելու են բազմաթիվ պատկերներ:
Գիտակցում. այս հոդվածը համեմատում է հայտնի VPN և Proxy լուծումների կատարողականությունը՝ հարակից՝ «արդիական» պայմաններում: Շնորհահավաք թվերը, որոնք ստացվել և նկարագրվել են այստեղ, չի կարող առաջին հերթին համընկնել ձեր արդյունքների հետ։ Քանի որ արագության թեստի թիվը հաճախ կախված է լինում ոչ միայն արգելափակման գործիքի արտադրողականությունից, այլ նաև նրանից, թե ինչպես ձեր մատակարարը այն արագացնում է, QoS և արգելափակում է:
Մեթոդաբանությունը
Cloud պրովայդերից (DO) ձեռք է բերվել 3 VPS աշխարհի տարբեր երկրներում: 2-ը Նիդեռլանդներում, 1-ը՝ Գերմանիայում: Ընտրվել են առավել արդյունավետ VPS-ները (կորույցով) մատչելի հաշվեհամարով կտրոնի վարկերի առաջարկից:
Նախարարում Նիդեռլանդների առաջին սերվերում տեղադրվել է մասնավոր iperf3 սերվեր:
Նիդեռլանդների երկրորդ սերվերում հերթով տեղադրվում են տարբեր արգելափակման շրջանցման գործիքների սերվերներ:
Գերմանական VPS-ում տեղադրվել է աշխատասեղանի Linux-ի (xubuntu) պատկեր՝ VNC և վիրտուալ աշխատանքային տարածքով: Այս VPS-ը համեմատական է հաճախորդին և դրա վրա հերթով տեղադրվում և իրականացվում են տարբեր proxy/VPN հաճախորդներ:
Արագության չափումները կատարվում են երեք անգամ, հիմնվում ենք միջինին, օգտագործելով 3 գործիքներ՝ Chromium-ում՝ վեբ արագության թեստի միջոցով, Chromium-ում՝ fast.com-ի միջոցով, և կոնսոլում՝ iperf3-ի միջոցով proxy chains-ի միջոցով (այնտեղ, որտեղ անհրաժեշտ է տվյալները iperf3-ի ներմուծման համար արգելափակման):
Պինտ կապը «հաճախորդ»-սերվեր iperf3-ը տալիս է 2 Գբիտ/ս արագություն, iperf3-ում, և մի փոքր քիչ fast արագության թեստում:
Հետաքրքիր ընթերցողը կարող է հարցնել՝ «ինչու չընտրեցիր speedtest-cli»: Եվ դա ճիշտ կլինի:
Արագության թեստը հայտնվեց որպես անբավարար ու անհավատալի ելքերի չափման միջոց՝ ինձ անհայտ պատճառներով: Երեք հաջորդական չափումները կարող էին տալ երեք ամբողջովին տարբեր արդյունքներ կամ, օրինակ, ցույց տալ անցանելիությունը շատ բարձր, քան իմ VPS-ի պորտերի արագությունը: Հնարավոր է՝ որ խնդիրը իմ կատարողականում է, բայց տվյալ գործիքով հետազոտություն անցկացնել ինձ կարծես անհնար է:
Ինչ վերաբերում է երեք չափման նյութերի (արագության թեստը, fast, iperf) արդյունքներին՝ ես կարծում եմ iperf-ից ստացված թվերը ամենաարվելին, ավելի վստահելի ու հուսալի են, իսկ fast-ը միայն ինֆորմացիոն: Բայց որոշ շրջանցման գործիքներ չթույլատրեցին ավարտել 3 չափումների միջոցով iperf3, և այդպիսի դեպքերում կարելի է հենվել արագության թեստի և fast-ի վրա:
Արագության թեստը տարբեր արդյունքներ է տալիս
Նշանակագիր
Ընդհանուր առմամբ փորձարկվել է 24 տարբեր շրջանցման գործիքներ և/կամ դրանց համակցություններ, որոնց վերաբերյալ ես կտրամադրեմ փոքր բացատրություններ ու իմ տպավորությունները աշխատանքից: Բայց հիմքում, նպատակը եղել է համեմատել shadowsocks-ի (և դրա տակ տարբեր խտացուցիչների) արագությունները openVPN և wireguard-ի նկատմամբ:
Այս նյութում ես մանրամասնորեն չեմ անդրադառնա հարցին «ինչպես լավագույնս թաքցնել տրաֆիկը, որպեսզի չընդհատվի», քանի որ շրջանցման միջոցառումները արձագանքային են, մենք հարմարվում ենք այն, ինչ օգտագործում է փաստաբանությունը և գործում ենք դրանից:
Արդյունքներ
Strongswanipsec
Իմ տպավորություններով՝ շատ հեշտ է կարգավորել, աշխատում է բավական կայուն: Բոլոր կողմերից՝ իրականում բազմաալիքային է, առանց պահանջելու յուրաքանչյուր պլատֆորմի համար հաճախորդներ ढեակի:
download — 993 mbits; upload — 770 mbits
SSH-հ túnel
SSH օգտագործելու վերաբերյալ որպես գնացքով գործիք միգուցե միայն ծույլերը չեն գրել: Ելքայինից՝ «մեծ պատվեր» լուծումը, այսինքն՝ ամեն个平台ում հարմար գեղեցիկ հաճախորդի միջոցով դա չեք կկարողանա: Բոլոր կողմերից՝ լավ կատարողականություն, կայանում է ընդհանուր առմամբ որևէ բան տեղադրելու անհրաժեշտություն:
download — 1270 mbits; upload — 1140 mbits
OpenVPN
OpenVPN-ն փորձարկվել է 4 աշխատանքի ռեժիմներով. tcp, tcp+sslh, tcp+stunnel, udp:
OpenVPN սերվերները ավտոմատ ձևով են կարգավորվել, օգտագործելով streisand:
Ինչքան կարելի է գնահատել, ներկայումս միայն tunnel-ով աշխատելու ռեժիմը կայուն է առաջադեմ DPI-ի նկատմամբ: Պատճառը անսովոր բարձր հզորության ցուցանիշը openVPN-tcp-ի շրջափակումում tunnel-ի ժամանակ ինձ անորոշ է, проверки իրականացվել են մի քանի անգամ, տարբեր ժամանակներում և տարբեր օրերի, արդյունքը նույնն էր: Հնարավոր է, որ դա կապված է ցանցային փաթեթի կարգավորումներով, որոնք տեղադրվում են streisand-ի բացման ժամանակ, գրեք, եթե ունեք գաղափար, թե ինչու է այսպես:
openvpntcp: download — 760 mbits; upload — 659 mbits
openvpntcp+sslh: download — 794 mbits; upload — 693 mbits
openvpntcp+stunnel: download — 619 mbits; upload — 943 mbits
openvpnudp: download — 756 mbits; upload — 580 mbits
Openconnect
Չի հանդիսանում ամենահայտնի շրջանցման գործիքը, ընդգրկված է streisand փաթեթում, այդ պատճառով որոշվեց փորձարկել և այն:
download — 895 mbits; upload 715 mbits
Wireguard
Հանրաճանաչ գործիք, որը հայտնի է արևմտյան օգտվողների շրջանում, պրոտոկոլի մշակողները նույնիսկ ստացան որոշ դրամաշնորհներ համարները պաշտպանելու համար: Աշխատում է Linux-ի միջուկային մոդուլի ձևով, UDP-ի միջոցով: Վերջերս erschienen են Windows և iOS համար հաճախորդներ:
Ստեղծվել է մշակողի կողմից որպես պարզ և արագ միջոց Netflix դիտելու համար՝ գտնվելով ԱՄՆ-ի սահմաններից դուրս:
Այսպիսով, օգտակարությունն ու թերությունները: Օգտակարությունները՝ շատ արագ պրոտոկոլ, հարաբերական պարզություն կարգևման: Թերությունները՝ մշակողը սկզբից չի ստեղծել այն՝ նպատակ ունենալով լուրջ շրջանցման համար, և այդ պատճառով WireGuard-ը հեշտությամբ խախտվում է ամենատարածված գործիքներով, ներառյալ Wireshark:
wireguard պրոտոկոլը Wireshark-ում
download — 1681 mbits; upload 1638 mbits
Ներդաշնակ վիճակում, ваергард-протокл-ն օգտագործվում է tunsafe երրորդ կողմի հաճախորդում, որը նույն сервера ваергард-ի հետ օգտագործվելու ժամանակ տալիս է շատ ավելի վատ արդյունքներ: Շատ հավանական է, որ windows-ի ваергарда հաճախորդը նույնպես ցույց կտա նման արդյունքներ:
tunsafeclient: ներբեռնում — 1007 mbits; ապրանք կլինի — 1366 mbits
OutlineVPN
Աուտլայնը шэдоусокс-ի սերվերի և հաճախորդի իրականացման մի ձև է, որը ներկայացնում է Google-ի jigsaw-ից գեղեցիկ և հարմարավետ GUI: Windows-ում, аутлайн հաճախորդը գերազանցապես ուղղակի оболочка է shadowsocks-local (shadowsocks-libev հաճախորդի) և badvpn (tun2socks բինարային, որն ուղղում է մեքենայի ամբողջ տրաֆիկը տեղական socks-պրոքսի) համար:
Մի ժամանակ шэдоусокс-ը դիմակայել էր մեծ Չինական վարակյալ Firewall-ին, բայց վերջին ակնարկների համաձայն, այժմ դա այլևս այդպես չէ: Տեսնելով шэдоусокс-ը, «տուփում» չի աջակցում վարակման ուղղակի գործիորդներին, սակայն դա կարելի է անել ձեռքով, ևս կնացին սերվերային և հաճախորդային մասեր:
ներբեռնել — 939 mbits; ապրանք կլինի — 930 mbits
ShadowsocksR
ShadowsocksR-ը оригинального шэдоусокс-ի ֆորքն է, որը գրանցված է Python-ով: Կանխարկումն է шэдоусокс, որն ունի նախագծի մի քանի մեթոդներ տրաֆիկի վարակման համար:
Post SSորերը libev-ի և ուրիշի վրա: Կոնկրետ հասարակության վատ գծագրումը հնարավոր է հաշվի առնելով ծածկագրախոսական լեզուն: Օրիան шэдոусокс-ը Python-ում հազարի դանդաղ չէ:
shadowsocksR: ներբեռնում 582 mbits; ապրանք կլինի 541 mbits.
Shadowsocks
Չինական արգելքները շրջանցելու գործիք, որ գործում է տրաֆիկի միջավայրում և հակառակ տեսքով խոչընդոտելով ավտոմատ վերլուծությանը: Նախագծային հասնելուց առաջ GFW չէր արգելվում, ասում են, որ այժմ արգելվում է միայն UDP-реле- Նույնքան տեղամասով:
Կորոշի միջավայրում (ծառայություն մատուղ է ցանկացած միջավայրում), ուժեղացնում է PT-ի հետ գործողությունները հավասարապես կանխարգելիչներին այս նախատիպի շինարարության վրա, դա ունի մի քանի իր կամ կոմպոզիտացված արգելքներ, արագ:
Ինտերնետում շատ шэдоусокс-ի ծառայությունների և հաճախորդների ստեղծման տարբերակներ կան: Թեստավորման ընթացքում որպես սերվեր ծառայել են shadowsocks-libev, հաճախորդներն էլ տարբեր են: Լինկաքಗಳ հետազոտման մեջ shadowsocks2-նն է եղել Go-ով, որը տարածվում է որպես.DEFAULT համարվում стрисанд-ում, որքան արդյունավետ է shadowsocks-windows-ը, չեմ կարող ասել: Դեպի մյուս հետազոտությունների ընթացքում հաճախորդը եղել է shadowsocks2: Սա պարզ հաղորդակցությունների տեսանկյունից չի իրականացվել shadowsocks-libev-ի պատահականության ցուցիչների պատճառով:
shadowsocks2: ներբեռնում — 1876 mbits; ապրանք կլինի — 1981 mbits.
shadowsocks-rust: ներբեռնում — 1605 mbits; ապրանք կլինի — 1895 mbits.
Shadowsocks-libev: ներբեռնում — 1584 mbits; ապրանք կլինի — 1265 mbits.
Simple-obfs
Шэдоусокс պլագինը, այժմ "depreciated" վիճակում է, բայց դեռ գործում է (այստեղ են աշխատում, չնայած միշտ չէ, որ լավ). Տարածված է v2ray-plugin պլագինի միջոցով։ Ամբողջացնում է տրաֆիկը կամ http-websocket-ով (և թույլ է տալիս ձևափոխել նպատակային հոստի հաձի ուղարկել, կարծես դիտում ես ոչ թե porn hub, այլ, օրինակ, Ռուսաստանի ֆեդերացիայի սահմանադրական կայքը) կամ pseudo-tls-ով (pseudo, քանի որ չի օգտագործում որևէ վկայական, ամենամեծ DPI-ները, ինչպիսին է անվճար nDPI-ն, հայտնաբերում են որպես "tls no cert"։ tls-միջավայրում ձևափոխել հաձերը այլևս անհնար է).
Դեռ բավական արագ, կարելի է փաթեթավորել մեկ հրահանգով, շատ հեշտ էconfigurable, ունի անջատման կառուցվածք, երբ պարզ-Obfs-ը լսում է port-ում, որը ուղղորդում է ոչ-պարզ-Obfs հաճախորդներից, այն ուղղորդում է այն հասցեն, որը ձեզ ուղղորդեց, որպեսզի հասնեք կարգավորումներին՝ այսպիսով կարելի է խուսափել 80-րդ պորտի ձեռքով ստուգելուց, պարզապես կատարելով ուղղորդում http կայքին, և փակելու միջոցով connection-probes-ները.
shadowsockss-obfs-tls: ներբեռնում — 1618 mbits; ներբեռնում 1971 mbits.
shadowsockss-obfs-http: ներբեռնում — 1582 mbits; ներբեռնում — 1965 mbits.
Պարզ-Obfs-ը http ռեժիմում կարող է նաև գործել ապրանքային CDN-ի միջոցով (ինչպես cloudflare), այդպիսով մեր ապահովողը, տրաֆիկը կհեռանա որպես http-plain տրաֆիկ cloudflare-կողմում, այսպիսով կարելի է մի փոքր լավ փակել մեր թունելը, իսկ միաժամանակ բաժանել տրաֆիկի մուտքի և ելքի կետերը՝ ապահովողը տեսնում է, որ ձեր տրաֆիկը գնում է դեպի ip-հասցեները CDN, իսկ ծայրահեղական պատկերները այս պահին դրվում են VPS-ի IP-հասցեի միջոցով։ Պետք է ասել, որ ճիշտ C-Obfs-ը CF պլատֆորմով աշխատում է անորոշ, ժամանակ առ ժամանակ բացել որոշ http ռեսուրսներ, օրինակ։ Այդպիսով, փորձել լիցքավորումը օգտագործելով iperf shadowsockss-obfs+CF միջոցով չստացվեց, բայց արագության թեստերի արդյունքներով՝ ծավալը shadowsocksv2ray-plugin-tls+CF մակարդակում է։ Iperf3-ի էկրանի նկարները չէի ներկայացնում, քանի որ դրանք օգտակար չեն։
ներբեռնում (speedtest) — 887; բարձրացում (speedtest) — 1154.
Ներբեռնում (iperf3) — 1625; բարձրացում (iperf3) — NA.
v2ray-plugin
V2ray-plugin-ն Came simple-obfs-ի փոխարեն դեպի հիմանոր ‘հոգեբանական’ obfuscator-ի ss-libev-ի համար։ Դրա հակառակ, simple-obfs-ը դեռևս չկա repositories-ում, և պետք է կամ ներբեռնեք նախօրոք հավաքված բինար, կամ ձեզ հավաքեք ինքներդ։
Դա աջակցում է 3 աշխատանքային ռեժիմների: դեֆոլտ, http-websocket (ձեռնարկում են առաջնահերթաբար ձևափոխած գրանցման) tls-websocket (պրոֆեսիոնալ tls-ն տրաֆիկ, որը ճանաչում է ցանկացած վեբ սերվեր դարձնելու և թույլ է տալիս կարգավորել tls-ննջության տարածումը cloudflare-ի կամ nginx-ի վրա); quic — աշխատում է udp-ի միջոցով, բայց, ցավոք, quic-ի գործողությունը v2ray-ում շատ ցածր է։
Նրա առավելությունները simple-obfs-ի համեմատ՝ v2ray-plugin-ը հեշտությամբ աշխատում է CF աուտորադի http-websocket ռեժիմի միջոցով ցանկացած տրաֆիկով, tls-ռեժիմում կորցնում է ամբողջական tls-տրաֆիկ, որպեսզի աշխատելու համար անհրաժեշտ են վկայականներ (ինչպես let's encrypt կամ ինքնասպանավորող certificado):
shadowsocksv2ray-plugin-http: բեռնում — 1404 մբոլ; բեռնաթափում 1938 մբոլ.
shadowsocksv2ray-plugin-tls: բեռնում — 1214 մբոլ; բեռնաթափում 1898 մբոլ.
shadowsocksv2ray-plugin-quic: բեռնում — 183 մբոլ; բեռնաթափում 384 մբոլ.
Ինչպես արդեն ասել եմ, v2ray-ը կարող է հաստատել հեդերներ, և այդ կերպ հնարավոր է աշխատել ռևերս-պրոքսի CDN-ի միջոցով (օրինակ՝ Cloudflare): Մի կողմից՝ դա բարդացնում է գunnelածման հայտնաբերումը, մյուս կողմից՝ կարող է մի փոքր բարձրացնել (այդ ժամանակ երբեմն նվազեցնել) լագը՝ այստեղ ամեն բան կախված է ձեզ և սերվերների դիրքնից: Մեր պահին CF-ն թեստավորում է quic-ի հետ զբաղվելը, սակայն այս ռեժիմը մնում է անսովոր (պակասապես անվճար հաշիվների համար).
shadowsocksv2ray-plugin-http+CF: բեռնում — 1284 մբոլ; բեռնաթափում 1785 մբոլ.
shadowsocksv2ray-plugin-tls+CF: բեռնում — 1261 մբոլ; բեռնաթափում 1881 մբոլ.
Cloak
Կլոքը GоQuiet-ի հետագա զարգացման արդյունքն է: Սիմուլացնում է TLS տրաֆիկ, աշխատում է համապատասխանաբար TCP-ի միջոցով: Ամբողջ տվյալ ժամանակահատվածում հեղինակն ունի երկրորդ տարբերակը վերահսկիչին, cloak-2 անունով, որը զգալիորեն տարբերվում է բնօրինակ կլոքից.
Հեղինակից ստացված տեղեկատվությամբ, պլագինի առաջին տարբերակը օգտագործել է tls 1.2 վերագործարկման մեխանիզմ, որպեսզի ստուգի նշանակության հասցեն tls-ի համար: Նոր տարբերակի թողարկումից հետո (cloak-2) բոլոր վիքու էջերը GitHub-ում, որ նկարագրում էին այս մեխանիզմը, ջնջվել են, ընթացիկ գրառման մեջ այս մասին վերապահումներ չկան: Հեղինակային բացատրությամբ, առաջին կլոքը չի օգտագործվում 'կրիտիկական անվտանգության բացթողումների' հետևանքով: Թեստերի ժամանակ միայն առաջին տարբերակն էր, որի հավելվածները դեռ գտնվում են GitHub-ում, ավելին, կրիտիկական բացթողումները այնքան էլ կարևոր չեն, քանի որ Shadowsocks-ը նմանապես գաղտնագրում է տրաֆիկը, ինչպես առանց կլոքի, և կլոքի ազդեցությունը Shadowsocks-ի գաղտնագրի վրա չկա.
shadowsockscloak: բեռնաթափում — 1533; բեռնում — 1970 մբոլ
Kcptun
kcptun-ը որպես տրանսպորտ օգտագործում է և որոշ հատուկ դեպքերում թույլ է տալիս հասնել բարձր արագության: Ցավոք (կամ ուրախություն) դա մեծապես վերաբերում է Չինաստան ունեցող օգտատերերին, որտեղ մի քանի մոբիլ օպերատորներ խստորեն սահմանափակում են TCP-ն և չեն ներկրում UDP.
Kcptun-ը չափազանց պահանջող է, և հեշտությամբ 100%-ով բեռնում է 4 զիո-միջուկներ 1 հաճախորդի հետ փորձարկման ընթացքում: Además, պլագինը «մնացած» է, և ադմինիստրացիան iperf3-ի միջոցով չի ավարտում փորձարկումները ավարտին: Ըստ թեստավորումների կամայականները նրա վրա.
shadowsockskcptun: բեռնաթափում (страны)- 546 մբոլ; բեռնաթափում (страны)- 854 մբոլ.
Ավարտ
Պետք է պարզ, արագ VPN, որպեսզի գլուխը փակեք ամբողջ մեքենայի տրաֆիկը՞ Ուրեմն ձեր ընտրությունը՝ Wargard: Ցանկանում եք պրոքսիա (ընտրովի túnelирование կամ վիրտուալ անձանց բաժանում), կամ ձեզ համար ավելի կարևոր է և գայթակղել տրաֆիկը լուրջ արգելափակումներից՞ Ուրեմն դիտեք shadowsocks՝ TLS_HTTP խափանմամբ: Եղեք համոզված, որ ձեր ինտերնետը աշխատելու է, երբ ինտերնետը երբևէ աշխատում է: Ընտրեք տրաֆիկի պրոքսինգը կարևոր CDN-ների միջոցով, որոնց արգելափակումը կբերի երկրի կեսին ինտերնետի հորզառմանը.
համառոտ աղյուսակ, բեռնման տեսակավորում
Ընտանիք: habr.com
