OpenVPN-ро ба маблағи 9.99 доллар суръат диҳед* ё Orange Pi One-ро ба роутери худ ҳамгиро кунед

OpenVPN-ро ба маблағи 9.99 доллар суръат диҳед* ё Orange Pi One-ро ба роутери худ ҳамгиро кунед

Баъзеи мо бо ин ё он сабаб бе VPN интернетро истифода намебарем: касе ба IP-и махсус ниёз дорад ва харидани VPS бо ду IP назар ба харидани суроға аз провайдер осонтар ва арзонтар аст, касе мехоҳад ба ҳама вебсайтҳо дастрасӣ пайдо кунад. , ва на танҳо онҳое, ки дар қаламрави Федератсияи Русия иҷозат дода шудаанд, дигарон ба IPv6 ниёз доранд, аммо провайдер онро таъмин намекунад...
Аксар вақт, пайвасти VPN дар худи дастгоҳе муқаррар карда мешавад, ки дар лаҳзаи муайян истифода мешавад, ин маънои онро дорад, ки агар шумо танҳо як компютер ва як телефон дошта бошед ва онҳоро дар як вақт кам истифода баред. Агар дар шабакаи хонагии шумо дастгоҳҳои зиёде мавҷуд бошанд, ё масалан, баъзеҳо ҳастанд, ки VPN-ро дар онҳо танзим кардан ғайриимкон аст, эҷод кардани нақби мустақим дар роутери хонагӣ қулайтар аст, то дар бораи насб кардани ҳар як дастгоҳ дар алоҳидагӣ фикр накунед. .

Агар шумо ягон бор OpenVPN-ро дар роутератон насб карда бошед, шумо эҳтимол аз кор кардани он ба таври ногувор ҳайрон шудаед. SoC-ҳои ҳатто роутерҳои арзон тақрибан аз трафики гигабитӣ бе мушкилот мегузаранд, аз сабаби интиқоли функсияҳои масир ва NAT ба чипи алоҳида, ки танҳо барои ин вазифа пешбинӣ шудаанд ва протсессори асосии чунин роутерҳо хеле заифанд, зеро Ба болои онхо амалан боре нест. Ин созиш ба шумо имкон медиҳад, ки суръати баланди роутерро ба даст оред ва нархи дастгоҳи тайёрро ба таври назаррас коҳиш диҳед - роутерҳо бо протсессори пурқувват якчанд маротиба гаронтаранд ва на танҳо ҳамчун қуттии паҳнкунии Интернет, балки ҳамчун NAS, torrent ҷойгир карда шудаанд. зеркашӣ ва системаи мултимедиявии хонагӣ.

Роутери ман TP-Link TL-WDR4300-ро нав номидан мумкин нест - модел дар нимаи соли 2012 пайдо шуда, дорои протсессори меъмории 560 МГц MIPS32 74Kc мебошад, ки қудрати он танҳо барои 20-23 Мб/с трафики рамзшуда кифоя аст. тавассути OpenVPN, ки аз рӯи стандартҳо суръати Интернети муосири хонагӣ хеле паст аст.
Чӣ тавр мо метавонем суръати туннели рамзшударо зиёд кунем? Роутери ман хеле функсионалӣ аст, 3x3 MIMO-ро дастгирӣ мекунад ва умуман хуб кор мекунад, ман онро тағир додан намехоҳам.
Азбаски ҳоло маъмулан сохтани саҳифаҳои интернетии 10 мегабайтӣ, навиштани замимаҳои мизи корӣ дар node.js ва бастабандии онҳо ба файли 100 мегабайтӣ, зиёд кардани қудрати ҳисоббарорӣ ба ҷои оптимизатсия, мо кори даҳшатнок мекунем - мо пайвасти VPN-ро ба шабака интиқол медиҳем. як "компютер"-и пурмаҳсули якбортаи Orange Pi One, ки мо онро дар қуттии роутер бидуни гирифтани шабакаи мавҷуда ва портҳои USB насб мекунем, ҳамагӣ ба маблағи $9.99*!
* + расонидани, + андозҳо, + барои пиво, + MicroSD.

OpenVPN

Протсессори роутерро комилан заиф номидан мумкин нест - он қодир аст, ки маълумотро бо истифода аз алгоритми AES-128-CBC-SHA1 бо суръати 50 Мб/с рамзгузорӣ ва хэш кунад, ки назар ба кори OpenVPN ва ҷараёни муосири CHACHA20 ба таври назаррас тезтар аст. шифр бо hash POLY1305 ҳатто ба 130 мегабит дар як сония мерасад! Чаро суръати нақби VPN ин қадар паст аст? Ин ҳама дар бораи гузариши контекст байни фазои корбар ва фазои ядро ​​​​мебошад: OpenVPN трафикро рамзгузорӣ мекунад ва бо ҷаҳони беруна дар контексти корбар муошират мекунад ва худи масир дар заминаи ядро ​​​​ба амал меояд. Системаи оператсионӣ бояд барои ҳар як бастаи гирифташуда ё интиқолшаванда пайваста ба пеш ва пеш гузарад ва ин амалиёт суст аст. Ин мушкилот ба ҳама барномаҳои VPN, ки тавассути драйвери TUN/TAP кор мекунанд, хос аст ва гуфтан мумкин нест, ки мушкилоти суръати паст аз сабаби оптимизатсияи сусти OpenVPN ба вуҷуд омадааст (гарчанде ки албатта ҷойҳое ҳастанд, ки бояд аз нав кор карда шаванд). Ҳеҷ як муштарии корбарии VPN дар ноутбуки ман ҳатто як гигабитро бо рамзгузории ғайрифаъол таъмин намекунад, бигзор системаҳои дорои протсессори заиф.

Orange PiOne

Як тахтаи Orange Pi One аз Xunlong беҳтарин пешниҳод аз ҷиҳати таносуби кор/нарх дар айни замон аст. Барои $9.99* шумо протсессори чоргонаи ARM Cortex-A7-ро ба даст меоред, ки дар 1008 МГс кор мекунад (устувор) ва аз ҳамсояҳои нархаш аз Raspberry Pi Zero ва Next Thing CHIP бартарӣ дорад. Дар ин ҷо афзалиятҳо ба охир мерасанд. Ширкати Xunlong ба нармафзори тахтаҳои худ комилан сифр аҳамият медиҳад ва дар вақти ба фурӯш баровардани One, ҳатто файли конфигуратсияи тахтаро пешниҳод накардааст, ба ғайр аз тасвирҳои тайёр. Allwinner, як истеҳсолкунандаи SoC, инчунин ба дастгирии маҳсулоти худ ҳассос нест. Онҳо танҳо ба иҷрои ҳадди ақал дар OS Android 4.4.4 манфиатдоранд, ки ин маънои онро дорад, ки мо маҷбурем ядрои 3.4-ро бо часбчаҳои Android истифода барем. Хушбахтона, ҳаваскороне ҳастанд, ки тақсимотро ҷамъ мекунанд, ядроро таҳрир мекунанд, код менависанд, то тахтаҳои дастгирӣ дар ядрои асосӣ, яъне. онхо дар хакикат кори истехсолкунандаро ба чо меоваранд ва ин кори лоакалро ба таври кобили кабул мегардонанд. Барои мақсадҳои ман, ман тақсимоти Armbian-ро интихоб кардам; он зуд-зуд ва ба осонӣ нав карда мешавад (ядроҳои нав мустақиман тавассути менеҷери бастаҳо насб карда мешаванд, на бо нусхабардории файлҳо ба қисмати махсус, чунон ки одатан дар Allwinner аст) ва он аксари дастгоҳҳои периферӣ, бар хилофи дигарон.

Роуминг

Барои он ки протсессори заифи роутер бо рамзгузорӣ бор нашавад ва пайвасти VPN-и худро суръат надиҳад, мо метавонем ин вазифаро ба дӯши протсессори пурқувваттари Orange Pi гузорем, ки онро ба роутер бо ягон роҳ пайваст кунем. Пайвастшавӣ тавассути Ethernet ё USB ба хотир меояд - ҳардуи ин стандартҳо аз ҷониби ҳарду дастгоҳ дастгирӣ мешаванд, аммо ман намехостам, ки портҳои мавҷударо гиранд. Хушбахтона, роҳи халосӣ вуҷуд дорад.

Чипи USB hub GL850G, ки дар роутер истифода мешавад, 4 порти USB-ро дастгирӣ мекунад, ки дутои онҳо симдор нестанд. Маълум нест, ки чаро истеҳсолкунанда онҳоро ҷудо накардааст, ман гумон мекунам, ки корбарон аз пайваст кардани 4 дастгоҳи дорои истеъмоли ҷараён (масалан, дискҳои сахт) якбора пешгирӣ кунанд. Таъмини барқи стандартии роутер барои чунин сарборӣ пешбинӣ нашудааст. Ба хар хол ин ба фоидаи мост.
OpenVPN-ро ба маблағи 9.99 доллар суръат диҳед* ё Orange Pi One-ро ба роутери худ ҳамгиро кунед
Барои ба даст овардани порти дигари USB, шумо бояд танҳо ду симро ба пинҳои 8(D-) ва 9(D+) ё 11(D-) ва 12(D+) кафшер кунед.

OpenVPN-ро ба маблағи 9.99 доллар суръат диҳед* ё Orange Pi One-ро ба роутери худ ҳамгиро кунед

Бо вуҷуди ин, танҳо пайваст кардани ду дастгоҳи USB кофӣ нест ва умедворем, ки ҳама чиз худ аз худ кор хоҳад кард, чунон ки бо Ethernet кор мекунад. Аввалан, мо бояд яке аз онҳоро дар реҷаи USB Client кор кунем, на USB Host, ва дуюм, мо бояд тасмим гирем, ки чӣ гуна дастгоҳҳо якдигарро ошкор мекунанд. Барои гаҷетҳои ба истилоҳ USB гаҷетҳо (бо номи зерсистемаи ядрои Linux) бисёр драйверҳо мавҷуданд, ки ба шумо имкон медиҳанд намудҳои гуногуни дастгоҳҳои USB-ро тақлид кунед: адаптери шабакавӣ, корти аудио, клавиатура ва муш, флеш-диск, камера, консол тавассути силсила бандар. Азбаски дастгоҳи мо бо шабака кор мекунад, тақлид кардани адаптери Ethernet барои мо беҳтар аст.

Се стандарти Ethernet-over-USB вуҷуд дорад:

  • NDIS дурдаст (RNDIS). Стандарти кӯҳна аз Microsoft, ки асосан дар давоми Windows XP истифода мешавад.
  • Модели назорати Ethernet (ECM). Стандарти оддӣ, ки чаҳорчӯбаи Ethernet-ро дар бастаҳои USB фаро мегирад. Барои модемҳои симдор бо пайвасти USB хеле хуб аст, ки дар он ҷо интиқоли чаҳорчӯба бидуни коркард қулай аст, аммо аз сабаби соддагӣ ва маҳдудияти автобуси USB он хеле зуд нест.
  • Модели эмулятории Ethernet (EEM). Протоколи оқилонае, ки маҳдудиятҳои USB-ро ба инобат мегирад ва чаҳорчӯбаи сершуморро ба як оптималӣ муттаҳид мекунад ва ба ин васила қобилияти интиқолро афзоиш медиҳад.
  • Модели идоракунии шабака (NCM). Протоколи навтарин. Манфиатҳои EEM дорад ва таҷрибаи автобусро минбаъд оптимизатсия мекунад.

Барои он ки яке аз ин протоколҳо дар тахтаи мо кор кунанд, мисли ҳамеша, мо бояд ба баъзе мушкилот дучор шавем. Аз сабаби он, ки Allwinner танҳо ба қисмҳои Android-и ядро ​​таваҷҷӯҳ дорад, танҳо Android Gadget муқаррарӣ кор мекунад - коде, ки иртиботро бо adb амалӣ мекунад, дастгоҳро тавассути протоколи MTP содир мекунад ва флеш-дискро дар дастгоҳҳои Android тақлид мекунад. Худи Android Gadget низ протоколи RNDIS-ро дастгирӣ мекунад, аммо он дар ядрои Allwinner шикастааст. Агар шумо кӯшиш кунед, ки ядроро бо ягон гаҷети дигари USB тартиб диҳед, новобаста аз он ки шумо чӣ кор мекунед, дастгоҳ дар система пайдо намешавад.
Барои ҳалли мусолиматомези мушкилот, шумо бояд ҷойеро пайдо кунед, ки контроллери USB дар коди гаҷети Android android.c, ки аз ҷониби таҳиягарон тағир дода шудааст, оғоз карда мешавад, аммо инчунин як роҳи ҳалкунанда вуҷуд дорад, ки ҳадди аққал эмулясияи Ethernet-ро аз байн барад. Кори USB:

--- 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;

Ин часпак ҳолати муштарии USB-ро маҷбур мекунад, ки ба шумо имкон медиҳад гаҷетҳои муқаррарии USB аз Linux истифода баред.
Акнун шумо бояд ядроро бо ин пачка ва гаҷети зарурӣ аз нав созед. Ман EEM-ро интихоб кардам, зеро... Мувофиқи натиҷаҳои санҷиш, он нисбат ба NCM самараноктар буд.
Дастаи Армия таъмин мекунад системаи хеле содда ва қулай васлкунӣ барои ҳама тахтаҳои дастгирӣ дар тақсимот. Танҳо онро зеркашӣ кунед, патчамонро гузоред userpatches/kernel/sun8i-default/otg.patch, каме таҳрир кунед compile.sh ва гаҷети лозимиро интихоб кунед:

OpenVPN-ро ба маблағи 9.99 доллар суръат диҳед* ё Orange Pi One-ро ба роутери худ ҳамгиро кунед

Ядро ба бастаи deb тартиб дода мешавад, ки тавассути он насб кардан дар тахта душвор нест dpkg.
Танҳо ин аст, ки тахтаро тавассути USB пайваст кунем ва адаптери нави шабакаи моро барои гирифтани суроға тавассути DHCP танзим кунем. Барои ин ба шумо лозим аст, ки чизе монанди зеринро илова кунед /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'

Суроғаи MAC-ро дастӣ таъин кардан беҳтар аст, зеро... ҳар дафъае, ки дастгоҳ бозоғоз мешавад, тасодуфӣ хоҳад буд, ки ин нороҳат ва мушкил аст.
Мо сими MicroUSB-ро ба пайвасткунаки OTG пайваст мекунем, қувваи барқро аз роутер пайваст мекунем (он метавонад ба пинҳои 2 ва 3-и шона дода шавад, на танҳо ба пайвасткунаки барқ).

Ҳама чизи боқимонда танзим кардани роутер аст. Барои насб кардани баста бо драйвери EEM кифоя аст ва дастгоҳи нави шабакаи USB-и моро ба пули минтақаи брандмауэри маҳаллӣ илова кунед:

opkg install kmod-usb-net-cdc-eem

OpenVPN-ро ба маблағи 9.99 доллар суръат диҳед* ё Orange Pi One-ро ба роутери худ ҳамгиро кунед
Барои масири тамоми трафик ба нақби VPN, шумо бояд ё як қоидаи SNAT-ро ба суроғаи IP-и тахта дар тарафи роутер илова кунед ё суроғаи тахтаро ҳамчун суроғаи дарвоза тавассути dnsmasq паҳн кунед. Охирин бо илова кардани сатри зерин ба анҷом дода мешавад /etc/dnsmasq.conf:

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

ки 192.168.1.100 — Суроғаи IP-и тахтаи шумо. Фаромӯш накунед, ки суроғаи роутерро дар танзимоти шабака дар худи тахта ворид кунед!

Исфанҷи меламин барои ҷудо кардани контактҳои тахта аз контактҳои роутер истифода мешуд. Чунин баромад:
OpenVPN-ро ба маблағи 9.99 доллар суръат диҳед* ё Orange Pi One-ро ба роутери худ ҳамгиро кунед

хулоса

Шабака тавассути USB ба таври ҳайратангез зуд кор мекунад: 100-120 Мб/с, ман камтар интизор будам. OpenVPN аз трафики рамзгузоришуда тақрибан 70 Мб/с мегузарад, ки ин ҳам он қадар зиёд нест, аммо барои эҳтиёҷоти ман кофӣ аст. Сарпӯши роутер сахт пӯшида намешавад ва холигии хурде мегузорад. Aesthetes метавонанд пайвасткунакҳои Ethernet ва USB Host-ро аз тахта хориҷ кунанд, ки ин имкон медиҳад, ки сарпӯш пурра баста шавад ва ҳоло ҳам каме ҷой боқӣ мемонад.
Беҳтар аст, ки ба чунин порнография машғул нашавед ва харед Туррис Омниа.

Манбаъ: will.com

Илова Эзоҳ