Luathaich OpenVPN airson $9.99 * no cuir a-steach Orange Pi One a-steach don router agad

Luathaich OpenVPN airson $9.99 * no cuir a-steach Orange Pi One a-steach don router agad

Cha bhith cuid againn a’ cleachdadh an eadar-lìn às aonais VPN airson adhbhar air choireigin: feumaidh cuideigin IP sònraichte, agus tha e nas fhasa agus nas saoire VPS a cheannach le dà IP na bhith a’ ceannach seòladh bho sholaraiche, tha cuideigin airson faighinn chun a h-uile làrach-lìn. , agus chan e a-mhàin an fheadhainn a tha ceadaichte air fearann ​​​​Caidreachas na Ruis, feumaidh cuid eile IPv6, ach chan eil an solaraiche a’ toirt seachad e ...
Mar as trice, thèid ceangal VPN a stèidheachadh air an inneal fhèin a thathas a ’cleachdadh aig àm sònraichte, a tha a’ dèanamh ciall mura h-eil agad ach aon choimpiutair agus aon fhòn agus nach ann ainneamh a bhios tu gan cleachdadh aig an aon àm. Ma tha mòran innealan anns an lìonra dachaigh agad, no, mar eisimpleir, gu bheil cuid ann air nach urrainnear VPN a rèiteachadh, bhiodh e na b’ fhasa tunail a chruthachadh gu dìreach air an router dachaigh gus nach smaoinich thu air gach inneal a stèidheachadh air leth. .

Ma tha thu a-riamh air OpenVPN a chuir a-steach air an router agad, is dòcha gun do chuir thu iongnadh mì-thlachdmhor ort leis cho luath sa tha e ag obair. Bidh na SoCs de routers eadhon saor a ’dol troimhe timcheall air trafaic gigabit gun duilgheadas sam bith, mar thoradh air gluasad gnìomhan slighe agus NAT gu sliseag air leth a chaidh a dhealbhadh a-mhàin airson na h-obrach seo, agus tha prìomh phròiseasan routers mar sin gu math lag, oir Cha mhòr nach eil uallach sam bith orra. Leigidh an co-rèiteachadh seo dhut astar àrd an router a choileanadh agus prìs an inneal crìochnaichte a lughdachadh gu mòr - bidh routers le pròiseasairean cumhachdach a ’cosg grunn thursan nas motha, agus tha iad air an suidheachadh chan ann a-mhàin mar bhogsa airson a bhith a’ cuairteachadh an eadar-lìn, ach cuideachd mar NAS, torrent downloader agus dachaigh ioma-mheadhan siostam.

Chan urrainnear an router agam, TP-Link TL-WDR4300, a ghairm ùr - nochd am modail ann am meadhan 2012, agus tha pròiseasar ailtireachd 560 MHz MIPS32 74Kc aige, agus chan eil a chumhachd ach gu leòr airson 20-23 Mb / s de thrafaig crioptaichte tro OpenVPN, a tha a rèir inbhean Tha astar eadar-lìn dachaigh an latha an-diugh gu math ìosal.
Ciamar as urrainn dhuinn astar tunail crioptaichte àrdachadh? Tha an router agam gu math obrachail, a’ toirt taic do 3 × 3 MIMO, agus mar as trice ag obair gu math, cha bhithinn airson atharrachadh.
Leis gu bheil e a-nis àbhaisteach duilleagan eadar-lìn 10-megabyte a dhèanamh, tagraidhean deasg a sgrìobhadh ann an node.js agus am pacadh a-steach do fhaidhle 100-megabyte, àrdaich cumhachd coimpiutaireachd an àite optimization, nì sinn rudeigin uamhasach - gluaisidh sinn an ceangal VPN gu Orange Pi One “coimpiutair” aon-bhòrd torach, a stàlaicheas sinn ann an cùis an router gun a bhith a’ gabhail ris na puirt lìonra is USB a th’ ann mar-thà, airson dìreach $9.99*!
* + lìbhrigeadh, + cìsean, + airson lionn, + MicroSD.

OpenVPN

Chan urrainnear pròiseasar an router a ghairm gu tur lag - tha e comasach air dàta a chrioptachadh agus a bhualadh le bhith a’ cleachdadh an algairim AES-128-CBC-SHA1 aig astar 50 Mb / s, a tha gu math nas luaithe na mar a tha OpenVPN ag obair, agus an t-sruth ùr CHACHA20 Bidh cipher le hash POLY1305 eadhon a’ ruighinn 130 megabits gach diog! Carson a tha astar an tunail VPN cho ìosal? Tha e mu dheidhinn atharrachadh co-theacsa eadar àite luchd-cleachdaidh agus àite kernel: bidh OpenVPN a’ cuairteachadh trafaic agus a ’conaltradh leis an t-saoghal a-muigh ann an co-theacsa an neach-cleachdaidh, agus tha an t-slighe fhèin a’ tachairt ann an co-theacsa kernel. Feumaidh an siostam obrachaidh gluasad air ais is air adhart gu cunbhalach airson a h-uile pacaid a gheibhear no a thèid a ghluasad, agus tha an obrachadh seo slaodach. Tha an duilgheadas seo dualach don h-uile tagradh VPN a tha a’ ruith tro dhràibhear TUN/TAP, agus chan urrainnear a ràdh gu bheil an duilgheadas aig astar ìosal air adhbhrachadh le droch optimization OpenVPN (ged, gu dearbh, tha àiteachan ann a dh’ fheumar ath-obrachadh). Chan e aon neach-cleachdaidh neach-cleachdaidh VPN a bheir seachad eadhon gigabit le crioptachadh ciorramach air an laptop agam, gun luaidh air siostaman le pròiseasar lag.

Orange Pi a h-Aon

Is e an Orange Pi One aon-bhòrd bho Xunlong an tairgse as fheàrr a thaobh coileanadh / prìs an-dràsta. Airson $ 9.99 * gheibh thu pròiseasar cruaidh quad-core ARM Cortex-A7 a ’ruith (seasmhach) aig 1008 MHz, agus gu soilleir a’ coileanadh nas fheàrr na na nàbaidhean prìse aige an Raspberry Pi Zero agus Next Thing CHIP. Seo far a bheil na buannachdan a 'tighinn gu crìch. Chan eil a’ chompanaidh Xunlong a’ toirt aire gu leòr do bhathar-bog a bhùird, agus aig an àm a chaidh am fear a chuir air bhog airson a reic, cha tug e eadhon faidhle rèiteachaidh bùird, gun luaidh air ìomhaighean deiseil. Chan eil Allwinner, neach-dèanamh SoC, cuideachd gu sònraichte mothachail a bhith a’ toirt taic don toradh aige. Chan eil ùidh aca ach ann an glè bheag de choileanadh anns an Android 4.4.4 OS, a tha a’ ciallachadh gum feum sinn an kernel 3.4 a chleachdadh le pìosan Android. Gu fortanach, tha luchd-dealasach ann a bhios a ’tional sgaoilidhean, a’ deasachadh an kernel, a ’sgrìobhadh còd gu bùird taic anns a’ phrìomh kernel, i.e. bidh iad dha-rìribh a’ dèanamh an obair airson an neach-dèanamh, a’ toirt air an crap seo obrachadh gu dòigheil. Airson na h-adhbharan agam, thagh mi an cuairteachadh Armbian; tha e air ùrachadh gu tric agus gu goireasach (tha kernels ùra air an cur a-steach gu dìreach tro mhanaidsear a ’phacaid, agus chan ann le bhith a’ dèanamh lethbhreac de fhaidhlichean gu sgaradh sònraichte, mar as àbhaist le Allwinner), agus tha e a ’toirt taic don mhòr-chuid peripherals, eu-coltach ris an fheadhainn eile.

Sligheadair

Gus nach luchdaich sinn pròiseasar lag an router le crioptachadh agus gus ar ceangal VPN a luathachadh, is urrainn dhuinn an obair seo a ghluasad gu guailnean pròiseasar Orange Pi nas cumhachdaiche le bhith ga cheangal ris an router ann an dòigh air choreigin. Tha ceangal an dàrna cuid tro Ethernet no USB a’ tighinn nam inntinn - tha an dà inbhean sin a’ faighinn taic bhon dà inneal, ach cha robh mi airson na puirt a th’ ann mar-thà a ghabhail. Gu fortanach, tha slighe a-mach ann.

Tha a’ chip mòr-ionad USB GL850G, a thathas a’ cleachdadh san router, a’ toirt taic do 4 puirt USB, agus tha dhà dhiubh gun sreang. Chan eil e soilleir carson nach do chuir an neach-dèanamh às dhaibh, tha mi a’ smaoineachadh, gus casg a chuir air luchd-cleachdaidh innealan 4 a cheangal le caitheamh gnàthach àrd (mar eisimpleir, draibhearan cruaidh) aig an aon àm. Chan eil solar cumhachd àbhaisteach an router air a dhealbhadh airson a leithid de luchd. Ann an suidheachadh sam bith, tha seo gu buannachd dhuinn.
Luathaich OpenVPN airson $9.99 * no cuir a-steach Orange Pi One a-steach don router agad
Gus port USB eile fhaighinn, cha leig thu leas ach dà uèir a chuir gu prìneachan 8(D-) agus 9(D+) no 11(D-) agus 12(D+).

Luathaich OpenVPN airson $9.99 * no cuir a-steach Orange Pi One a-steach don router agad

Ach, chan eil e gu leòr dìreach dà inneal USB a chuir a-steach agus an dòchas gun obraich a h-uile càil leis fhèin, mar a bhiodh e le Ethernet. An toiseach, feumaidh sinn toirt air aon dhiubh obrachadh ann am modh USB Client, agus chan e USB Host, agus san dàrna àite, feumaidh sinn co-dhùnadh ciamar a lorgas na h-innealan a chèile. Tha mòran dhraibhearan ann airson na h-innealan USB ris an canar (air an ainmeachadh às deidh fo-shiostam kernel Linux), a leigeas leat atharrais a dhèanamh air diofar sheòrsaichean de dh’ innealan USB: inneal-atharrachaidh lìonra, cairt claisneachd, meur-chlàr is luchag, draibhear flash, camara, consol tro shreath. port. Leis gum bi an inneal againn ag obair leis an lìonra, tha e nas fheàrr dhuinn inneal-atharrachaidh Ethernet a dhèanamh.

Tha trì inbhean Ethernet-thar-USB ann:

  • NDIS iomallach (RNDIS). Inbhe seann-fhasanta bho Microsoft, air a chleachdadh gu sònraichte rè Windows XP.
  • Modail smachd Ethernet (ECM). Ìre shìmplidh a tha a 'toirt a-steach frèamaichean Ethernet taobh a-staigh pacaidean USB. Fìor mhath airson modems uèirleas le ceangal USB, far a bheil e goireasach frèamaichean a ghluasad gun ghiullachd, ach air sgàth cho sìmplidh ‘s a tha am bus USB, chan eil e gu math luath.
  • Modail Emulation Ethernet (EEM). Pròtacal nas buige a bheir aire do chuingealachaidhean USB agus a bhios a’ cruinneachadh iomadh frèam ann an aon, mar sin a’ meudachadh trochur.
  • Modail Smachd Lìonra (NCM). Am pròtacal as ùire. Tha buannachdan EEM aige agus a’ dèanamh an fheum as fheàrr den eòlas bus.

Gus am bi gin de na protocalan sin ag obair air a’ bhòrd againn, mar as àbhaist, feumaidh sinn coinneachadh ri cuid de dhuilgheadasan. Leis nach eil ùidh aig Allwinner ach anns na pàirtean Android den kernel, chan eil ach Android Gadget ag obair gu h-àbhaisteach - an còd a chuireas an gnìomh conaltradh le adb, às-mhalairt an inneal tron ​​​​phròtacal MTP agus ag atharrais air draibhear flash air innealan Android. Tha Android Gadget fhèin cuideachd a’ toirt taic do phròtacal RNDIS, ach tha e briste ann an kernel Allwinner. Ma dh'fheuchas tu ris an kernel a chur ri chèile le inneal USB sam bith eile, cha nochd an inneal air an t-siostam, ge bith dè a nì thu.
Gus an duilgheadas fhuasgladh, ann an dòigh càirdeil, feumaidh tu an t-àite a lorg far a bheil an rianadair USB air a thòiseachadh ann an còd inneal Android android.c air atharrachadh leis an luchd-leasachaidh, ach tha dòigh-obrach ann cuideachd gus aithris Ethernet co-dhiù a dhèanamh thairis air. Obair 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;

Bidh am paiste seo a’ sparradh modh teachdaiche USB, a’ toirt cothrom dhut Gadgets USB cunbhalach a chleachdadh bho Linux.
A-nis bu chòir dhut an kernel ath-thogail leis a’ phìos seo agus an inneal riatanach. Thagh mi EEM air sgàth ... A rèir toraidhean deuchainn, thionndaidh e a-mach gu robh e nas cinneasaiche na NCM.
Tha an sgioba Armbian a 'toirt seachad siostam cruinneachaidh gu math sìmplidh agus goireasach airson a h-uile bòrd le taic san sgaoileadh. Dìreach luchdaich sìos e, cuir am paiste againn a-steach userpatches/kernel/sun8i-default/otg.patch, deasaich beagan compile.sh agus tagh an inneal a tha a dhìth:

Luathaich OpenVPN airson $9.99 * no cuir a-steach Orange Pi One a-steach don router agad

Thèid an kernel a chuir ri chèile ann am pasgan deb, nach bi e doirbh a chuir a-steach air a’ bhòrd tro dpkg.
Chan eil air fhàgail ach am bòrd a cheangal tro USB agus an inneal-atharrachaidh lìonra ùr againn a rèiteachadh gus seòladh fhaighinn tro DHCP. Gus seo a dhèanamh feumaidh tu rudeigin mar na leanas a chur ris /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'

Tha e nas fheàrr an seòladh MAC a shuidheachadh le làimh, oir ... bidh e air thuaiream a h-uile uair a thèid an inneal ath-thòiseachadh, rud a tha mì-ghoireasach agus trioblaideach.
Bidh sinn a 'ceangal a' chàball MicroUSB ris a 'cheangal OTG, a' ceangal cumhachd bhon router (faodar a thoirt seachad gu prìneachan 2 agus 3 den chìr, agus chan ann a-mhàin don cheangal cumhachd).

Chan eil air fhàgail ach an router a rèiteachadh. Tha e gu leòr am pasgan a chuir a-steach leis an draibhear EEM agus an inneal lìonra USB ùr againn a chuir ri drochaid an raon balla-teine ​​​​ionadail:

opkg install kmod-usb-net-cdc-eem

Luathaich OpenVPN airson $9.99 * no cuir a-steach Orange Pi One a-steach don router agad
Gus an trafaic gu lèir a stiùireadh gu tunail VPN, feumaidh tu an dàrna cuid riaghailt SNAT a chuir ri seòladh IP a’ bhùird air taobh an router, no seòladh a ’bhùird a sgaoileadh mar sheòladh geata tro dnsmasq. Tha an tè mu dheireadh air a dhèanamh le bhith a 'cur an loidhne a leanas ris /etc/dnsmasq.conf:

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

far a bheil 192.168.1.100 - Seòladh IP a’ bhùird agad. Na dì-chuimhnich gun cuir thu a-steach seòladh an router anns na roghainnean lìonra air a’ bhòrd fhèin!

Chaidh spong melamine a chleachdadh gus na fiosan bùird a sgaradh bho luchd-aithne an router. Thionndaidh e a-mach rudeigin mar seo:
Luathaich OpenVPN airson $9.99 * no cuir a-steach Orange Pi One a-steach don router agad

co-dhùnadh

Bidh an lìonra tro USB ag obair gu h-iongantach luath: 100-120 Mb / s, bha dùil agam nas lugha. Bidh OpenVPN a’ dol tro timcheall air 70 Mb / s de thrafaig crioptaichte, rud nach eil gu mòr cuideachd, ach gu leòr airson na feumalachdan agam. Cha bhith mullach an router a’ dùnadh gu teann, a’ fàgail beàrn beag. Faodaidh Aesthetes na ceanglaichean Ethernet agus USB Host a thoirt air falbh bhon bhòrd, a leigeas leis a’ mhullach dùnadh gu tur agus beagan àite a bhith agad fhathast.
Tha e nas fheàrr gun a bhith an sàs ann an pornagraf mar sin agus ceannach Omnia Turris.

Source: www.habr.com

Cuir beachd ann