Убрзајте ОпенВПН за 9.99 долара* или интегришите Оранге Пи Оне у свој рутер

Убрзајте ОпенВПН за 9.99 долара* или интегришите Оранге Пи Оне у свој рутер

Неки од нас не користе Интернет без ВПН-а из овог или оног разлога: некоме треба наменска ИП адреса, а лакше је и јефтиније купити ВПС са два ИП-а него куповати адресу од провајдера, неко жели да приступи свим веб локацијама , и то не само они дозвољени на територији Руске Федерације, другима је потребан ИПв6, али га провајдер не обезбеђује...
Најчешће се ВПН веза успоставља на самом уређају који се користи у одређеном тренутку, што има смисла ако имате само један рачунар и један телефон и ретко их користите истовремено. Ако у вашој кућној мрежи постоји много уређаја или, на пример, постоје неки на којима се ВПН не може конфигурисати, било би згодније да направите тунел директно на кућном рутеру како не бисте размишљали о подешавању сваког уређаја посебно .

Ако сте икада инсталирали ОпенВПН на свој рутер, вероватно сте били непријатно изненађени колико брзо ради. СоЦ чак и јефтиних рутера без проблема пролазе кроз око гигабитни саобраћај, због преноса рутирања и НАТ функција на посебан чип дизајниран искључиво за овај задатак, а главни процесори таквих рутера су прилично слаби, јер На њима практично нема оптерећења. Овај компромис вам омогућава да постигнете велику брзину рутера и значајно смањите цену готовог уређаја - рутери са моћним процесорима коштају неколико пута више, а позиционирани су не само као кутија за дистрибуцију Интернета, већ и као НАС, торрент довнлоадер и кућни мултимедијални систем.

Мој рутер, ТП-Линк ТЛ-ВДР4300, не може се назвати новим - модел се појавио средином 2012. и има процесор архитектуре МИПС560 32Кц од 74 МХз, чија је снага довољна само за 20-23 Мб/с шифрованог саобраћаја преко ОпенВПН-а, што је по стандардима Брзина савременог кућног интернета је прилично ниска.
Како можемо повећати брзину шифрованог тунела? Мој рутер је прилично функционалан, подржава 3к3 МИМО и генерално ради добро, не бих желео да га мењам.
Пошто је сада уобичајено правити интернет странице од 10 мегабајта, писати десктоп апликације у ноде.јс и спаковати их у датотеку од 100 мегабајта, повећати рачунарску снагу уместо оптимизације, урадићемо нешто страшно – пребацићемо ВПН везу на продуктиван „компјутер“ са једном плочом Оранге Пи Оне, који ћемо инсталирати у кућиште рутера без преузимања постојећих мрежних и УСБ портова, за само 9.99 УСД*!
* + достава, + порези, + за пиво, + МицроСД.

ОпенВПН

Процесор рутера се не може назвати потпуно слабим - способан је да шифрује и хешује податке користећи АЕС-128-ЦБЦ-СХА1 алгоритам брзином од 50 Мб/с, што је приметно брже од начина на који ОпенВПН ради, а савремени ЦХАЦХА20 стреам шифра са ПОЛИ1305 хешом достиже чак 130 мегабита у секунди! Зашто је брзина ВПН тунела тако мала? Све је у промени контекста између корисничког простора и простора кернела: ОпенВПН шифрује саобраћај и комуницира са спољним светом у корисничком контексту, а само рутирање се дешава у контексту кернела. Оперативни систем мора стално да се пребацује напред-назад за сваки примљени или пренет пакет, а ова операција је спора. Овај проблем је својствен свим ВПН апликацијама које раде преко ТУН/ТАП драјвера и не може се рећи да је проблем мале брзине узрокован лошом ОпенВПН оптимизацијом (иако, наравно, постоје места која треба прерадити). Ниједан ВПН клијент корисничког простора не пружа чак ни гигабит са онемогућеном енкрипцијом на мом лаптопу, а камоли системима са слабим процесором.

Оранге Пи Оне

Оранге Пи Оне са једном плочом из Ксунлонга је најбоља понуда у погледу односа перформанси и цене у овом тренутку. За 9.99 долара* добијате солидан четворојезгарни АРМ Цортек-А7 процесор који ради (стабилно) на 1008 МХз и очигледно надмашује своје суседе по цени Распберри Пи Зеро и Нект Тхинг ЦХИП. Ту се предности завршавају. Компанија Ксунлонг посвећује потпуно нулту пажњу софтверу својих плоча, а у време када је Оне пуштен у продају, није дала чак ни конфигурациону датотеку плоче, а да не спомињемо готове слике. Аллвиннер, произвођач СоЦ-а, такође није посебно осетљив на подршку свом производу. Они су заинтересовани само за минималне перформансе у Андроид 4.4.4 ОС, што значи да смо приморани да користимо 3.4 кернел са Андроид закрпама. На срећу, постоје ентузијасти који склапају дистрибуције, уређују кернел, пишу код за подршку плочама у главном кернелу, тј. они заправо раде посао за произвођача, чинећи ово срање прихватљивим. За моје потребе, изабрао сам Армбиан дистрибуцију која се често и згодно ажурира (нови кернели се инсталирају директно преко менаџера пакета, а не копирањем датотека на посебну партицију, као што је обично случај са Аллвиннер-ом), и подржава већину; периферије, за разлику од осталих.

Рутер

Да не бисмо оптерећивали слаб процесор рутера енкрипцијом и убрзали нашу ВПН везу, овај задатак можемо пребацити на рамена моћнијег Оранге Пи процесора тако што ћемо га на неки начин повезати са рутером. Пада ми на памет повезивање било преко Етхернета или УСБ-а - оба ова стандарда подржавају оба уређаја, али нисам желео да преузимам постојеће портове. На срећу, постоји излаз.

ГЛ850Г УСБ чвориште чип, који се користи у рутеру, подржава 4 УСБ порта, од којих два нису ожичена. Нејасно је зашто их произвођач није одлемио, претпостављам, како би спречио кориснике да повежу 4 уређаја са великом потрошњом струје (на пример, хард дискове) одједном. Стандардно напајање рутера није дизајнирано за такво оптерећење. У сваком случају, ово нам иде у прилог.
Убрзајте ОпенВПН за 9.99 долара* или интегришите Оранге Пи Оне у свој рутер
Да бисте добили још један УСБ порт, потребно је само да залемите две жице на пинове 8(Д-) и 9(Д+) или 11(Д-) и 12(Д+).

Убрзајте ОпенВПН за 9.99 долара* или интегришите Оранге Пи Оне у свој рутер

Међутим, није довољно само прикључити два УСБ уређаја и надати се да ће све функционисати само од себе, као што би било са Етернетом. Прво, морамо да учинимо да један од њих ради у режиму УСБ клијента, а не УСБ Хост, и друго, морамо да одлучимо како ће уређаји детектовати једни друге. Постоји много драјвера за такозване УСБ гаџете (назване по подсистему Линук кернел), који вам омогућавају да емулирате различите типове УСБ уређаја: мрежни адаптер, аудио картицу, тастатуру и миш, флеш диск, камеру, конзолу преко серијског Лука. Пошто ће наш уређај радити са мрежом, емулација Етхернет адаптера је најбоља за нас.

Постоје три Етхернет-овер-УСБ стандарда:

  • Удаљени НДИС (РНДИС). Застарели стандард из Мицрософта, који се првенствено користи током Виндовс КСП-а.
  • Етернет контролни модел (ЕЦМ). Једноставан стандард који инкапсулира Етхернет оквире унутар УСБ пакета. Одличан за жичане модеме са УСБ везом, где је згодно преносити оквире без обраде, али због своје једноставности и ограничења УСБ магистрале није баш брз.
  • Етернет емулациони модел (ЕЕМ). Паметнији протокол који узима у обзир УСБ ограничења и оптимално обједињује више оквира у један, чиме се повећава пропусност.
  • Модел контроле мреже (НЦМ). Најновији протокол. Има предности ЕЕМ-а и додатно оптимизује искуство са аутобусом.

Да би било који од ових протокола функционисао на нашој плочи, као и увек, мораћемо да наиђемо на неке потешкоће. Због чињенице да је Аллвиннер заинтересован само за Андроид делове кернела, нормално ради само Андроид Гадгет - код који имплементира комуникацију са адб-ом, извози уређај преко МТП протокола и емулира флеш диск на Андроид уређајима. Сам Андроид гаџет такође подржава РНДИС протокол, али је покварен у Аллвиннер кернелу. Ако покушате да компајлирате кернел са било којим другим УСБ гаџом, уређај се једноставно неће појавити на систему, без обзира шта радите.
Да бисте решили проблем, на пријатељски начин, потребно је да пронађете место где је УСБ контролер иницијализован у коду Андроид гаџета андроид.ц који су модификовали програмери, али постоји и заобилазно решење да се направи барем Етхернет емулација преко УСБ рад:

--- sun8i/drivers/usb/sunxi_usb/udc/sunxi_udc.c 2016-04-16 15:01:40.427088792 +0300
+++ sun8i/drivers/usb/sunxi_usb/udc/sunxi_udc.c 2016-04-16 15:01:45.339088792 +0300
@@ -57,7 +57,7 @@
 static sunxi_udc_io_t g_sunxi_udc_io;
 static u32 usb_connect = 0;
 static u32 is_controller_alive = 0;
-static u8 is_udc_enable = 0;   /* is udc enable by gadget? */
+static u8 is_udc_enable = 1;   /* is udc enable by gadget? */
 
 #ifdef CONFIG_USB_SUNXI_USB0_OTG
 static struct platform_device *g_udc_pdev = NULL;

Ова закрпа форсира УСБ клијентски режим, омогућавајући вам да користите обичне УСБ гаџете из Линука.
Сада би требало да поново изградите кернел са овом закрпом и потребним гаџетом. Изабрао сам ЕЕМ јер... Према резултатима тестирања, показало се да је продуктивнији од НЦМ-а.
Армбиан тим обезбеђује веома једноставан и згодан систем монтаже за све подржане плоче у дистрибуцији. Само га преузмите, убаците нашу закрпу userpatches/kernel/sun8i-default/otg.patch, уреди мало compile.sh и изаберите жељени гаџет:

Убрзајте ОпенВПН за 9.99 долара* или интегришите Оранге Пи Оне у свој рутер

Кернел ће бити преведен у деб пакет, који неће бити тешко инсталирати на плочу преко dpkg.
Остаје само да повежемо плочу преко УСБ-а и конфигуришемо наш нови мрежни адаптер да прима адресу преко ДХЦП-а. Да бисте то урадили, потребно је да додате нешто попут следећег /etc/network/interfaces:

auto usb0
        iface usb0 inet dhcp
        hwaddress ether c2:46:98:49:3e:9d
        pre-up /bin/sh -c 'echo 2 > /sys/bus/platform/devices/sunxi_usb_udc/otg_role'

МАЦ адресу је боље подесити ручно, јер... биће насумично сваки пут када се уређај поново покрене, што је незгодно и проблематично.
Повезујемо МицроУСБ кабл са ОТГ конектором, повезујемо напајање са рутера (може се напајати на пинове 2 и 3 чешља, а не само на конектор за напајање).

Остаје само да конфигуришете рутер. Довољно је инсталирати пакет са ЕЕМ драјвером и додати наш нови УСБ мрежни уређај на мост локалне фиревалл зоне:

opkg install kmod-usb-net-cdc-eem

Убрзајте ОпенВПН за 9.99 долара* или интегришите Оранге Пи Оне у свој рутер
Да бисте усмерили сав саобраћај ка ВПН тунелу, морате или да додате СНАТ правило ИП адреси плоче на страни рутера или да дистрибуирате адресу плоче као адресу пролаза преко днсмаск-а. Ово последње се ради додавањем следећег реда у /etc/dnsmasq.conf:

dhcp-option = tag:lan, option:router, 192.168.1.100

где 192.168.1.100 — ИП адреса ваше плоче. Не заборавите да унесете адресу рутера у мрежна подешавања на самој плочи!

Меламински сунђер је коришћен да се изолују контакти плоче од контаката рутера. Испало је нешто овако:
Убрзајте ОпенВПН за 9.99 долара* или интегришите Оранге Пи Оне у свој рутер

Закључак

Мрежа преко УСБ-а ради изненађујуће брзо: 100-120 Мб/с, очекивао сам мање. ОпенВПН пролази кроз око 70 Мб/с шифрованог саобраћаја, што такође није много, али довољно за моје потребе. Поклопац рутера се не затвара чврсто, остављајући мали размак. Естети могу да уклоне Етхернет и УСБ Хост конекторе са плоче, што ће омогућити да се поклопац потпуно затвори и да остане мало простора.
Боље је не бавити се таквом порнографијом и купити Туррис Омниа.

Извор: ввв.хабр.цом

Додај коментар