
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 thjeshtë dhe më e lirë të blini një VPS me dy IP sesa të blini një adresë nga ofruesi, disa duan të kenë qasje në të gjitha uebsajtet, jo vetëm ato të lejuara në territorin e RF, të tjerët kanë nevojë për IPv6, dhe ofruesi nuk e ofron atë...
Më së shpeshti, lidhja VPN vendoset në vetë pajisjen që përdoret në momentin e caktuar, gjë që është tërësisht e arsyeshme nëse keni vetëm një kompjuter dhe një telefon dhe i përdorni ato rrallë njëkohësisht. Nëse në rrjetin tuaj në shtëpi ka shumë pajisje, ose, për shembull, disa prej tyre nuk mund të konfigurohen me VPN, do të ishte më e përshtatshme të ngrinin një tunel direkt në routerin e shtëpisë, për të mos u shqetësuar për konfigurimin e çdo pajisjeje veç e veç.
NĂ«se keni instaluar ndonjĂ«herĂ« OpenVPN nĂ« routerin tuaj, ndoshta keni qenĂ« tĂ« papritur nga shpejtĂ«sia e tij. SoC-tĂ« e routerĂ«ve edhe tĂ« lirĂ« kalojnĂ« pa ndonjĂ« problem trafikun gati njĂ« gigabit, falĂ« nxjerrjes sĂ« funksioneve tĂ« routing dhe NAT nĂ« njĂ« çip tĂ« veçantĂ« tĂ« projektuar pikĂ«risht pĂ«r kĂ«tĂ« detyrĂ«, ndĂ«rsa procesorĂ«t kryesorĂ« tĂ« tillĂ« tĂ« routerĂ«ve janĂ« mjaft tĂ« dobĂ«t, pasi ngarkesa mbi ta Ă«shtĂ« pothuajse e pazakontĂ«. Ky kompromis lejon arritjen e shpejtĂ«sive tĂ« larta tĂ« punĂ«s sĂ« routerit dhe ka njĂ« ndikim tĂ« dukshĂ«m nĂ« uljen e çmimit tĂ« pajisjes pĂ«rfundimtare â routerĂ«t me procesorĂ« tĂ« fuqishĂ«m kushtojnĂ« disa herĂ« mĂ« shumĂ« dhe pozicionohen tani jo vetĂ«m si njĂ« kuti pĂ«r shpĂ«rndarjen e internetit, por gjithashtu si NAS, pĂ«r shkarkim torrenti dhe si njĂ« sistem multimedial nĂ« shtĂ«pi.
Routeri im, TP-Link TL-WDR4300, nuk mund tĂ« quhet i ri â modeli u shfaq nĂ« mesin e vitit 2012 dhe ka njĂ« procesor 560 MHz tĂ« arkitekturĂ«s MIPS32 74Kc, fuqia e tĂ« cilit Ă«shtĂ« e mjaftueshme pĂ«r 20-23 Mb/s trafik tĂ« enkriptuar pĂ«rmes OpenVPN, qĂ« sipas standardeve tĂ« shpejtĂ«sisĂ« moderne tĂ« internetit shtĂ«piak Ă«shtĂ« pak.
Si mund ta rrisim shpejtĂ«sinĂ« e tunelit tĂ« enkriptuar? Routeri im Ă«shtĂ« mjaft funksional, mbĂ«shtet 3Ă3 MIMO, dhe gjithashtu, punon mirĂ«, nuk do tĂ« doja ta ndĂ«rronja atĂ«.
Duke pasur parasysh se tani Ă«shtĂ« e zakonshme tĂ« krijohen faqe interneti 10-megabaite, tĂ« shkruhen aplikacione desktop nĂ« node.js dhe tĂ« paketohen ato nĂ« njĂ« skedar 100-megabaite, tĂ« rritet fuqia kompjuterike nĂ« vend qĂ« tĂ« optimizohet, ne do tĂ« bĂ«jmĂ« diçka tĂ« tmerrshme â do tĂ« mbajmĂ« lidhjen VPN nĂ« njĂ« "kompjuter" tĂ« fuqishĂ«m tĂ« bazuar nĂ« plaka, Orange Pi One, i cili do tĂ« vendoset nĂ« trupin e routerit, pa zĂ«nĂ« portat ekzistuese rrjetĂ«sore dhe USB, pĂ«r vetĂ«m $9.99*!
* + dërgesa, + taksat, + për birrë, + MicroSD.
IKEv2-IPSec
Nuk mund tĂ« quhet fare i dobĂ«t procesori i routerit â ai Ă«shtĂ« i aftĂ« tĂ« enkriptojĂ« dhe hashes tĂ« dhĂ«nat me algoritmin AES-128-CBC-SHA1 me njĂ« shpejtĂ«si prej 50 Mb/s, qĂ« Ă«shtĂ« dukshĂ«m mĂ« e shpejtĂ« se sa punon OpenVPN, dhe algoritmi modern i enkriptimit CHACHA20 me hash POLY1305 arrin madje deri nĂ« 130 megabit nĂ« sekondĂ«! Pse pra 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 sĂ« bĂ«rthamĂ«s: OpenVPN enkripton trafikun dhe komunikon me botĂ«n e jashtme nĂ« kontekstin e pĂ«rdoruesit, ndĂ«rsa rrugĂ«zimi ndodh brenda hapĂ«sirĂ«s sĂ« bĂ«rthamĂ«s. Sistemi i operimit Ă«shtĂ« i detyruar tĂ« kalojĂ« vazhdimisht atje-kĂ«tu pĂ«r çdo paketĂ« tĂ« pranuar ose tĂ« dĂ«rguar, dhe kjo operacion nuk Ă«shtĂ« i shpejtĂ«. Kjo problematikĂ« Ă«shtĂ« e pranishme nĂ« tĂ« gjitha aplikacionet VPN qĂ« punojnĂ« pĂ«rmes TUN/TAP-çipit dhe nuk mund tĂ« thuhet se problemi i shpejtĂ«sisĂ« sĂ« ulĂ«t Ă«shtĂ« pĂ«r shkak tĂ« optimizimit tĂ« dobĂ«t tĂ« OpenVPN (edhe pse, sigurisht, ka vende qĂ« duhen rregulluar). AsnjĂ« klient VPN nĂ« hapĂ«sirĂ« tĂ« pĂ«rdoruesit nuk arrin as njĂ« gigabit me enkriptim tĂ« çjerrĂ« nĂ« laptopin tim, çfarĂ« tĂ« thuash pĂ«r sistemet me procesorĂ« tĂ« dobĂ«t.
Orange Pi One
Pllaka Orange Pi One nga kompania Xunlong â oferta mĂ« e mirĂ« lidhur me performancĂ«n dhe çmimin aktualisht. PĂ«r $9.99* ju merrni njĂ« procesor katĂ«rbĂ«rthamor ARM Cortex-A7, qĂ« punon nĂ« njĂ« frekuencĂ« 1008 MHz, duke qenĂ« dukshĂ«m mĂ« efikas se konkurrentĂ«t e tij Raspberry Pi Zero dhe Next Thing C.H.I.P. nĂ« kĂ«tĂ« çmim. KĂ«tu pĂ«rfundon pozitiviteti. Kompania Xunlong i kushton zero vĂ«mendje softuerit tĂ« pllakave tĂ« saj, dhe nĂ« momentin e lançimit tĂ« One nĂ« shitje, nuk ofronte as njĂ« skedar konfigurimi, pa pĂ«rmendur imazhet e gatshme. Allwinner â prodhuesi i SoC â gjithashtu nuk ia ka shumĂ« pĂ«r atĂ« qĂ« mbĂ«shtet produktin e tij. Ata interesohen vetĂ«m pĂ«r funksionalitetin minimal nĂ« OS Android 4.4.4, pra e bĂ«jmĂ« tĂ« nevojshme tĂ« pĂ«rdorim njĂ« bĂ«rthamĂ« versioni 3.4 me patch-e Android. PĂ«r fat, ka entuziastĂ« qĂ« mbledhin distribucione, rregullojnĂ« bĂ«rthamat, shkruajnĂ« kod pĂ«r mbĂ«shtetje tĂ« pllakave nĂ« bĂ«rthamĂ«n mainline, pra, faktikisht, e bĂ«jnĂ« punĂ«n pĂ«r prodhuesin, duke e bĂ«rĂ« kĂ«tĂ« gjĂ« tĂ« pranueshme pĂ«r funksionim. PĂ«r nevojat e mia, kam zgjedhur distribucionin Armbian, i cili pĂ«rditĂ«sohet shpesh dhe nĂ« mĂ«nyrĂ« tĂ« pĂ«rshtatshme (bĂ«rthamat e reja instalohen drejtpĂ«rdrejt pĂ«rmes menaxherit tĂ« paketave, e jo duke kopjuar skedarĂ«t nĂ« njĂ« pjesĂ« tĂ« veçantĂ«, siç Ă«shtĂ« zakon te Allwinner), dhe gjithashtu mbĂ«shtet shumicĂ«n e periferikĂ«ve, ndryshe nga tĂ« tjerĂ«t.
Router
PĂ«r tĂ« mos ngarkuar procesorin e dobĂ«t tĂ« router-it me enkriptimin dhe pĂ«r tĂ« pĂ«rshpejtuar lidhjen tonĂ« VPN, mund tĂ« transferojmĂ« kĂ«tĂ« detyrĂ« nĂ« njĂ« procesor mĂ« tĂ« fuqishĂ«m Orange Pi, duke e lidhur atĂ« me router-in nĂ« njĂ« mĂ«nyrĂ« apo njĂ« tjetĂ«r. MĂ« vjen nĂ« mendje lidhja pĂ«rmes Ethernet-it ose USB â kĂ«to standarde mbĂ«shteten nga tĂ« dyja pajisjet, por nuk doja tĂ« zija portat ekzistuese. FatmirĂ«sisht, ka njĂ« zgjidhje.
Ăipi i USB-hubit GL850G, i cili pĂ«rdoret nĂ« router, mbĂ«shtet punĂ«n me 4 porte USB, dy prej tĂ« cilave nuk janĂ« tĂ« lidhura. Nuk Ă«shtĂ« e qartĂ« pse prodhuesi nuk i ka lidhur ato, supozoj pĂ«r tĂ« mos lejuar pĂ«rdoruesit tĂ« lidhin menjĂ«herĂ« 4 pajisje me konsum tĂ« lartĂ« tĂ« energjisĂ« (pĂ«r shembull, disqe tĂ« forta), pasi bloku i furnizimit tĂ« router-it nuk Ă«shtĂ« i dizajnuar pĂ«r njĂ« ngarkesĂ« tĂ« tillĂ«. ĂfarĂ«do qoftĂ«, kjo Ă«shtĂ« nĂ« pĂ«rfitimin tonĂ«.

Për të marrë një port tjetër USB, mjafton të lidhni dy telat në pinat 8(D-) dhe 9(D+) ose 11(D-) dhe 12(D+).

Megjithatë, nuk mjafton thjesht të lidhni dy pajisje USB dhe të shpresoni se gjithçka do të funksionojë vetë, siç ndodh me Ethernet. Së pari, na nevojitet të bëjmë që njëra prej tyre të punojë në modalitetin USB Client, e jo USB Host; së dyti, na duhet të vendosim se si pajisjet do të njohin njëra-tjetrën. Ekzistojnë shumë drejtues të ashtuquajturëve USB Gadgets (sipër emrin e nën-sistemit të bërthamës Linux), të cilat lejojnë emulimin e llojeve të ndryshme të pajisjeve USB: adaptori rrjetit, kartela e zërit, tastiera dhe miu, kujtesa USB, kamera, konsola përmes portit seri. Duke qenë se pajisja jonë do të funksionojë me rrjetin, emulimi i adaptorit Ethernet është opsioni më i mirë.
Ekzistojnë tre standarde Ethernet-over-USB:
- Remote NDIS (RNDIS). Një standard i vjetër nga Microsoft, përdorej kryesisht në kohët e Windows XP.
- Ethernet Control Model (ECM). Një standard i thjeshtë, i cili inkapsulon kornizat Ethernet në paketa USB. Përshtatet shkëlqyeshëm për modelet me lidhje USB, ku është e përshtatshme të transmetohen kornizat pa përpunim, por për shkak të thjeshtësisë dhe kufizimeve të autobusit USB, nuk funksionon shumë shpejt.
- Ethernet Emulation Model (EEM). Një protokoll më inteligjent, i cili merr parasysh kufizimet e USB dhe optimizon agregimin e disa kornizave në një, duke rritur kështu kapacitetin.
- Network Control Model (NCM). Protokolli më i ri. Ka avantazhet e EEM dhe optimizon edhe më shumë funkcionalitetin me autobus.
PĂ«r tĂ« bĂ«rĂ« funksional ndonjĂ« nga kĂ«to protokolle nĂ« pllakĂ«n tonĂ«, si gjithmonĂ«, do tĂ« duhet tĂ« pĂ«rballemi me disa vĂ«shtirĂ«si. PĂ«r shkak se Allwinner interesohen vetĂ«m pĂ«r pjesĂ«t Android tĂ« bĂ«rthamĂ«s, vetĂ«m Android Gadget funksionon normalisht â ai kod qĂ« realizon lidhjen me adb, eksportimin e pajisjes pĂ«rmes protokollit MTP dhe emulimin e kujtesĂ«s USB nĂ« pajisjet Android. VetĂ« Android Gadget mbĂ«shtet dhe protokollin RNDIS, por nĂ« bĂ«rthamĂ«n Allwinner Ă«shtĂ« i prishur. NĂ«se provoni tĂ« kompilonit bĂ«rthamĂ«n me ndonjĂ« USB Gadget tjetĂ«r, pajisja thjesht nuk do tĂ« shfaqet nĂ« sistem, çfarĂ«do qĂ« tĂ« bĂ«ni.
Për të zgjidhur problemin, në realitet, duhet të gjeni vendin e inicializimit të kontrolluesit USB në kodin e modifikuar të Android-gadget, android.c, por ka edhe një manovër për të bërë funksional, të paktën, emulimin e Ethernet-it 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; /* 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;Ky ky patch aktivizon forcërisht modin USB-klient, duke lejuar përdorimin e Gadgets USB të zakonshëm nga Linux.
Tani duhet të rindërtoj kernel-in me këtë patch dhe gadget-in e nevojshëm. Kam zgjedhur EEM, pasi sipas rezultateve të testeve, ai ka rezultuar më i shpejtë se NCM.
Ekipi i Armbian ofron për të gjitha platformat e mbështetur në distribucion. Mjafton ta shkarkosh, të vendosësh patch-un tonë në userpatches/kernel/sun8i-default/otg.patch, të redaktosh pak compile.sh dhe të zgjedhësh gadget-in e nevojshëm:

Kernel-i do të ndërtohet si një paketë deb, e cila është e lehtë për t'u instaluar në pllakën përmes dpkg.
Tani duhet vetëm të lidhet pllaka përmes USB dhe të konfigurohet adapterni ynë të ri rrjetor për të marrë adresën përmes DHCP. Për këtë duhet të shtosh diçka të tillë 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'Adresa MAC më mirë të ceket manualisht, pasi ajo do të jetë rastësore me çdo rinisje të pajisjes, që është e pakëndshme dhe e lodhshme.
Lidhim kabllon MicroUSB në portin OTG, lidhim energjinë nga routeri (mund ta vendosim në pinat 2 dhe 3 të grebenit, dhe jo vetëm në portin e energjisë).
Tani duhet të konfigurohet routeri. Mjafton të instalosh paketën me EEM-drajverin dhe të shtosh pajisjen tonë të re rrjetore USB në bridge-in e zonës lokale të firewall-it:
opkg install kmod-usb-net-cdc-eem
Për të drejtuar të gjithë trafikun në tunelin VPN, duhet ose të shtosh një rregull SNAT për adresën IP të pllakës në anën e routerit, ose të ofrosh adresën e pllakës si adresë gateway përmes dnsmasq. Kjo e fundit bëhet duke shtuar këtë rresht në /etc/dnsmasq.conf:
dhcp-option = tag:lan, option:router, 192.168.1.100ku 192.168.1.100 â Adresa IP e pllakĂ«s tuaj. Mos harroni tĂ« shkruani adresĂ«n e router-it nĂ« konfigurimet e rrjetit nĂ« pllakĂ«n vetĂ«!
Për të izoluara kontaktet e pllakës nga kontaktet e routerit, u përdor një sfungjer melamin. Doli kështu:

Përfundimi
Rrjeti funksionon përmes USB-së befasueshëm shpejt: 100-120 Mb/s, prisja më pak. OpenVPN kalon rreth 70 Mb/s të trafikut të enkriptuar, që gjithashtu nuk është shumë, por mjafton për nevojat e mia. Kapaku i routerit nuk mbyllet mirë, duke lënë një hapje të vogël. Estetët mund të hiqnin portat Ethernet dhe USB Host nga pllakë, që do të lejojë kapakun të mbyllet plotësisht dhe të mbetet hapësirë.
Më mirë të mos merresh me një gjë të tillë dhe të blesh .
Burimi: habr.com
