
Disa disa nga ne nuk e pĂ«rdorin internetin pa VPN pĂ«r arsye tĂ« ndryshme: disa kanĂ« nevojĂ« pĂ«r njĂ« IP tĂ« dedikuar, dhe Ă«shtĂ« mĂ« e lehtĂ« dhe mĂ« lirĂ« tĂ« blenĂ« njĂ« VPS me dy IP sesa tĂ« blihet njĂ« adresĂ« nga ofruesi, dikush dĂ«shiron tĂ« ketĂ« qasje nĂ« tĂ« gjitha faqet e internetit dhe jo vetĂ«m ato tĂ« lejueshme nĂ« territorin e KosovĂ«s, tĂ« tjerĂ«t kanĂ« nevojĂ« pĂ«r IPv6, ndĂ«rsa ofruesi nuk e ofron atĂ«âŠ
Më së shpeshti, lidhja VPN vendoset në vetë pajisjen që përdoret në atë moment, që është krejtësisht e arsyeshme nëse keni vetëm një kompjuter dhe një telefon, dhe i përdorni ato rrallë në të njëjtën kohë. Nëse megjithatë, në rrjetin tuaj shtëpiak ka shumë pajisje, ose, për shembull, ka të tilla për të cilat nuk mund të konfigurohet VPN, do të ishte më e përshtatshme të ngritni tunelin drejtpërdrejt në routerin tuaj shtëpiak, në mënyrë që të mos shqetësoheni për konfigurimin e çdo pajisjeje veçmas.
NĂ«se ndonjĂ«herĂ« keni instaluar OpenVPN nĂ« routerin tuaj, pĂ«r siguri keni qenĂ« tĂ« pakĂ«naqur me shpejtĂ«sinĂ« e tij tĂ« punĂ«s. SoC-tĂ« e routerave edhe tĂ« lirĂ« kalojnĂ« pĂ«rmes vetes trafik gati gigabit, falĂ« transferimit tĂ« funksioneve tĂ« rutimit dhe NAT nĂ« njĂ« çip tĂ« veçantĂ«, tĂ« destinuar vetĂ«m pĂ«r kryerjen e kĂ«tij detyre, ndĂ«rsa procesorĂ«t kryesorĂ« tĂ« atyre routerave janĂ« mjaft tĂ« dobĂ«t, pasi ngarkesa mbi ta Ă«shtĂ« praktikisht e papĂ«rfillshme. Ky kompromis lejon arritjen e shpejtĂ«sisĂ« sĂ« lartĂ« tĂ« punĂ«s sĂ« routerit dhe ul ndjeshĂ«m çmimin e pajisjes pĂ«rfundimtare â routerat me procesorĂ« tĂ« fuqishĂ«m kushtojnĂ« disa herĂ« mĂ« shumĂ«, dhe pozicionohen jo vetĂ«m si njĂ« kuti pĂ«r shpĂ«rndarjen e internetit, por edhe si NAS, shkarkues torrent dhe sistem multimedia pĂ«r shtĂ«pi.
Routeri im, TP-Link TL-WDR4300, nuk mund tĂ« quhet i ri â modeli u shfaq nĂ« mes tĂ« vitit 2012, dhe ka njĂ« procesor 560 MHz nga arhitektura MIPS32 74Kc, fuqia e tĂ« cilit Ă«shtĂ« e mjaftueshme vetĂ«m pĂ«r 20-23 Mb/s tĂ« trafikut tĂ« enkriptuar pĂ«rmes OpenVPN, qĂ« sipas standardeve tĂ« shpejtĂ«sisĂ« sĂ« internetit modern tĂ« shtĂ«pive Ă«shtĂ« fare pak.
Si mund ta rrisim shpejtĂ«sinĂ« e tunelit tĂ« enkriptuar? Routeri im Ă«shtĂ« mjaft funksional, mbĂ«shtet 3Ă3 MIMO, dhe nĂ« pĂ«rgjithĂ«si funksionon mirĂ«, nuk do tĂ« doja ta ndryshoja.
Duke se aktualisht pranohet tĂ« krijohen faqe interneti prej 10 megabajtĂ«sh, tĂ« shkruhen aplikacione pĂ«r desktop me node.js dhe tĂ« paketohen ato nĂ« njĂ« skedar prej 100 megabajtĂ«sh, pĂ«r tĂ« rritur kapacitetin pĂ«rpunues nĂ« vend qĂ« tĂ« optimizohet, ne do tĂ« bĂ«jmĂ« diçka tĂ« tmerrshme â do tĂ« transferojmĂ« lidhjen VPN nĂ« njĂ« "kompjuter" tĂ« fuqishĂ«m me njĂ« pllakĂ« tĂ« vetme Orange Pi One, tĂ« cilin do ta vendosim nĂ« kuti ruter, pa zĂ«nĂ« portet ekzistuese rrjet dhe USB, tĂ« gjitha pĂ«r $9.99*!
* + dorëzim, + taksa, + për birrë, + MicroSD.
OpenVPN
Nuk mund tĂ« thuhet se procesori i ruterit Ă«shtĂ« krejtĂ«sisht i dobĂ«t â ai Ă«shtĂ« nĂ« gjendje tĂ« enkriptojĂ« dhe hashojnĂ« tĂ« dhĂ«nat me algoritmin AES-128-CBC-SHA1 me shpejtĂ«si 50 Mb/s, qĂ« Ă«shtĂ« dukshĂ«m mĂ« e shpejtĂ« se sa funksionon OpenVPN, ndĂ«rsa algoritmi modern i enkriptimit CHACHA20 me hash POLY1305 arrin madje deri nĂ« 130 megabit nĂ« sekondĂ«! Pse atĂ«herĂ« shpejtĂ«sia e tunelit VPN Ă«shtĂ« kaq e ulĂ«t? E gjithĂ« çështja Ă«shtĂ« nĂ« kalimin e kontekstit midis hapĂ«sirĂ«s sĂ« pĂ«rdoruesit dhe hapĂ«sirĂ«s bĂ«rthamore: OpenVPN enkripton trafikun dhe komunikon me botĂ«n e jashtme nĂ« kontekstin e pĂ«rdoruesit, ndĂ«rsa nĂ« kontekstin bĂ«rthamor ndodh vetĂ« ruterizimi. Sistemi operativ duhet tĂ« kalojĂ« vazhdimisht nga kĂ«tu atje, pĂ«r çdo paketĂ« qĂ« pranohet ose dĂ«rgohet, dhe kjo operacion Ă«shtĂ« jo shumĂ« i shpejtĂ«. Kjo problem Ă«shtĂ« e pranishme nĂ« tĂ« gjitha aplikacionet VPN qĂ« funksionojnĂ« pĂ«rmes drejtuesit TUN/TAP, dhe nuk mund tĂ« thuhet se problemi i shpejtĂ«sisĂ« sĂ« ulĂ«t Ă«shtĂ« shkaktuar nga optimizimi i dobĂ«t i OpenVPN (edhe pse, natyrisht, ka vende qĂ« duhet tĂ« rregullohen). AsnjĂ« klient VPN nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit nuk arrin as njĂ« gigabit me enkriptimin e çaktivizuar nĂ« laptopin tim, çfarĂ« mund tĂ« thuhet pĂ«r sistemet me procesor tĂ« dobĂ«t.
Orange Pi One
Pana Orange Pi One nga kompania Xunlong Ă«shtĂ« oferta mĂ« e favorshme nĂ« raportin performancĂ«/cmim deri mĂ« tani. PĂ«r $9.99* ju merrni njĂ« procesor tĂ« mirĂ« katĂ«rbĂ«rthamor ARM Cortex-A7, qĂ« punon nĂ« mĂ«nyrĂ« tĂ« qĂ«ndrueshme nĂ« frekuencĂ«n 1008 MHz, dhe Ă«shtĂ« dukshĂ«m mĂ« i fuqishĂ«m se konkurrenca Raspberry Pi Zero dhe Next Thing C.H.I.P. nĂ« kĂ«tĂ« kategori çmimi. KĂ«tu pĂ«rfundojnĂ« avantazhet. Kompania Xunlong i kushton zero vĂ«mendje softuerit tĂ« bordit tĂ« saj, dhe nĂ« momentin e lansimit tĂ« One nĂ« shitje, nuk ofronte as njĂ« skedar tĂ« konfigurimit tĂ« bordit, e lĂ«re mĂ« imazhe tĂ« gatshme. Allwinner â prodhuesi i SoC â gjithashtu nuk i kushton shumĂ« rĂ«ndĂ«si mbĂ«shtetjes sĂ« produktit tĂ« tij. Ata janĂ« tĂ« interesuar vetĂ«m pĂ«r funksionimin minimal nĂ« OS Android 4.4.4, dhe pĂ«r kĂ«tĂ« arsye jemi tĂ« detyruar tĂ« pĂ«rdorim njĂ« bĂ«rthamĂ« versioni 3.4 me patches pĂ«r Android. FatmirĂ«sisht, ka entuziastĂ« qĂ« krijojnĂ« distribucione, modifikojnĂ« bĂ«rthamĂ«n, shkruajnĂ« kod pĂ«r tĂ« mbĂ«shtetur bordet nĂ« bĂ«rthamĂ«n mainline, pra nĂ« fakt bĂ«jnĂ« punĂ«n pĂ«r prodhuesin, duke bĂ«rĂ« qĂ« ky produkt tĂ« funksionojĂ« nĂ« mĂ«nyrĂ« tĂ« pranueshme. PĂ«r qĂ«llimet e mia, kam zgjedhur distribucionin Armbian, i cili pĂ«rditĂ«sohet shpesh dhe lehtĂ«sisht (bĂ«rthamat e reja instalohen direkt pĂ«rmes menaxherit tĂ« paketave, dhe jo me kopjimin e skedareve nĂ« njĂ« seksion tĂ« veçantĂ«, siç ndodh zakonisht me Allwinner), dhe gjithashtu mbĂ«shtet shumicĂ«n e periferikĂ«ve, nĂ« kundĂ«rshtim me tĂ« tjerĂ«t.
Router
PĂ«r tĂ« mos ngarkuar procesorin e dobĂ«t tĂ« routerit me enkriptimin dhe pĂ«r tĂ« pĂ«rshpejtuar lidhjen tonĂ« VPN, mund ta kalojmĂ« kĂ«tĂ« detyrĂ« te njĂ« procesor mĂ« tĂ« fuqishĂ«m Orange Pi, duke e lidhur atĂ« me routerin nĂ« njĂ« mĂ«nyrĂ« tĂ« caktuar. MĂ« vjen nĂ« mend tĂ« lidhem ose pĂ«rmes Ethernet, ose pĂ«rmes USB â tĂ« dy kĂ«to standarde mbĂ«shteten nga tĂ« dy pajisjet, por nuk doja tĂ« zĂ« pĂ«r portet ekzistuese. FatmirĂ«sisht, ka njĂ« zgjidhje.
Ăipi i hub-it USB GL850G, i cili pĂ«rdoret nĂ« router, mbĂ«shtet funksionimin e 4 porteve USB, dy nga tĂ« cilat nuk janĂ« tĂ« salduara. Nuk Ă«shtĂ« e qartĂ« pse prodhuesi nuk i ka salduar ato, supozoj pĂ«r tĂ« mos lejuar pĂ«rdoruesit tĂ« lidhin menjĂ«herĂ« 4 pajisje me konsum tĂ« lartĂ« energie (pĂ«r shembull, disqe tĂ« forta), pasi blloku i furnizimit tĂ« routerit nuk Ă«shtĂ« projektuar pĂ«r njĂ« ngarkesĂ« tĂ« tillĂ«. NĂ« çdo rast, kjo Ă«shtĂ« nĂ« favorin tonĂ«.

Për të marrë një port tjetër USB, është mjaft të bashkangjitni dy tela në pinin 8(D-) dhe 9(D+) ose 11(D-) dhe 12(D+) .

Megjithatë, është e pamjaftueshme të lidhni thjesht dy pajisje USB dhe të shpresoni që gjithçka do të funksionojë vetë, siç do të ndodhte me Ethernet. Së pari, na nevojitet të bëjmë që njërën nga to të punojë në mënyrën USB Client, dhe jo USB Host, dhe së dyti, na nevojitet të përcaktojmë se si pajisjet do të identifikojnë njëra-tjetrën. Ekzistojnë shumë shoferë të ashtuquajturëve USB Gadgets (sipër emrit të nën sistemin Linux-çek) që lejojnë të imitojnë lloje të ndryshme pajisjesh USB: adapteur rrjeti, kartë audio, tastierë dhe maus, memorje USB, kamerë, konsolë përmes portës serial. Duke pasur parasysh se pajisja jonë do të punojë me rrjet, imitim i adapteur Ethernet do të jetë më i përshtatëshmi për ne.
Ka tre standarde Ethernet-over-USB:
- Remote NDIS (RNDIS). Një standard i vjetruar nga Microsoft, përdorej kryesisht në kohët e Windows XP.
- Ethernet Control Model (ECM). Një standard i thjeshtë që inkapsulon framet Ethernet në pako USB. Shumë i përshtatshëm për modemët kabllorë me lidhje USB, ku është e lehtë të përcjellësh kadra pa përpunim, por për shkak të thjeshtësisë dhe kufizimeve të autobusit USB, funksionon mjaft ngadalë.
- Ethernet Emulation Model (EEM). Një protokoll më i mençur, që merr parasysh kufizimet e USB-së dhe optimalisht agregon disa frame në një, duke rritur kështu kapacitetin transmetues.
- Network Control Model (NCM). Protokolli më i ri. Ka përparësi të EEM dhe optimizon edhe më tej funksionin me autobusin.
PĂ«r tĂ« bĂ«rĂ« qĂ« ndonjĂ« nga kĂ«to protokolle tĂ« punojĂ« nĂ« bordin tonĂ«, si gjithmonĂ«, do tĂ« kemi disa vĂ«shtirĂ«si. Duke pasur parasysh se Allwinner interesohet vetĂ«m pĂ«r pjesĂ«t Android tĂ« kernelit, funksionon normalisht vetĂ«m Android Gadget â ai kod qĂ« realizon lidhjen me adb, eksportimin e pajisjes pĂ«rmes protokollit MTP dhe imitim tĂ« memorjes USB nĂ« pajisjet Android. VetĂ« Android Gadget mbĂ«shtet edhe protokollin RNDIS, por nĂ« kernelin Allwinner Ă«shtĂ« i thyer. NĂ«se pĂ«rpiqeni tĂ« kompilonit kernelin me ndonjĂ« USB Gadget tjetĂ«r, pajisja thjesht nuk do tĂ« shfaqet nĂ« sistem, paçka se çfarĂ« bĂ«nĂ«.
Për të zgjidhur problemin, siç është e arsyeshme, është e nevojshme të gjendet vendi i inicializimit të kontrolluesit USB në kodin e modifikuar nga zhvilluesit e Android-gadgetit android.c, por ka një manovër anash për të bërë që të funksionojë, të paktën, imitim i Ethernet përmes 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;
+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;Ky ky kyç është detyruar për të aktivizuar modalitetin USB-client, i cili lejon përdorimin e gadgeteve të zakonshme USB nga Linux.
Tani duhet të rindërtojmë bërthamën me këtë patch dhe gadgetin përkatës. Kam zgjedhur EEM, pasi sipas testeve ka rezultuar më i shpejtë se NCM.
Ekipi i Armbian ofron për të gjitha platformat e mbështetura në distribucion. Mjafton ta shkarkoni, të vendosni patchin tonë në userpatches/kernel/sun8i-default/otg.patch, ta redaktoni pak compile.sh dhe të zgjidhni gadgetin përkatës:

Bërthama do të ndërtohet në një paketë deb, e cila do të jetë e lehtë për t'u instaluar në platinë përmes dpkg.
Tani mbetet vetëm të lidhet plata përmes USB dhe të konfigurohet adapteri ynë i ri i rrjetit për të marrë adresë përmes DHCP. Për këtë, duhet të shtoni diçka si më poshtë në /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'Më mirë është të caktosh manualisht adresën MAC, pasi ajo do të jetë e rastësishme me çdo rinisje të pajisjes, gjë që është e padëshirueshme dhe e ngarkuar.
Lidhni kabllon MicroUSB në portin OTG, lidhni energjinë nga routeri (mund ta jepni në pinet 2 dhe 3 të grebenit, dhe jo vetëm në portin e energjisë).
Tani mbetet të konfigurohet routeri. Mjafton të instaloni paketën me drejtuesin EEM dhe të shtoni pajisjen tonë të re USB të rrjetit në urën e zonës lokale të firewall-it:
opkg install kmod-usb-net-cdc-eem
Për të ristrukturur gjithë trafikun në tunelin VPN, duhet ose të shtoni një rregull SNAT për adresën IP të platinës në anën e routerit, ose të ndani si adresë shkarkimi adresën e platinës përmes dnsmasq. Kjo e fundit bëhet duke shtuar rreshtin e mëposhtëm në /etc/dnsmasq.conf:
dhcp-option = tag:lan, option:router, 192.168.1.100ku 192.168.1.100 â Adresa IP e platinĂ«s suaj. Mos harroni tĂ« shkruani adresĂ«n e routerit nĂ« cilĂ«simet e rrjetit nĂ« vetĂ« platinĂ«n!
Për të izoluar kontaktet e platinës nga kontaktet e routerit, u përdor një sfungjer melamin. Rezultati ishte kështu:

Përfundim
Rrjeti punon nëpërmjet USB me një shpejtësi të habitshme: 100-120 Mb/s, e prisja më pak. OpenVPN kalon rreth 70 Mb/s për trafik të enkriptuar, që gjithashtu nuk është shumë, por për nevojat e mia është e mjaftueshme. Kapaku i routerit mbyllet pak, duke lënë një hapje të vogël. Estetët mund të hiqnin portet Ethernet dhe USB Host nga bordi, që do të lejonte kapakun të mbyllet plotësisht, dhe do të kishte vend edhe për më shumë.
Më mirë të mos merresh me një gjë të tillë dhe të blejë .
Burimi: habr.com
