เร่งความเร็ว OpenVPN ในราคา $9.99* หรือรวม Orange Pi One เข้ากับเราเตอร์ของคุณ

เร่งความเร็ว OpenVPN ในราคา $9.99* หรือรวม Orange Pi One เข้ากับเราเตอร์ของคุณ

พวกเราบางคนไม่ได้ใช้อินเทอร์เน็ตโดยไม่มี VPN ด้วยเหตุผลใดก็ตาม: บางคนต้องการ IP เฉพาะ และการซื้อ VPS ที่มีสอง IP นั้นง่ายกว่าและถูกกว่าการซื้อที่อยู่จากผู้ให้บริการ บางคนต้องการเข้าถึงเว็บไซต์ทั้งหมด และไม่เพียงแต่ได้รับอนุญาตในอาณาเขตของสหพันธรัฐรัสเซียเท่านั้น อื่นๆ ยังต้องการ IPv6 แต่ผู้ให้บริการไม่ได้จัดเตรียมไว้ให้...
โดยส่วนใหญ่แล้ว การเชื่อมต่อ VPN จะถูกสร้างขึ้นบนอุปกรณ์ที่ใช้งานในช่วงเวลาหนึ่ง ซึ่งเหมาะสมหากคุณมีคอมพิวเตอร์เพียงเครื่องเดียวและโทรศัพท์เครื่องเดียวและไม่ค่อยได้ใช้งานในเวลาเดียวกัน หากมีอุปกรณ์จำนวนมากในเครือข่ายในบ้านของคุณ หรือมีบางอุปกรณ์ที่ไม่สามารถกำหนดค่า 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 เข้ารหัสการรับส่งข้อมูลและสื่อสารกับโลกภายนอกในบริบทของผู้ใช้ และการกำหนดเส้นทางจะเกิดขึ้นในบริบทเคอร์เนล ระบบปฏิบัติการจะต้องสลับไปมาอย่างต่อเนื่องสำหรับทุกแพ็กเก็ตที่ได้รับหรือส่ง และการดำเนินการนี้ช้า ปัญหานี้เกิดขึ้นในแอปพลิเคชัน VPN ทั้งหมดที่ทำงานผ่านไดรเวอร์ TUN/TAP และไม่สามารถพูดได้ว่าปัญหาความเร็วต่ำเกิดจากการเพิ่มประสิทธิภาพ OpenVPN ที่ไม่ดี (แม้ว่าแน่นอนว่ายังมีจุดที่จำเป็นต้องปรับปรุงใหม่) ไม่ใช่ไคลเอนต์ VPN สำหรับผู้ใช้รายเดียวที่ให้แม้แต่กิกะบิตที่ปิดใช้งานการเข้ารหัสบนแล็ปท็อปของฉัน ไม่ต้องพูดถึงระบบที่มีโปรเซสเซอร์ที่อ่อนแอ

ส้มพี่หนึ่ง

Orange Pi One แบบบอร์ดเดี่ยวจาก Xunlong เป็นข้อเสนอที่ดีที่สุดในแง่ของประสิทธิภาพ/อัตราส่วนราคาในขณะนี้ ในราคา 9.99 ดอลลาร์สหรัฐฯ* คุณจะได้โปรเซสเซอร์ ARM Cortex-A7 แบบ Quad-Core ที่แข็งแกร่งซึ่งทำงาน (เสถียร) ที่ 1008 MHz และมีประสิทธิภาพเหนือกว่า Raspberry Pi Zero และ Next Thing CHIP ในระดับราคาอย่างชัดเจน นี่คือจุดที่ข้อดีสิ้นสุดลง บริษัท Xunlong ให้ความสำคัญกับซอฟต์แวร์ของบอร์ดเป็นศูนย์ และในขณะที่ One เปิดตัวเพื่อจำหน่าย บริษัทก็ไม่ได้ให้ไฟล์การกำหนดค่าของบอร์ดด้วยซ้ำ ไม่ต้องพูดถึงรูปภาพสำเร็จรูปด้วยซ้ำ Allwinner ซึ่งเป็นผู้ผลิต SoC ก็ไม่ได้มีความอ่อนไหวเป็นพิเศษต่อการสนับสนุนผลิตภัณฑ์ของตน พวกเขาสนใจเฉพาะประสิทธิภาพขั้นต่ำในระบบปฏิบัติการ Android 4.4.4 ซึ่งหมายความว่าเราถูกบังคับให้ใช้เคอร์เนล 3.4 พร้อมแพตช์ Android โชคดีที่มีผู้สนใจประกอบการแจกแจง แก้ไขเคอร์เนล เขียนโค้ดเพื่อรองรับบอร์ดในเคอร์เนล mainline เช่น พวกเขาทำงานให้กับผู้ผลิตจริงๆ ทำให้งานไร้สาระนี้เป็นที่ยอมรับได้ สำหรับจุดประสงค์ของฉัน ฉันเลือกการกระจายแบบ Armbian มีการอัปเดตบ่อยครั้งและสะดวก (เคอร์เนลใหม่ได้รับการติดตั้งโดยตรงผ่านตัวจัดการแพ็คเกจและไม่ใช่โดยการคัดลอกไฟล์ไปยังพาร์ติชันพิเศษ ตามปกติในกรณีของ Allwinner) และรองรับส่วนใหญ่ อุปกรณ์ต่อพ่วงต่างจากที่อื่น

เราเตอร์

เพื่อไม่ให้โหลดโปรเซสเซอร์ที่อ่อนแอของเราเตอร์ด้วยการเข้ารหัสและเพิ่มความเร็วในการเชื่อมต่อ VPN เราสามารถเปลี่ยนงานนี้ไปที่ไหล่ของโปรเซสเซอร์ Orange Pi ที่ทรงพลังกว่าได้โดยการเชื่อมต่อกับเราเตอร์ในทางใดทางหนึ่ง คำนึงถึงการเชื่อมต่อผ่านอีเธอร์เน็ตหรือ USB - ทั้งสองมาตรฐานนี้รองรับโดยอุปกรณ์ทั้งสอง แต่ฉันไม่ต้องการใช้พอร์ตที่มีอยู่ โชคดีที่มีทางออก

ชิปฮับ USB GL850G ซึ่งใช้ในเราเตอร์ รองรับพอร์ต USB 4 พอร์ต โดยสองพอร์ตไม่ได้ต่อสาย ยังไม่ชัดเจนว่าเหตุใดผู้ผลิตจึงไม่ยกเลิกการจำหน่ายเพื่อป้องกันไม่ให้ผู้ใช้เชื่อมต่ออุปกรณ์ 4 เครื่องที่มีการใช้กระแสไฟสูง (เช่นฮาร์ดไดรฟ์) ในคราวเดียว แหล่งจ่ายไฟมาตรฐานของเราเตอร์ไม่ได้ออกแบบมาสำหรับโหลดดังกล่าว ไม่ว่าในกรณีใด นี่เป็นเพื่อประโยชน์ของเรา
เร่งความเร็ว OpenVPN ในราคา $9.99* หรือรวม Orange Pi One เข้ากับเราเตอร์ของคุณ
เพื่อให้ได้พอร์ต USB อื่น คุณเพียงแค่ต้องบัดกรีสายไฟสองเส้นเข้ากับพิน 8(D-) และ 9(D+) หรือ 11(D-) และ 12(D+)

เร่งความเร็ว OpenVPN ในราคา $9.99* หรือรวม Orange Pi One เข้ากับเราเตอร์ของคุณ

อย่างไรก็ตาม การเสียบอุปกรณ์ USB สองตัวเพียงอย่างเดียวนั้นไม่เพียงพอ และหวังว่าทุกอย่างจะทำงานได้ด้วยตัวเอง เช่นเดียวกับที่ทำกับอีเธอร์เน็ต ประการแรก เราต้องทำให้หนึ่งในนั้นทำงานในโหมดไคลเอ็นต์ USB ไม่ใช่โฮสต์ USB และประการที่สอง เราต้องตัดสินใจว่าอุปกรณ์จะตรวจจับกันอย่างไร มีไดรเวอร์มากมายสำหรับอุปกรณ์ USB ที่เรียกว่า (ตั้งชื่อตามระบบย่อยเคอร์เนล Linux) ซึ่งช่วยให้คุณสามารถจำลองอุปกรณ์ USB ประเภทต่างๆ: อะแดปเตอร์เครือข่าย การ์ดเสียง แป้นพิมพ์และเมาส์ แฟลชไดรฟ์ กล้อง คอนโซลผ่านอนุกรม ท่าเรือ. เนื่องจากอุปกรณ์ของเราจะทำงานร่วมกับเครือข่าย การจำลองอะแดปเตอร์อีเธอร์เน็ตจึงดีที่สุดสำหรับเรา

มีมาตรฐาน Ethernet-over-USB สามมาตรฐาน:

  • NDIS ระยะไกล (RNDIS). มาตรฐานที่ล้าสมัยจาก Microsoft ซึ่งใช้เป็นหลักระหว่าง Windows XP
  • โมเดลการควบคุมอีเธอร์เน็ต (ECM). มาตรฐานง่ายๆ ที่ห่อหุ้มเฟรมอีเธอร์เน็ตภายในแพ็กเก็ต USB เหมาะสำหรับโมเด็มแบบมีสายที่มีการเชื่อมต่อ USB ซึ่งสะดวกในการถ่ายโอนเฟรมโดยไม่ต้องประมวลผล แต่เนื่องจากความเรียบง่ายและข้อจำกัดของบัส USB จึงไม่เร็วมาก
  • โมเดลการจำลองอีเธอร์เน็ต (EEM). โปรโตคอลที่ชาญฉลาดยิ่งขึ้นซึ่งคำนึงถึงข้อจำกัดของ USB และรวมหลายเฟรมให้เป็นหนึ่งเดียวอย่างเหมาะสมที่สุด จึงเพิ่มปริมาณงาน
  • โมเดลการควบคุมเครือข่าย (NCM). โปรโตคอลใหม่ล่าสุด มีข้อดีของ EEM และปรับประสบการณ์การใช้งานบัสให้เหมาะสมยิ่งขึ้น

เพื่อให้โปรโตคอลเหล่านี้ทำงานบนบอร์ดของเรา เราจะต้องพบกับปัญหาเช่นเคย เนื่องจาก Allwinner สนใจเฉพาะส่วนของเคอร์เนล Android จึงมีเพียง Android Gadget เท่านั้นที่ทำงานได้ตามปกติ - รหัสที่ใช้สื่อสารกับ adb ส่งออกอุปกรณ์ผ่านโปรโตคอล MTP และจำลองแฟลชไดรฟ์บนอุปกรณ์ Android Android Gadget เองก็รองรับโปรโตคอล RNDIS ด้วยเช่นกัน แต่มันใช้งานไม่ได้ในเคอร์เนล Allwinner หากคุณพยายามรวบรวมเคอร์เนลด้วยอุปกรณ์ USB อื่น ๆ อุปกรณ์ก็จะไม่ปรากฏบนระบบไม่ว่าคุณจะทำอะไรก็ตาม
ในการแก้ปัญหาด้วยวิธีที่เป็นมิตร คุณจะต้องค้นหาสถานที่ที่คอนโทรลเลอร์ USB เริ่มต้นได้ในโค้ดของอุปกรณ์ Android android.c ที่แก้ไขโดยนักพัฒนา แต่ยังมีวิธีแก้ไขชั่วคราวเพื่อสร้างการจำลองอีเธอร์เน็ตเป็นอย่างน้อย งานยูเอสบี:

--- 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 ใหม่ของเราลงในบริดจ์ของโซนไฟร์วอลล์ในเครื่อง:

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 Mb/s ฉันคาดหวังไว้น้อยกว่านี้ OpenVPN ส่งผ่านการรับส่งข้อมูลที่เข้ารหัสประมาณ 70 Mb/s ซึ่งไม่มากนัก แต่ก็เพียงพอสำหรับความต้องการของฉัน ฝาเราเตอร์ปิดไม่สนิททำให้เกิดช่องว่างเล็กๆ สุนทรียศาสตร์สามารถถอดขั้วต่ออีเทอร์เน็ตและโฮสต์ USB ออกจากบอร์ดได้ ซึ่งจะทำให้ฝาปิดสนิทและยังมีพื้นที่เหลืออยู่บ้าง
เป็นการดีกว่าที่จะไม่มีส่วนร่วมในสื่อลามกดังกล่าวและซื้อ ทูริส ออมเนีย.

ที่มา: will.com

เพิ่มความคิดเห็น