Azkartu OpenVPN 9.99 $*-ren truke edo integratu Orange Pi One zure bideratzailean

Azkartu OpenVPN 9.99 $*-ren truke edo integratu Orange Pi One zure bideratzailean

Batzuek ez dugu Internet erabiltzen VPNrik gabe arrazoi batengatik edo besteagatik: norbaitek IP dedikatu bat behar du, eta errazagoa eta merkeagoa da bi IP dituen VPS bat erostea hornitzaile bati helbide bat erostea baino, norbaitek webgune guztietara sartu nahi du. , eta Errusiar Federazioaren lurraldean onartzen direnek ez ezik, beste batzuek IPv6 behar dute, baina hornitzaileak ez du ematen...
Gehienetan, une jakin batean erabiltzen ari den gailuan bertan ezartzen da VPN konexioa, eta horrek zentzua du ordenagailu eta telefono bakarra badituzu eta aldi berean oso gutxitan erabiltzen badituzu. Zure etxeko sarean gailu asko baldin badaude, edo, adibidez, VPN konfiguratu ezin daitekeen batzuk badaude, erosoagoa izango litzateke etxeko bideratzailean zuzenean tunela sortzea, gailu bakoitza bereizita konfiguratzeaz ez pentsatzeko. .

Inoiz OpenVPN instalatu baduzu zure bideratzailean, ziurrenik desatsegina harritu zaitu zein azkar funtzionatzen duen. Bideratzaile merkeen SoC-ek gigabit-eko trafiko bat igarotzen dute arazorik gabe, bideratze eta NAT funtzioak zeregin honetarako esklusiboki diseinatutako txip batera transferitzen direlako, eta bideratzaile horien prozesadore nagusiak nahiko ahulak dira, zeren eta. Ia ez dago kargarik. Konpromiso honek bideratzailearen abiadura handia lortzeko eta amaitutako gailuaren prezioa nabarmen murrizteko aukera ematen du - prozesadore indartsuak dituzten bideratzaileek hainbat aldiz gehiago kostatzen dute, eta Internet banatzeko kutxa gisa ez ezik, NAS, torrent gisa ere kokatzen dira. deskargatzailea eta etxeko multimedia sistema.

Nire bideratzailea, TP-Link TL-WDR4300, ezin da berria deitu - eredua 2012 erdialdean agertu zen eta 560 MHz MIPS32 74Kc arkitektura prozesadorea du, zeinaren potentzia nahikoa da 20-23 Mb/s enkriptatutako trafikorako. OpenVPN bidez, hau da, estandarren arabera Etxeko Internet modernoaren abiadura nahiko baxua da.
Nola handitu dezakegu enkriptatutako tunel baten abiadura? Nire bideratzailea nahiko funtzionala da, 3x3 MIMO onartzen du eta, oro har, ondo funtzionatzen du, ez nuke aldatu nahi.
Orain ohikoa denez 10 megabyteko Interneteko orriak egitea, mahaigaineko aplikazioak node.js-en idaztea eta 100 megabyteko fitxategi batean biltzea, informatika-potentzia handitzea optimizatu beharrean, zerbait izugarria egingo dugu - VPN konexioa transferituko dugu. Orange Pi One taula bakarreko "ordenagailu" produktiboa, bideratzailearen kaxan instalatuko duguna lehendik dauden sare eta USB atakarik hartu gabe, $ 9.99* baino ez!
* + entrega, + zergak, + garagardoa, + MicroSD.

OpenVPN

Bideratzailearen prozesadorea ezin da guztiz ahultzat jo; gai da datuak enkriptatzeko eta hash egiteko AES-128-CBC-SHA1 algoritmoa erabiliz 50 Mb/s-ko abiaduran, hau da, OpenVPN-k nola funtzionatzen duen eta CHACHA20 korronte modernoa baino azkarragoa dena. POLY1305 hash batekin zifratzea segundoko 130 megabitetara ere iristen da! Zergatik da hain baxua VPN tunelaren abiadura? Erabiltzaile-espazioaren eta nukleo-espazioaren arteko testuingurua aldatzea da kontua: OpenVPN-k trafikoa enkriptatzen du eta kanpoko munduarekin komunikatzen da erabiltzailearen testuinguruan, eta bideratzea bera nukleoaren testuinguruan gertatzen da. Jasotako edo igorritako pakete bakoitzeko sistema eragileak etengabe aldatu behar du aurrera eta atzera, eta eragiketa hau motela da. Arazo hau TUN/TAP kontrolatzaile baten bidez exekutatzen diren VPN aplikazio guztietan dago berezkoa, eta ezin da esan abiadura baxuaren arazoa OpenVPN optimizazio eskasak eragindakoa denik (nahiz eta, noski, berritu beharreko tokiak egon). Erabiltzaile-espazioko VPN bezero bakar batek ere ez du gigabit bat ere ematen nire ordenagailu eramangarrian enkriptatzea desgaituta, eta are gutxiago prozesadore ahula duten sistemek.

Orange PiOne

Xunlong-eko Orange Pi One taula bakarrekoa da une honetan errendimendu/prezio erlazioari dagokionez eskaintzarik onena. 9.99 $* truke quad-core ARM Cortex-A7 prozesadore sendo bat lortzen duzu (egonkorra) 1008 MHz-n funtzionatzen duena, eta argi eta garbi gainditzen ditu bere prezio-puntuko bizilagunak Raspberry Pi Zero eta Next Thing CHIP. Hor amaitzen dira abantailak. Xunlong konpainiak ez dio arretarik jartzen bere plaken softwareari, eta One salgai jarri zen unean, ez zuen taula konfigurazio fitxategirik ere eman, prest egindako irudiak ahaztu gabe. Allwinner, SoC fabrikatzailea, ere ez da bereziki sentikorra bere produktua babesteko. Android 4.4.4 OS-en errendimendu minimoa bakarrik interesatzen zaie, hau da, 3.4 nukleoa Android adabakiekin erabiltzera behartuta gaude. Zorionez, badira banaketak muntatzen dituzten zaleak, nukleoa editatzen dutenak, linea nagusiko kernelean plakak laguntzeko kodea idazten dutenak, hau da. benetan fabrikatzailearen lana egiten dute, txorakeria hau onargarri bihurtuz. Nire helburuetarako, Armbian banaketa aukeratu nuen; maiz eta eroso eguneratzen da (nukleo berriak paketeen kudeatzailearen bidez instalatzen dira zuzenean, eta ez fitxategiak partizio berezi batean kopiatuz, Allwinner-en kasua izan ohi den bezala), eta gehienak onartzen ditu. periferikoak, besteak ez bezala.

Router

Bideratzailearen prozesadore ahula enkriptazioarekin ez kargatzeko eta gure VPN konexioa bizkortzeko, zeregin hori Orange Pi prozesadore indartsuago baten sorbaldetara eraman dezakegu bideratzailera nolabait konektatuz. Ethernet edo USB bidez konektatzea datorkit burura - bi estandar hauek bi gailuek onartzen dituzte, baina ez nuen nahi lehendik zeuden atakak hartu. Zorionez, bada irteera bat.

GL850G USB hub txipak, bideratzailean erabiltzen dena, 4 USB ataka onartzen ditu, horietako bi kablerik gabe. Ez dago argi zergatik fabrikatzaileak ez dituen dessoldatu, suposatzen dut, erabiltzaileek korronte-kontsumo handiko 4 gailu (adibidez, disko gogorrak) aldi berean konektatzea saihesteko. Bideratzailearen elikatze-hornidura estandarra ez dago karga horretarako diseinatuta. Nolanahi ere, hori gure onuragarria da.
Azkartu OpenVPN 9.99 $*-ren truke edo integratu Orange Pi One zure bideratzailean
Beste USB ataka bat lortzeko, bi hari soldatu behar dituzu 8 (D-) eta 9 (D+) edo 11 (D-) eta 12 (D+) pinetara.

Azkartu OpenVPN 9.99 $*-ren truke edo integratu Orange Pi One zure bideratzailean

Hala ere, ez da nahikoa bi USB gailu konektatzea eta dena bere kabuz funtzionatuko duela itxaropena, Ethernet-ekin bezala. Lehenik eta behin, horietako bat USB Bezero moduan lan egin behar dugu, eta ez USB Host, eta, bigarrenik, gailuek elkar nola detektatuko duten erabaki behar dugu. USB Gadgets izenekoentzako kontrolatzaile asko daude (Linux kernel azpisistemaren izenean), hainbat USB gailu mota emulatzeko aukera ematen dutenak: sare egokitzailea, audio txartela, teklatua eta sagua, flash drive, kamera, kontsola serie baten bidez. portua. Gure gailuak sarearekin funtzionatuko duenez, Ethernet egokitzaile bat emulatzea da onena guretzat.

Hiru Ethernet-over-USB estandar daude:

  • Urruneko NDIS (RNDIS). Microsoft-en estandar zaharkitua, Windows XP-en batez ere erabiltzen dena.
  • Ethernet Kontrol eredua (ECM). Ethernet markoak USB paketeen barruan kapsulatzen dituen estandar sinplea. USB konexioa duten kabledun modemetarako bikaina, non markoak prozesatu gabe transferitzea komeni den, baina bere sinpletasuna eta USB busaren mugak direla eta, ez da oso azkarra.
  • Ethernet emulazio eredua (EEM). USB mugak kontuan hartzen dituen protokolo adimentsuagoa eta hainbat fotograma bakarrean batzen dituena modu ezin hobean biltzen dituena, eta, horrela, errendimendua areagotzen du.
  • Sare Kontrol Eredua (NCM). Protokolo berriena. EEMren onurak ditu eta autobusaren esperientzia are gehiago optimizatzen du.

Protokolo hauetakoren bat gure taulan funtzionatzeko, beti bezala, zenbait zailtasunekin topo egin beharko dugu. Allwinner-ek nukleoaren Android ataletan bakarrik interesatzen duelako, Android Gadget-ek soilik funtzionatzen du normalean: adb-rekin komunikazioa ezartzen duen kodea, gailua MTP protokoloaren bidez esportatzen du eta Android gailuetan flash drive bat emulatzen du. Android Gadget-ek berak ere RNDIS protokoloa onartzen du, baina Allwinner nukleoan hautsita dago. Nukleoa beste edozein USB Gadget batekin konpilatzen saiatzen bazara, gailua ez da sisteman agertuko, egiten duzuna edozein dela ere.
Arazoa konpontzeko, modu adiskidetsuan, USB kontrolagailua hasieratzen den lekua aurkitu behar duzu garatzaileek aldatu duten Android gadget android.c kodean, baina konponbide bat ere badago gutxienez Ethernet emulazioa egiteko. USB lana:

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

Adabaki honek USB bezero modua behartzen du, Linux-eko USB Gadget arruntak erabiltzeko aukera emanez.
Orain nukleoa berreraiki beharko zenuke adabaki honekin eta beharrezko gadgetarekin. EEM aukeratu nuen zeren... Proben emaitzen arabera, NCM baino produktiboagoa izan da.
Armbian taldeak eskaintzen du muntaketa sistema oso sinplea eta erosoa banaketan onartzen diren taula guztientzat. Deskargatu besterik ez dago, jarri gure adabakia userpatches/kernel/sun8i-default/otg.patch, editatu pixka bat compile.sh eta hautatu beharrezko gadgeta:

Azkartu OpenVPN 9.99 $*-ren truke edo integratu Orange Pi One zure bideratzailean

Nukleoa deb pakete batean bilduko da, eta hori ez da zaila izango plakan instalatzea dpkg.
Bakarrik geratzen da plaka USB bidez konektatzea eta gure sare egokitzaile berria konfiguratzea DHCP bidez helbide bat jasotzeko. Horretarako, honelako zerbait gehitu behar diozu /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'

Hobe da MAC helbidea eskuz ezartzea, zeren... ausazkoa izango da gailua berrabiarazten den bakoitzean, eta hori deserosoa eta kezkagarria da.
MikroUSB kablea OTG konektorera konektatzen dugu, bideragailutik konektatzen dugu (orraziaren 2. eta 3. pinetan horni daiteke, eta ez bakarrik korronte-konektorera).

Bideratzailea konfiguratzea besterik ez da geratzen. Nahikoa da paketea EEM kontrolatzailearekin instalatzea eta gure USB sareko gailu berria gehitzea tokiko suebaki eremuko zubian:

opkg install kmod-usb-net-cdc-eem

Azkartu OpenVPN 9.99 $*-ren truke edo integratu Orange Pi One zure bideratzailean
Trafiko guztia VPN tunelera bideratzeko, SNAT arau bat gehitu behar duzu plakaren IP helbidean bideratzailearen aldean, edo taularen helbidea atebide-helbide gisa banatu behar duzu dnsmasq bidez. Azken hau hurrengo lerroa gehituz egiten da /etc/dnsmasq.conf:

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

non 192.168.1.100 β€” Zure taularen IP helbidea. Ez ahaztu bideratzailearen helbidea sareko ezarpenetan sartzea taulan bertan!

Melaminazko belaki bat erabili zen plakaren kontaktuak bideratzaileen kontaktuetatik isolatzeko. Horrelako zerbait atera zen:
Azkartu OpenVPN 9.99 $*-ren truke edo integratu Orange Pi One zure bideratzailean

Ondorioa

USB bidezko sareak izugarri azkar funtzionatzen du: 100-120 Mb/s, gutxiago espero nuen. OpenVPN 70 Mb/s inguru enkriptatutako trafikotik pasatzen da, hori ere ez da asko, baina nahikoa nire beharretarako. Bideratzailearen estalkia ez da ondo ixten, hutsune txiki bat utziz. Estetek Ethernet eta USB Host konektoreak kendu ditzakete plakatik, eta horrek estalkia guztiz ixteko aukera emango du eta oraindik leku pixka bat geratzen zaio.
Hobe da horrelako pornografian ez sartzea eta erostea Turris Omnia.

Iturria: www.habr.com

Gehitu iruzkin berria