ç§ãã¡ã®äžã«ã¯ãäœããã®çç±ã§ VPN ãªãã§ã€ã³ã¿ãŒãããã䜿çšããªã人ãããŸããå°çšã® IP ãå¿
èŠã§ããããã€ããŒããã¢ãã¬ã¹ã賌å
¥ããããã 6 ã€ã® IP ãæ〠VPS ã賌å
¥ããæ¹ãç°¡åã§å®äŸ¡ã§ãããã¹ãŠã® Web ãµã€ãã«ã¢ã¯ã»ã¹ããã人ãããŸãã ããã·ã¢é£éŠã®é åã§èš±å¯ãããŠãããã®ã ãã§ãªããä»ã®ãã®ã¯IPvXNUMXãå¿
èŠãšããŸããããããã€ããŒããããæäŸããŠããŸãã...
ã»ãšãã©ã®å ŽåãVPN æ¥ç¶ã¯ãç¹å®ã®ç¬éã«äœ¿çšãããŠããããã€ã¹èªäœã§ç¢ºç«ãããŸããããã¯ãã³ã³ãã¥ãŒã¿ãšé»è©±ã XNUMX å°ãããªããããããåæã«äœ¿çšããããšãã»ãšãã©ãªãå Žåã«ã¯æå³ããããŸãã ããŒã ãããã¯ãŒã¯ã«å€æ°ã®ããã€ã¹ãããå ŽåããŸã㯠VPN ãæ§æã§ããªãããã€ã¹ãããå Žåã¯ãåããã€ã¹ãåå¥ã«èšå®ããããšãèããã«ãããŒã ã«ãŒã¿ãŒã«çŽæ¥ãã³ãã«ãäœæããæ¹ã䟿å©ã§ãã ã
OpenVPN ãã«ãŒã¿ãŒã«ã€ã³ã¹ããŒã«ããããšããããªãããããããã®åäœã®éãã«äžæå¿«ãªã»ã©é©ããããšãããã§ãããã å®äŸ¡ãªã«ãŒã¿ã® SoC ã§ãã£ãŠããã«ãŒãã£ã³ã°ãš NAT æ©èœããã®ã¿ã¹ã¯å°çšã«èšèšãããå¥åã®ãããã«è»¢éããããããçŽã®ã¬ãããã®ãã©ãã£ãã¯ãåé¡ãªãééããŸãããŸãããã®ãããªã«ãŒã¿ã®ã¡ã€ã³ ããã»ããµã¯éåžžã«åŒ±ãããã å®éã«ã¯è² è·ã¯ããããŸããã ãã®åŠ¥åã«ãããã«ãŒã¿ãŒã®é«éåãå®çŸããå®æããããã€ã¹ã®äŸ¡æ Œãå€§å¹ ã«äžããããšãã§ããŸãã匷åãªããã»ããµãŒãæèŒããã«ãŒã¿ãŒã®äŸ¡æ Œã¯æ°åé«ããã€ã³ã¿ãŒããããé ä¿¡ããããã®ããã¯ã¹ãšããŠã ãã§ãªããNASããã¬ã³ããšããŠãäœçœ®ä»ããããŠããŸããããŠã³ããŒããŒããã³å®¶åºçšãã«ãã¡ãã£ã¢ ã·ã¹ãã ã
ç§ã®ã«ãŒã¿ã§ãã TP-Link TL-WDR4300 ã¯æ°ãããšã¯èšããŸããããã®ã¢ãã«ã¯ 2012 幎åã°ã«ç»å Žãã560 MHz MIPS32 74Kc ã¢ãŒããã¯ã㣠ããã»ããµãæèŒããŠããŸããããã®èœå㯠20 ïœ 23 Mb/s ã®æå·åãã©ãã£ãã¯ã«ã®ã¿ååã§ããæšæºã«ãã OpenVPN çµç± æè¿ã®å®¶åºçšã€ã³ã¿ãŒãããã®é床ã¯éåžžã«é
ãã§ãã
æå·åããããã³ãã«ã®é床ãäžããã«ã¯ã©ãããã°ããã§ãããã? ç§ã®ã«ãŒã¿ãŒã¯éåžžã«æ©èœçã§ã3x3 MIMO ããµããŒãããŠãããéåžžã¯ããŸãæ©èœããã®ã§ãå€æŽããããããŸããã
çŸåšã§ã¯ã10 ã¡ã¬ãã€ãã®ã€ã³ã¿ãŒããã ããŒãžãäœæããnode.js ã§ãã¹ã¯ããã ã¢ããªã±ãŒã·ã§ã³ãäœæã㊠100 ã¡ã¬ãã€ãã®ãã¡ã€ã«ã«å§çž®ããæé©åã§ã¯ãªãã³ã³ãã¥ãŒãã£ã³ã°èœåãåäžãããããšãæ
£äŸã«ãªã£ãŠãããããç§ãã¡ã¯ã²ã©ãããšãè¡ãããšã«ãªããŸããVPN æ¥ç¶ã次ã®å Žæã«è»¢éããŸããçç£æ§ã®é«ãã·ã³ã°ã«ããŒããã³ã³ãã¥ãŒã¿ãŒãOrange Pi One ããæ¢åã®ãããã¯ãŒã¯ãš USB ããŒããå æããã«ã«ãŒã¿ãŒã®ã±ãŒã¹ã«åãä»ããŸããäŸ¡æ Œã¯ããã 9.99 ãã«*ã§ãã
* + é
éã+ çšéã+ ããŒã«ã+ MicroSDã
OpenVPN
ã«ãŒã¿ãŒã®ããã»ããµã¯å®å šã«åŒ±ããšã¯èšããŸãããAES-128-CBC-SHA1 ã¢ã«ãŽãªãºã ã䜿çšã㊠50 Mb/s ã®é床ã§ããŒã¿ãæå·åããã³ããã·ã¥ããããšãã§ããŸããããã¯ãOpenVPN ã®åäœæ¹æ³ãææ°ã® CHACHA20 ã¹ããªãŒã ãããèããé«éã§ãPOLY1305 ããã·ã¥ã䜿çšããæå·ã¯ 130 ã¡ã¬ããã/ç§ã«ãéããŸãã VPN ãã³ãã«ã®é床ãéåžžã«é ãã®ã¯ãªãã§ãã? ãŠãŒã¶ãŒç©ºéãšã«ãŒãã«ç©ºéã®éã®ã³ã³ããã¹ãã®åãæ¿ãããã¹ãŠã§ããOpenVPN ã¯ãã©ãã£ãã¯ãæå·åãããŠãŒã¶ãŒ ã³ã³ããã¹ãã§å€éšãšéä¿¡ããã«ãŒãã£ã³ã°èªäœã¯ã«ãŒãã« ã³ã³ããã¹ãã§çºçããŸãã ãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã¯ããã±ãããåä¿¡ãŸãã¯éä¿¡ãããã³ã«åžžã«åãæ¿ããè¡ãå¿ èŠãããããã®æäœã¯æéãããããŸãã ãã®åé¡ã¯ TUN/TAP ãã©ã€ããŒãä»ããŠå®è¡ããããã¹ãŠã® VPN ã¢ããªã±ãŒã·ã§ã³ã«åºæã®åé¡ã§ãããäœéã®åé¡ã OpenVPN ã®æé©åãäžååãªããšãåå ã§ãããšã¯èšããŸãã (ãã¡ãããæçŽããå¿ èŠãªç®æã¯ãããŸãã)ã ç§ã®ã©ãããããã§ã¯ãæå·åãç¡å¹ã«ãããšãåäžã®ãŠãŒã¶ãŒã¹ããŒã¹ VPN ã¯ã©ã€ã¢ã³ãã§ããã®ã¬ãããããæäŸã§ããŸããããŸããŠããããã»ããµãŒã匱ãã·ã¹ãã ã¯ãªãããã§ãã
ãªã¬ã³ãžãã€ã¯ã³
Xunlong ã®ã·ã³ã°ã«ããŒã Orange Pi One ã¯ãçŸæç¹ã§ããã©ãŒãã³ã¹ãšäŸ¡æ Œã®æ¯çã®ç¹ã§æé«ã®è£œåã§ãã 9.99 ãã«* ã§ã7 MHz 㧠(å®å®ããŠ) åäœããå ç¢ãªã¯ã¢ããã³ã¢ ARM Cortex-A1008 ããã»ããµãŒãå ¥æã§ããRaspberry Pi Zero ã Next Thing CHIP ã®è¿é£ã®äŸ¡æ Œåž¯ãæããã«äžåã£ãŠããŸãã ããã§å©ç¹ã¯çµãããŸãã Xunlong 瀟ã¯ãããŒãã®ãœãããŠã§ã¢ã«ã¯ãŸã£ãã泚æãæã£ãŠããããOne ã販売éå§ãããæç¹ã§ã¯ãæ¢è£œã®ã€ã¡ãŒãžã¯ããããããŒãæ§æãã¡ã€ã«ãããæäŸããŠããŸããã§ããã SoC ã¡ãŒã«ãŒã§ãã Allwinner ããèªç€Ÿè£œåã®ãµããŒãã«ã¯ç¹ã«ææã§ã¯ãããŸããã 圌ã㯠Android 4.4.4 OS ã®æå°éã®ããã©ãŒãã³ã¹ã®ã¿ã«é¢å¿ããããããAndroid ããããé©çšãã 3.4 ã«ãŒãã«ã䜿çšããå¿ èŠããããŸãã 幞ããªããšã«ããã£ã¹ããªãã¥ãŒã·ã§ã³ãçµã¿ç«ãŠãã«ãŒãã«ãç·šéããã¡ã€ã³ã©ã€ã³ ã«ãŒãã«ã®ããŒãããµããŒãããã³ãŒããæžãæ奜家ãããŸãã 圌ãã¯å®éã«ã¡ãŒã«ãŒã®ããã«ä»äºãããŠããã®ã§ããã®ãã ããªãä»äºãåãå ¥ããããããã«ããŠããŸãã ç§ã®ç®çã®ããã«ãç§ã¯ Armbian ãã£ã¹ããªãã¥ãŒã·ã§ã³ãéžæããŸãã; ããã¯é »ç¹ãã€äŸ¿å©ã«æŽæ°ãã (æ°ããã«ãŒãã«ã¯ãAllwinner ã®å Žåã®ããã«ç¹å¥ãªããŒãã£ã·ã§ã³ã«ãã¡ã€ã«ãã³ããŒããã®ã§ã¯ãªããããã±ãŒãž ãããŒãžã£ãŒãéããŠçŽæ¥ã€ã³ã¹ããŒã«ãããŸã)ãã»ãšãã©ã®æ©èœããµããŒãããŸããä»ã®ãã®ãšã¯ç°ãªããåšèŸºæ©åšã
ã«ãŒã¿ãŒ
ã«ãŒã¿ãŒã®åŒ±ãããã»ããµãŒã«æå·åãããŒããããVPN æ¥ç¶ãé«éåããããã«ãäœããã®æ¹æ³ã§ã«ãŒã¿ãŒã«æ¥ç¶ããããšã§ããã匷å㪠Orange Pi ããã»ããµãŒã®è©ã«ãã®ã¿ã¹ã¯ã移ãããšãã§ããŸãã ã€ãŒãµããããŸã㯠USB çµç±ã®æ¥ç¶ãæãæµ®ãã³ãŸãããããã®æšæºã¯äž¡æ¹ã®ããã€ã¹ã§ãµããŒããããŠããŸãããæ¢åã®ããŒãã䜿çšããããšã¯æãŸãããããŸããã§ããã 幞ããªããšã«ã解決çã¯ãããŸãã
ã«ãŒã¿ãŒã§äœ¿çšãããŠãã GL850G USB ãã ãããã¯ã4 ã€ã® USB ããŒãããµããŒãããŠããããã®ãã¡ 4 ã€ã¯æç·ã§ã¯ãããŸããã ãªãã¡ãŒã«ãŒãã¯ãã ä»ããå€ããªãã£ãã®ãã¯äžæã§ããããããããŠãŒã¶ãŒãé«é»æµæ¶è²»ã®ããã€ã¹ (ããŒããã©ã€ããªã©) ã XNUMX ã€åæã«æ¥ç¶ããã®ãé²ãããã ãšæãããŸãã ã«ãŒã¿ã®æšæºé»æºã¯ããã®ãããªè² è·åãã«èšèšãããŠããŸããã ãããã«ãããããã¯ç§ãã¡ã«ãšã£ãŠæå©ã§ãã
å¥ã® USB ããŒããååŸããã«ã¯ã8 æ¬ã®ã¯ã€ã€ããã³ 9(D-) ãš 11(D+) ãŸã㯠12(D-) ãš XNUMX(D+) ã«ã¯ãã ä»ãããã ãã§ãã
ãã ããã€ãŒãµãããã®å Žåã®ããã«ãåã« XNUMX ã€ã® USB ããã€ã¹ãæ¥ç¶ãããã¹ãŠãèªåçã«åäœããããšãæåŸ
ããã ãã§ã¯ååã§ã¯ãããŸããã ãŸãããã®ãã¡ã® XNUMX ã€ã USB ãã¹ãã§ã¯ãªã USB ã¯ã©ã€ã¢ã³ã ã¢ãŒãã§åäœãããå¿
èŠããããŸãã次ã«ãããã€ã¹ãçžäºã«æ€åºããæ¹æ³ã決å®ããå¿
èŠããããŸãã ãããã USB ã¬ãžã§ãã (Linux ã«ãŒãã« ãµãã·ã¹ãã ã«ã¡ãªãã§åä»ãããã) çšã®ãã©ã€ããŒãå€æ°ããããããã¯ãŒã¯ ã¢ããã¿ãŒããªãŒãã£ãª ã«ãŒããããŒããŒããšããŠã¹ããã©ãã·ã¥ ãã©ã€ããã«ã¡ã©ãã·ãªã¢ã«çµç±ã®ã³ã³ãœãŒã«ãªã©ãããŸããŸãªã¿ã€ãã® USB ããã€ã¹ããšãã¥ã¬ãŒãã§ããŸããããŒãã ç§ãã¡ã®ããã€ã¹ã¯ãããã¯ãŒã¯ã§åäœãããããã€ãŒãµããã ã¢ããã¿ãŒããšãã¥ã¬ãŒãããã®ãæé©ã§ãã
Ethernet-over-USB èŠæ Œã«ã¯æ¬¡ã® XNUMX ã€ããããŸãã
- ãªã¢ãŒãNDISïŒRNDISïŒã Microsoft ã®å€ãæšæºã§ã䞻㫠Windows XP ã§äœ¿çšãããŠããŸããã
- ã€ãŒãµãããå¶åŸ¡ã¢ãã« (ECM)ã USB ãã±ããå ã«ã€ãŒãµããã ãã¬ãŒã ãã«ãã»ã«åããåçŽãªèŠæ Œã USB æ¥ç¶ã®æç·ã¢ãã ã«æé©ã§ããåŠçããã«ãã¬ãŒã ã転éã§ããã®ã§äŸ¿å©ã§ãããUSB ãã¹ã®åçŽããšå¶éã«ãããé床ã¯ããŸãéããããŸããã
- ã€ãŒãµããã ãšãã¥ã¬ãŒã·ã§ã³ ã¢ãã« (EEM)ã USB ã®å¶éãèæ ®ããè€æ°ã®ãã¬ãŒã ã XNUMX ã€ã«æé©ã«éçŽããããšã§ã¹ã«ãŒããããåäžããããããã¹ããŒããªãããã³ã«ã
- ãããã¯ãŒã¯å¶åŸ¡ã¢ãã« (NCM)ã ææ°ã®ãããã³ã«ã EEM ã®å©ç¹ãããããã¹ ãšã¯ã¹ããªãšã³ã¹ãããã«æé©åãããŸãã
ãããã®ãããã³ã«ã®ãããããããŒãäžã§åäœãããã«ã¯ããã€ãã®ããã«ãããã€ãã®å°é£ã«ééããå¿
èŠããããŸãã Allwinner ã¯ã«ãŒãã«ã® Android éšåã®ã¿ã«é¢å¿ããããããAndroid ã¬ãžã§ããã ããæ£åžžã«åäœããŸããããã¯ãadb ãšã®éä¿¡ãå®è£
ããMTP ãããã³ã«çµç±ã§ããã€ã¹ããšã¯ã¹ããŒãããAndroid ããã€ã¹ã§ãã©ãã·ã¥ ãã©ã€ãããšãã¥ã¬ãŒãããã³ãŒãã§ãã Android ã¬ãžã§ããèªäœã RNDIS ãããã³ã«ããµããŒãããŠããŸãããAllwinner ã«ãŒãã«ã§ã¯å£ããŠããŸãã ä»ã® USB ã¬ãžã§ããã䜿çšããŠã«ãŒãã«ãã³ã³ãã€ã«ããããšãããšãäœãããŠãããã€ã¹ã¯ã·ã¹ãã äžã«è¡šç€ºãããŸããã
ãã®åé¡ãå奜çãªæ¹æ³ã§è§£æ±ºããã«ã¯ãéçºè
ã«ãã£ãŠå€æŽããã Android ã¬ãžã§ãã android.c ã®ã³ãŒãå
㧠USB ã³ã³ãããŒã©ãŒãåæåãããŠããå ŽæãèŠã€ããå¿
èŠããããŸãããå°ãªããšãã€ãŒãµããã ãšãã¥ã¬ãŒã·ã§ã³ãè¡ãåé¿çããããŸãã 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 ã¯ã©ã€ã¢ã³ã ã¢ãŒãã匷å¶ãããLinux ããéåžžã® USB ã¬ãžã§ããã䜿çšã§ããããã«ãªããŸãã
次ã«ããã®ããããšå¿
èŠãªã¬ãžã§ããã䜿çšããŠã«ãŒãã«ãåæ§ç¯ããå¿
èŠããããŸãã EEM ãéžæããçç±ã¯æ¬¡ã®ãšããã§ãã ãã¹ãçµæã«ãããšãNCM ãããçç£æ§ãé«ãããšãå€æããŸããã
Armbian ããŒã ãæäŸããã®ã¯ã userpatches/kernel/sun8i-default/otg.patch
ãå°ãç·šéããŸã compile.sh
å¿
èŠãªã¬ãžã§ãããéžæããŸãã
ã«ãŒãã«ã¯ 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 ãããã¯ãŒã¯ ããã€ã¹ãããŒã«ã« ãã¡ã€ã¢ãŠã©ãŒã« ãŸãŒã³ã®ããªããžã«è¿œå ããã ãã§ååã§ãã
opkg install kmod-usb-net-cdc-eem
ãã¹ãŠã®ãã©ãã£ãã¯ã VPN ãã³ãã«ã«ã«ãŒãã£ã³ã°ããã«ã¯ãã«ãŒã¿ãŒåŽã§ããŒãã® IP ã¢ãã¬ã¹ã« SNAT ã«ãŒã«ãè¿œå ããããdnsmasq ãä»ããŠããŒãã®ã¢ãã¬ã¹ãã²ãŒããŠã§ã€ ã¢ãã¬ã¹ãšããŠé
åžããå¿
èŠããããŸãã åŸè
ã¯ã次ã®è¡ãè¿œå ããããšã§å®è¡ãããŸãã /etc/dnsmasq.conf
:
dhcp-option = tag:lan, option:router, 192.168.1.100
ã©ã 192.168.1.100
â ããŒãã® IP ã¢ãã¬ã¹ã ããŒãèªäœã®ãããã¯ãŒã¯èšå®ã«ã«ãŒã¿ãŒã¢ãã¬ã¹ãå
¥åããããšãå¿ããªãã§ãã ããã
ã¡ã©ãã³ã¹ãã³ãžã䜿çšããŠãããŒãã®æ¥ç¹ãã«ãŒã¿ãŒã®æ¥ç¹ããåé¢ããŸããã 次ã®ãããªããšãããããŸããã
ãŸãšã
USB çµç±ã®ãããã¯ãŒã¯ã¯é©ãã»ã©éãåäœããŸã: 100 ïœ 120 Mb/s ã§ãããç§ã¯ãããããå°ãªããšäºæ³ããŠããŸããã OpenVPN ã¯çŽ 70 Mb/s ã®æå·åãã©ãã£ãã¯ãééããŸãããããããã»ã©å€ãã¯ãããŸããããç§ã®ããŒãºã«ã¯ååã§ãã ã«ãŒã¿ãŒã®èããã£ããéãŸãããå°ãééãã§ããŠããŸããŸãã çŸåŠè
ã¯ãããŒãããã€ãŒãµããã ã³ãã¯ã¿ãš USB ãã¹ã ã³ãã¯ã¿ãåãå€ãããšãã§ããŸããããã«ãããèãå®å
šã«éããŠããã¹ããŒã¹ããŸã æ®ãããã«ãªããŸãã
ãã®ãããªãã«ãã«åŸäºããã«è³Œå
¥ããæ¹ãè¯ãã§ã
åºæïŒ habr.com