Urang gancangan OpenVPN kanggo $9.99* atanapi lebetkeun Orange Pi One kana router

Urang gancangan OpenVPN kanggo $9.99* atanapi lebetkeun Orange Pi One kana router

Sababaraha urang henteu nganggo Internét tanpa VPN pikeun hiji alesan atanapi anu sanés: batur peryogi IP khusus, sareng langkung gampang sareng langkung mirah mésér VPS sareng dua IP tibatan mésér alamat ti panyadia, aya anu hoyong ngaksés sadaya situs wéb. , sareng henteu ngan ukur anu diidinan di daérah Féderasi Rusia, anu sanés peryogi IPv6, tapi panyadia henteu nyayogikeunana...
Paling sering, sambungan VPN diadegkeun dina alat sorangan nu keur dipake dina momen nu tangtu, nu asup akal lamun ngan boga hiji komputer tur hiji telepon tur jarang dipake dina waktos anu sareng. Upami aya seueur alat dina jaringan asal anjeun, atanapi, contona, aya sababaraha VPN anu teu tiasa dikonpigurasikeun, éta bakal langkung gampang pikeun nyiptakeun torowongan langsung dina router bumi supados henteu mikir ngeunaan nyetél unggal alat nyalira. .

Upami anjeun kantos masang OpenVPN Nalika anjeun masang router, anjeun sigana bakal kaget ku kecepatanana. Malah SoC router anu murah ogé tiasa nanganan lalu lintas ampir gigabit tanpa masalah, hatur nuhun kana fungsi routing sareng NAT khusus anu dipindahkeun kana chip anu misah. Prosesor utama dina router ieu rada lemah, sabab ampir teu aya beban. Kompromi ieu ngamungkinkeun kecepatan router anu luhur sareng pangurangan anu signifikan dina harga alat anu parantos réngsé — router kalayan prosesor anu kuat sababaraha kali langkung mahal sareng ayeuna diposisikan henteu ngan ukur salaku kotak babagi internét, tapi ogé salaku NAS, pangunduh torrent, sareng sistem multimedia bumi.

Router kuring, TP-Link TL-WDR4300, teu tiasa disebat énggal - modélna muncul dina pertengahan 2012, sareng gaduh prosesor 560 MHz kalayan arsitéktur MIPS32 74Kc, kakuatanna ngan ukur cekap pikeun 20-23 Mbps lalu lintas énkripsi ngalangkungan OpenVPN, anu saeutik pisan dumasar kana standar kecepatan internét bumi modéren.
Kumaha urang tiasa ningkatkeun laju torowongan énkripsi? Router kuring cukup fungsional, ngadukung 3x3 MIMO, sareng umumna tiasa dianggo, kuring henteu hoyong ngarobih.
Kusabab ayeuna biasa ngadamel halaman Internét 10-megabyte, nyerat aplikasi desktop dina node.js sareng bungkus kana file 100-megabyte, ningkatkeun kakuatan komputasi tinimbang optimasi, urang bakal ngalakukeun hal anu dahsyat - urang bakal mindahkeun sambungan VPN ka a produktif single-board "komputer" Oranyeu Pi Hiji, nu urang bakal install dina kasus router tanpa nyokot jaringan nu aya na palabuhan USB, ngan $ 9.99 *!
* + pangiriman, + pajeg, + keur bir, + MicroSD.

OpenVPN

Prosesor router teu tiasa disebut lemah pisan - éta tiasa énkripsi sareng hash data nganggo algoritma AES-128-CBC-SHA1 dina kecepatan 50 Mbps, anu langkung gancang tibatan cara kerjana. OpenVPN, sareng sandi aliran CHACHA20 modéren kalayan hash POLY1305 ngahontal 130 megabit per detik! Janten kunaon torowongan VPN laun pisan? Ieu sadayana ngeunaan ngaganti kontéks antara rohangan pangguna sareng rohangan kernel: OpenVPN Ngénkripsi lalu lintas sareng komunikasi sareng dunya luar dina kontéks pangguna, sedengkeun routing anu saleresna lumangsung dina kontéks kernel. Sistem operasi kedah teras-terasan ngalih ka hareup sareng ka tukang pikeun unggal pakét anu ditampi atanapi dikirimkeun, sareng operasi ieu laun. Masalah ieu aya dina sadaya aplikasi VPN anu dijalankeun ngalangkungan supir TUN/TAP, sareng sanés sapertos kecepatan anu handap kusabab optimasi anu goréng. OpenVPN (Sanaos, tangtosna, aya sababaraha bagian anu peryogi perbaikan.) Teu aya hiji ogé klien VPN ruang pangguna anu tiasa nganteurkeun kecepatan gigabit sanajan énkripsi ditumpurkeun dina laptop kuring, apalagi dina sistem anu prosesorna lemah.

Jeruk Pi Hiji

Papan tunggal Orange Pi One ti Xunlong mangrupikeun pilihan anu pangsaéna ayeuna. Kalayan harga $9.99*, anjeun kéngingkeun prosesor quad-core ARM Cortex-A7 anu padet anu ngajalankeun (stabil) dina 1008 MHz, anu jelas-jelas ngaleuwihan tatangga kelas hargana, Raspberry Pi Zero sareng Next Thing CHIP. Di dinya kaunggulanana réngsé. Xunlong teu merhatikeun parangkat lunak dina papanna, sareng dina waktos peluncuran One, éta henteu nyayogikeun file konfigurasi papan, apalagi gambar anu tos siap. Allwinner, produsén SoC, ogé henteu komitmen pikeun ngadukung produkna. Aranjeunna ngan ukur resep kana fungsi OS minimal. Android 4.4.4, anu hartosna urang kapaksa nganggo kernel versi 3.4 sareng Android-patches. Untungna, aya nu resep ngawangun distribusi, ngarobah kernel, jeung nulis kode pikeun ngadukung board dina kernel utama—ku kecap séjén, maranéhna ngalakukeun padamelan pabrik, sahingga ieu padamelan téh bisa ditarima. Pikeun tujuan kuring, kuring milih distribusi Armbian; éta sering jeung gampang diropéa (kernel anyar dipasang langsung ngaliwatan manajer pakét, lain ku cara nyalin file ka partisi husus, sakumaha biasana kajadian ka Allwinner), jeung éta ngadukung kalolobaan periferal, teu siga nu séjénna.

Router

Supados teu ngamuat prosésor lemah tina router sareng énkripsi sareng nyepetkeun sambungan VPN kami, urang tiasa mindahkeun tugas ieu kana taktak prosesor Oranyeu Pi anu langkung kuat ku cara ngahubungkeun ka router dina sababaraha cara. Nyambungkeun boh liwat Ethernet atanapi USB aya dina pikiran - duanana standar ieu dirojong ku kadua alat, tapi kuring henteu hoyong nyandak palabuhan anu tos aya. Untungna, aya jalan kaluar.

Chip hub USB GL850G, anu dianggo dina router, ngadukung 4 palabuhan USB, dua diantarana henteu kabel. Ieu mah can écés naha produsén teu unsolder aranjeunna, abdi anggap, pikeun nyegah pamaké tina nyambungkeun 4 alat jeung konsumsi arus tinggi (contona, teuas drive) sakaligus. Pasokan listrik standar router henteu dirancang pikeun beban sapertos kitu. Bisi wae, ieu keur kaunggulan urang.
Urang gancangan OpenVPN kanggo $9.99* atanapi lebetkeun Orange Pi One kana router
Dina raraga neangan port USB sejen, Anjeun ngan perlu solder dua kawat ka pin 8 (D-) jeung 9 (D +) atawa 11 (D-) jeung 12 (D +).

Urang gancangan OpenVPN kanggo $9.99* atanapi lebetkeun Orange Pi One kana router

Nanging, teu cekap ngan saukur nyambungkeun dua alat USB sareng ngarepkeun sadayana bakal jalan sacara otomatis, sapertos anu bakal dilakukeun sareng Ethernet. Mimitina, urang kedah maksa salah sahijina pikeun beroperasi dina modeu USB Client, sanés USB Host, sareng anu kadua, urang kedah nangtukeun kumaha alat-alat éta bakal silih kenal. Aya seueur driver pikeun anu disebut USB Gadgets (dingaranan dumasar kana subsistem). Linux-kernels) anu ngamungkinkeun émulasi rupa-rupa jinis alat USB: adaptor jaringan, kartu sora, kibor sareng beurit, flash drive, kaméra, sareng konsol serial. Kusabab alat urang bakal dijaringan, niru adaptor Ethernet langkung saé.

Aya tilu standar Ethernet-over-USB:

  • Jauh NDIS (RNDIS)Standar anu tos teu dianggo ti Microsoft, anu utamina dianggo nalika Windows xp.
  • Modél Kontrol Ethernet (ECM). Hiji standar basajan nu encapsulates pigura Ethernet dina pakét USB. Gede pikeun modem kabel sareng sambungan USB, dimana éta merenah pikeun mindahkeun pigura tanpa processing, tapi alatan kesederhanaan sarta watesan beus USB, teu pisan gancang.
  • Modél Émulasi Ethernet (EEM). Protokol anu langkung pinter anu nganggap watesan USB sareng sacara optimal ngahijikeun sababaraha pigura kana hiji, sahingga ningkatkeun throughput.
  • Modél Kontrol Jaringan (NCM). Protokol panganyarna. Mibanda mangpaat EEM sarta salajengna optimizes pangalaman beus.

Ngadamel salah sahiji protokol ieu tiasa dianggo dina dewan kami, sapertos biasana, bakal meryogikeun sababaraha tantangan. Kusabab kanyataan yén Allwinner ngan ukur resep kana Android-bagian tina kernel, ngan ukur tiasa dianggo sacara normal Android Gadget nyaéta kode anu ngalaksanakeun komunikasi sareng adb, ékspor alat ngalangkungan protokol MTP sareng émulasi flash drive dina Android-alat. Anjeunna sorangan Android Alat ieu ogé ngadukung protokol RNDIS, tapi kernel Allwinner-na rusak. Upami anjeun nyobian ngompilasi kernel nganggo alat USB anu sanés, alat éta moal némbongan dina sistem, naon waé anu anjeun lakukeun.
Pikeun ngabéréskeun masalah ieu, idéalna, perlu milarian tempat dimana pangontrol USB diinisialisasi dina kode anu dirobih ku pamekar. Android-android.c gadget, tapi aya ogé cara pikeun ngajantenkeun sahenteuna émulasi Ethernet ngalangkungan USB tiasa dianggo:

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

Patch ieu maksa mode klien USB, ngamungkinkeun anjeun nganggo Gadget USB biasa ti Linux.
Ayeuna anjeun kedah ngawangun deui kernel nganggo patch ieu sareng gadget anu diperyogikeun. Kuring milih EEM sabab ... Numutkeun hasil tés, tétéla langkung produktif tibatan NCM.
Tim Armbian nyadiakeun sistem assembly pisan basajan tur merenah pikeun sakabéh dewan dirojong dina sebaran. Ngan unduh, pasang patch kami userpatches/kernel/sun8i-default/otg.patch, édit saeutik compile.sh tur pilih gadget nu diperlukeun:

Urang gancangan OpenVPN kanggo $9.99* atanapi lebetkeun Orange Pi One kana router

Kernel bakal disusun kana pakét deb, nu moal hese dipasang dina dewan via dpkg.
Sadaya anu tetep nyaéta nyambungkeun papan liwat USB sareng ngonpigurasikeun adaptor jaringan énggal kami pikeun nampi alamat via DHCP. Jang ngalampahkeun ieu anjeun kudu nambahkeun hal kawas di handap ieu /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'

Langkung saé pikeun nyetél alamat MAC sacara manual, sabab ... eta bakal acak unggal waktos alat kasebut rebooted, nu teu merenah tur troublesome.
Urang sambungkeun kabel MicroUSB ka konektor OTG, sambungkeun kakuatan ti router dina (bisa disadiakeun pikeun pin 2 jeung 3 tina sisir, teu ngan ka konektor kakuatan).

Sadaya anu tetep nyaéta ngonpigurasikeun router. Cukup masang pakét sareng supir EEM sareng tambahkeun alat jaringan USB anyar kami ka sasak zona firewall lokal:

opkg install kmod-usb-net-cdc-eem

Urang gancangan OpenVPN kanggo $9.99* atanapi lebetkeun Orange Pi One kana router
Pikeun jalur sadaya lalulintas ka torowongan VPN, anjeun kudu boh nambahkeun aturan SNAT ka alamat IP dewan di sisi router, atawa ngadistribusikaeun alamat dewan salaku alamat gateway via dnsmasq. Anu terakhir dilakukeun ku nambihan garis di handap ieu kana /etc/dnsmasq.conf:

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

di mana 192.168.1.100 - Alamat IP papan anjeun. Tong hilap lebetkeun alamat router dina setélan jaringan dina papan éta sorangan!

A bolu melamin dipaké pikeun ngasingkeun kontak dewan tina kontak router. Tétéla sapertos kieu:
Urang gancangan OpenVPN kanggo $9.99* atanapi lebetkeun Orange Pi One kana router

kacindekan

Jaringanna jalanna gancang pisan via USB: 100-120 Mbps, kuring ngarepkeun kirang. OpenVPN Ieu kartu nanganan sakitar 70 Mbps lalu lintas énkripsi, anu teu seueur, tapi cekap pikeun kabutuhan kuring. Panutup router henteu nutup pageuh, nyésakeun celah leutik. Jalma anu resep estetika tiasa ngaleupaskeun konektor Ethernet sareng USB Host tina papan, ngamungkinkeun panutup nutup lengkep sareng masih gaduh rohangan.
Éta langkung saé henteu kalibet dina pornografi sapertos kitu sareng mésér Turris Omnia.

sumber: www.habr.com

Mésér hosting anu dipercaya pikeun situs anu gaduh panyalindungan DDoS, server VPS VDS 🔥 Meser hosting situs wéb anu tiasa dipercaya nganggo panyalindungan DDoS, server VPS VDS | ProHoster