Արագացրեք OpenVPN-ը 9.99 դոլարով* կամ ինտեգրեք Orange Pi One-ը ձեր երթուղիչին

Արագացրեք OpenVPN-ը 9.99 դոլարով* կամ ինտեգրեք Orange Pi One-ը ձեր երթուղիչին

Մեզանից ոմանք այս կամ այն ​​պատճառով չեն օգտվում ինտերնետից առանց VPN-ի. ինչ-որ մեկին հատուկ IP է պետք, և երկու IP-ով VPS գնելն ավելի հեշտ և էժան է, քան մատակարարից հասցե գնելը, ինչ-որ մեկը ցանկանում է մուտք գործել բոլոր կայքերը: , և ոչ միայն Ռուսաստանի Դաշնության տարածքում թույլատրվածներին, այլևս պետք է IPv6, բայց պրովայդերն այն չի տրամադրում...
Ամենից հաճախ VPN կապը հաստատվում է հենց սարքի վրա, որն օգտագործվում է որոշակի պահին, ինչը իմաստ ունի, եթե դուք ունեք միայն մեկ համակարգիչ և մեկ հեռախոս և հազվադեպ եք օգտագործում դրանք միաժամանակ: Եթե ​​ձեր տնային ցանցում կան բազմաթիվ սարքեր, կամ, օրինակ, կան այնպիսիք, որոնց վրա VPN-ը հնարավոր չէ կարգավորել, ավելի հարմար կլինի թունել ստեղծել անմիջապես տնային երթուղիչի վրա, որպեսզի չմտածեք յուրաքանչյուր սարքն առանձին կարգավորելու մասին։ .

Եթե ​​երբևէ տեղադրել եք OpenVPN ձեր երթուղիչի վրա, հավանաբար տհաճորեն զարմացած եք, թե որքան արագ է այն աշխատում: Նույնիսկ էժան երթուղղիչների SoC-ներն առանց խնդիրների անցնում են մոտ մեկ գիգաբիթ տրաֆիկ՝ երթուղավորման և NAT գործառույթների փոխանցման պատճառով բացառապես այս առաջադրանքի համար նախատեսված առանձին չիպին, և նման երթուղիչների հիմնական պրոցեսորները բավականին թույլ են, քանի որ Նրանց վրա գործնականում բեռ չկա: Այս փոխզիջումը թույլ է տալիս հասնել երթուղիչի բարձր արագության և էապես նվազեցնել պատրաստի սարքի գինը. հզոր պրոցեսորներով երթուղիչները մի քանի անգամ ավելի արժեն, և տեղակայված են ոչ միայն որպես ինտերնետի բաշխման տուփ, այլ նաև որպես NAS, հեղեղ: ներբեռնիչ և տնային մուլտիմեդիա համակարգ:

Իմ երթուղիչը՝ 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 հոսքը: POLY1305 հեշով ծածկագիրը նույնիսկ հասնում է 130 մեգաբիթ վայրկյանում: Ինչու՞ է VPN թունելի արագությունն այդքան ցածր: Ամեն ինչ վերաբերում է օգտագործողի տարածության և միջուկի տարածության միջև համատեքստի անցմանը. OpenVPN-ը գաղտնագրում է երթևեկը և հաղորդակցվում արտաքին աշխարհի հետ օգտագործողի համատեքստում, իսկ երթուղավորումն ինքնին տեղի է ունենում միջուկի համատեքստում: Օպերացիոն համակարգը պետք է անընդհատ անցնի ետ ու առաջ յուրաքանչյուր ստացված կամ փոխանցված փաթեթի համար, և այս գործողությունը դանդաղ է ընթանում: Այս խնդիրը բնորոշ է TUN/TAP դրայվերով աշխատող բոլոր VPN հավելվածներին, և չի կարելի ասել, որ ցածր արագության խնդիրը պայմանավորված է OpenVPN-ի վատ օպտիմիզացիայից (չնայած, իհարկե, կան տեղեր, որոնք վերամշակման կարիք ունեն): Ոչ մի օգտվողի տարածքի VPN հաճախորդ չի ապահովում իմ նոութբուքի վրա անջատված գաղտնագրման գիգաբիթ, էլ չեմ խոսում թույլ պրոցեսորով համակարգերի մասին:

Orange Pi One- ը

Xunlong-ի մեկ տախտակով Orange Pi One-ն այս պահին լավագույն առաջարկն է կատարողականության/գին հարաբերակցության առումով: $9.99*-ով դուք ստանում եք ամուր քառամիջուկ ARM Cortex-A7 պրոցեսոր, որն աշխատում է (կայուն) 1008 ՄՀց հաճախականությամբ և ակնհայտորեն գերազանցում է իր գնային հարևաններին Raspberry Pi Zero-ից և Next Thing CHIP-ից: Այստեղ ավարտվում են առավելությունները։ Xunlong ընկերությունը ուղիղ զրոյական ուշադրություն է դարձնում իր տախտակների ծրագրային ապահովմանը, և այն պահին, երբ One-ը վաճառքի հանվեց, նա նույնիսկ տախտակի կազմաձևման ֆայլ չէր տրամադրում, էլ չեմ խոսում պատրաստի պատկերների մասին: Allwinner-ը, որը SoC արտադրող է, նույնպես առանձնապես զգայուն չէ իր արտադրանքն աջակցելու հարցում: Նրանց միայն հետաքրքրում է Android 4.4.4 ՕՀ-ի նվազագույն կատարումը, ինչը նշանակում է, որ մենք ստիպված ենք օգտագործել 3.4 միջուկը Android patches-ով: Բարեբախտաբար, կան էնտուզիաստներ, ովքեր հավաքում են բաշխումներ, խմբագրում են միջուկը, գրում են կոդ՝ հիմնական միջուկում տախտակներին աջակցելու համար, այսինքն. նրանք իրականում կատարում են աշխատանքը արտադրողի համար՝ դարձնելով այս հիմարությունը ընդունելի: Իմ նպատակների համար ես ընտրեցի Armbian բաշխումը, այն հաճախակի և հարմար կերպով թարմացվում է (նոր միջուկները տեղադրվում են անմիջապես փաթեթի կառավարչի միջոցով, և ոչ թե ֆայլերը հատուկ բաժանման մեջ պատճենելու միջոցով, ինչպես սովորաբար լինում է Allwinner-ի դեպքում), և այն աջակցում է մեծամասնությանը: ծայրամասային սարքեր, ի տարբերություն մյուսների:

Ուղղորդիչ

Որպեսզի երթուղիչի թույլ պրոցեսորը գաղտնագրմամբ չբեռնենք և արագացնենք մեր VPN կապը, մենք կարող ենք այս խնդիրը տեղափոխել ավելի հզոր Orange Pi պրոցեսորի ուսերին՝ այն ինչ-որ կերպ միացնելով երթուղիչին: Մտքիս է գալիս միացնելը Ethernet-ի կամ USB-ի միջոցով. այս երկու ստանդարտներն էլ աջակցվում են երկու սարքերի կողմից, բայց ես չէի ուզում օգտագործել գոյություն ունեցող պորտերը: Բարեբախտաբար, ելք կա։

GL850G USB հանգույցի չիպը, որն օգտագործվում է երթուղիչում, աջակցում է 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 Gadgets-ի համար (անունը ստացել է Linux միջուկի ենթահամակարգի պատվին), որոնք թույլ են տալիս նմանակել տարբեր տեսակի USB սարքեր՝ ցանցային ադապտեր, աուդիո քարտ, ստեղնաշար և մկնիկ, ֆլեշ կրիչ, տեսախցիկ, կոնսոլ սերիալի միջոցով: նավահանգիստ. Քանի որ մեր սարքը կաշխատի ցանցի հետ, Ethernet ադապտերների նմանակումը լավագույնն է մեզ համար:

Կան երեք Ethernet-over-USB ստանդարտներ.

  • Հեռավոր NDIS (RNDIS). Microsoft-ի հնացած ստանդարտ, որն օգտագործվում է հիմնականում Windows XP-ի ժամանակ:
  • Ethernet Control Model (ECM). Պարզ ստանդարտ, որը ներառում է Ethernet շրջանակները USB փաթեթների մեջ: Հիանալի է USB միացումով լարային մոդեմների համար, որտեղ հարմար է շրջանակներ փոխանցել առանց մշակման, բայց իր պարզության և USB ավտոբուսի սահմանափակումների պատճառով այն այնքան էլ արագ չէ:
  • Ethernet Emulation Model (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 ցանցային սարքը տեղական firewall գոտու կամրջին.

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 Մբ/վ կոդավորված տրաֆիկի միջով, ինչը նույնպես շատ չէ, բայց բավարար է իմ կարիքների համար. Երթուղիչի կափարիչը սերտորեն չի փակվում՝ թողնելով մի փոքր բաց: Էսթետները կարող են հեռացնել Ethernet-ի և USB Host-ի միակցիչները տախտակից, ինչը թույլ կտա կափարիչը ամբողջությամբ փակել և դեռ մի քիչ տեղ է մնացել:
Ավելի լավ է չզբաղվել նման պոռնոգրաֆիայով և գնել Turris Omnia.

Source: www.habr.com

Добавить комментарий