วิธีแยกทราฟฟิก VPN ใน Windows, MacOS, DD-WRT และ Tomato


Split tunneling ช่วยให้ผู้ใช้ VPN สามารถกำหนดเส้นทางการรับส่งข้อมูลจากแอพหรืออุปกรณ์ที่ระบุผ่าน VPN ในขณะที่การรับส่งข้อมูลจากแอพและอุปกรณ์อื่น ๆ Split tunneling สามารถใช้เพื่อวัตถุประสงค์ที่แตกต่างกัน ได้แก่ :

  • อนุญาตการใช้อินเทอร์เน็ตตามปกติในขณะที่เข้าถึงทรัพยากรพร้อมใช้งานสำหรับผู้ใช้ VPN เท่านั้นเช่นเซิร์ฟเวอร์ธุรกิจ
  • การตั้งค่าอุปกรณ์เฉพาะเช่นเกมคอนโซลหรือกล่องสื่อสตรีมมิ่งเพื่อใช้ (หรือไม่ใช้) VPN โดยไม่ส่งผลกระทบต่ออุปกรณ์อื่น ๆ บนเครือข่าย
  • ส่งการรับส่งข้อมูลทั้งหมดของอุปกรณ์ผ่าน VPN ยกเว้นเมื่อเข้าถึงเนื้อหาหรือบริการที่ไม่อนุญาตการเชื่อมต่อ VPN เช่น MLB.tv หรือ Netflix
  • การส่งทราฟฟิกทั้งหมดผ่าน VPN ยกเว้นเนื้อหาและบริการที่ต้องใช้เวลาในการตอบสนองต่ำเช่นแอปพลิเคชั่น VoIP และเกมออนไลน์
  • กำหนดเส้นทางการรับส่งข้อมูลฝนตกหนักผ่าน VPN ในขณะที่การรับส่งข้อมูลอินเทอร์เน็ตอื่น ๆ ทั้งหมดไปยังเครือข่ายเริ่มต้น
  • เข้าถึง VPN โดยไม่ส่งผลต่อการเชื่อมต่อของคุณกับอุปกรณ์อื่น ๆ ในเครือข่ายท้องถิ่นเช่นเครื่องพิมพ์หรือ Plex Media Server

จินตนาการของคุณมีขีด จำกัด จำนวนแอปพลิเคชั่นสำหรับการแยกอุโมงค์ ดีนั่นและฮาร์ดแวร์ของคุณ อุโมงค์แยกแบบต่าง ๆ มีข้อกำหนดทางเทคนิคแตกต่างกัน สิ่งที่คุณสามารถทำได้ขึ้นอยู่กับอุปกรณ์ของคุณเราเตอร์ไร้สายและบริการ VPN.

ก่อนที่จะเริ่มต้นสิ่งสำคัญคือการตระหนักว่าการแยกช่องสัญญาณต้องใช้ความรู้ด้านเทคนิคขั้นสูงและการใช้งานแบบจับจดอาจทำให้เกิดความเสี่ยงด้านความปลอดภัย หากคุณไม่ได้กำหนดค่าการแยกอุโมงค์อย่างถูกต้อง ISP หรือบุคคลที่สามของคุณสามารถเข้าถึงข้อมูลที่ละเอียดอ่อนของคุณได้.

ประเภทของการขุดอุโมงค์แยก

สำหรับผู้ใช้ VPN ทั่วไปมีการแยกช่องสัญญาณหลักสี่ประเภท.

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

ที่สองคือโดยอุปกรณ์ ตัวอย่างเช่นหากคุณต้องการให้เกมคอนโซลเชื่อมต่ออินเทอร์เน็ตโดยไม่ใช้ VPN แต่พีซีและสมาร์ทโฟนของคุณจะเชื่อมต่อกับ VPN โดยทั่วไปแล้วอุโมงค์แบบแยกนี้จะทำกับเราเตอร์ไร้สายของคุณ ในเฟิร์มแวร์เราเตอร์ DD-WRT ยอดนิยมสิ่งนี้เรียกว่า“ การกำหนดเส้นทางตามนโยบาย”

การแยกอุโมงค์ประเภทที่สามคือการใช้งาน คุณสามารถตั้งค่าบัญชีดำหรือบัญชีขาวของแอพและบริการที่คุณต้องการเชื่อมต่อกับ VPN หรือไม่ต้องการเชื่อมต่อกับ VPN ตามลำดับ บางครั้งเรียกว่าอุโมงค์แบบแยก “ผกผัน” ตัวอย่างเช่นหากคุณต้องการให้ปริมาณการใช้งาน torrent ผ่าน VPN แต่แอปพลิเคชันอื่น ๆ ทั้งหมดของคุณเช่นเกมและเว็บเบราว์เซอร์เพื่อเชื่อมต่ออินเทอร์เน็ตโดยไม่มี VPN นี่เป็นวิธีการที่คุณต้องการใช้ แยกการขุดอุโมงค์โดยแอปพลิเคชันใช้งานได้กับ VPN ระบบปฏิบัติการและเฟิร์มแวร์เราเตอร์บางตัวเท่านั้น.

การแยกแบบอุโมงค์ขั้นสุดท้ายช่วยให้คุณกำหนดเส้นทางการจราจรตามจุดหมายปลายทางแทนที่จะเป็นที่มา ตัวอย่างเช่นหากคุณต้องการกำหนดเส้นทางการรับส่งข้อมูลทั้งหมดผ่าน VPN ยกเว้นการเดินทางไปยัง Netflix หรือ Hulu สิ่งนี้เรียกว่าการกำหนดเส้นทางผ่าน IP และเป็นช่องทางแยกที่ยากที่สุดในการทำให้สำเร็จ มันต้องใช้เราเตอร์หรือไฟร์วอลล์ที่มีสถานะและแม้ว่าคุณจะมีเว็บไซต์เช่น Netflix มีที่อยู่ IP จำนวนมากซึ่งยากที่จะทำให้มันทำงานได้อย่างน่าเชื่อถือ ดังนั้นเราจะไม่ครอบคลุมการกำหนดเส้นทาง IP ในบทความนี้.

ระบบปฏิบัติการบางระบบไม่รองรับการแยกอุโมงค์ทุกประเภท ในความเป็นจริงผู้ใช้ Windows จะพบว่าตัวเลือกของพวกเขาถูก จำกัด อย่างรุนแรง Macs นั้นใช้งานไม่ได้ แต่เราเตอร์ที่มีเฟิร์มแวร์ DD-WRT หรือ Tomato นั้นมีความสามารถรอบด้านมากที่สุด น่าเสียดายที่มันยังซับซ้อนที่สุดในการกำหนดค่า.

วิธีแยก tunnel ใน MacOS

ก่อนอื่นให้ตรวจสอบกับผู้ให้บริการ VPN ของคุณเพื่อดูว่าแอพนั้นมีฟังก์ชั่นการแยกช่องสัญญาณในตัวหรือไม่ ในขณะที่ไม่ธรรมดาเกินไปผู้ให้บริการบางรายเช่น ExpressVPN จะเสนอการเจาะอุโมงค์แยกตามแอปพลิเคชัน กับ การเชื่อมต่อต่อแอพ คุณสมบัติบนแอป Mac ของ ExpressVPN คุณสามารถสร้างบัญชีดำหรือบัญชีขาวของแอพเพื่อกำหนดเส้นทางผ่าน VPN.

หากแอป VPN ของคุณไม่ได้รับการสนับสนุนในตัวสำหรับการแยกการขุดอุโมงค์เราจะต้องทำให้มือของเราสกปรกและทำสิ่งต่างๆด้วยตนเอง.

คุณจะต้องมีสิทธิ์ผู้ดูแลระบบขั้นสูงและการเชื่อมต่อ L2TP หรือ PPTP ที่มีอยู่รวมถึงซับเน็ตปลายทางสำหรับพื้นที่ส่วนตัว VPN.

  1. ไปที่ ค่ากำหนดของระบบ > เครือข่าย
  2. ในแถบด้านข้างซ้ายคลิกการเชื่อมต่อ VPN ของคุณและไปที่ ตั้งค่าขั้นสูง > ตัวเลือก
  3. ยกเลิกการทำเครื่องหมายที่ช่องสำหรับ ส่งปริมาณการใช้งานทั้งหมดผ่านการเชื่อมต่อ VPNอุโมงค์แยก mac 3
  4. บันทึกการเปลี่ยนแปลงของคุณและเชื่อมต่อกับ VPN
  5. เมื่อเชื่อมต่อแล้วให้ไปที่ ใบสมัคร > ยูทิลิตี้ > สถานีปลายทาง
  6. ชนิด ifconfig เข้าสู่เทอร์มินัลแล้วกด Enter จดบันทึกอินเตอร์เฟสที่ใช้โดย VPN ใช้ L2TP นี่อาจจะเป็น ppp0อุโมงค์แยก mac 2
  7. เข้าสู่ระบบในฐานะ root วิธีง่ายๆในการทำเช่นนี้คือพิมพ์ sudo su เข้าสู่เครื่องเทอร์มินัลและรับรองความถูกต้องด้วยรหัสผ่าน Mac ของคุณ.อุโมงค์แยก mac 1_2
  8. ป้อนคำสั่งต่อไปนี้แทนที่ >ปลายทางย่อย< ด้วยซับเน็ตที่คุณต้องการกำหนดเส้นทางผ่าน VPN และ >VPN INTERFACE< ด้วยอินเตอร์เฟสที่แสดงรายการใน step.route ก่อนหน้านี้เพิ่ม -net >ปลายทางย่อย< -อินเตอร์เฟซ >VPN INTERFACE<

ดูสิ่งนี้ด้วย: รายการผู้ให้บริการ Mac VPN ที่แนะนำของเรา.

วิธีแยก tunnel ใน Windows

Windows ค่อนข้าง จำกัด เมื่อพูดถึงการแยกช่องสัญญาณ ไม่มีวิธีใดที่เราจะทราบว่าจะแยกอุโมงค์โดยแอปหรือปลายทาง แต่ตัวเลือกการแยกอุโมงค์ใน Windows นั้นกว้างกว่ามาก คุณสามารถเลือกที่จะไม่รับส่งข้อมูลในช่องสัญญาณ IPv4 และ IPv6 เพื่อให้การรับส่งข้อมูลภายในผ่าน VPN เท่านั้น สิ่งนี้มีประโยชน์หากจำเป็นต้องใช้ VPN เพื่อเข้าถึงทรัพยากรระยะไกลที่ไม่สามารถใช้งานได้จากการเชื่อมต่ออินเทอร์เน็ตปกติของคุณ แต่ไม่มากนัก.

นอกจากนี้ Windows จะแยกเฉพาะโปรโตคอล VPN ที่มีการสนับสนุนในตัว นั่นหมายความว่าคุณจะต้องกำหนดค่าการเชื่อมต่อ L2TP, SSTP หรือ PPTP ก่อน OpenVPN จะไม่ทำงานที่นี่.

ตัวอย่างนี้จะใช้การเชื่อมต่อท้องถิ่นของคุณเพื่อเข้าถึงอินเทอร์เน็ตในขณะที่ VPN จะใช้ในการเข้าถึงทรัพยากรระยะไกลเช่นเซิร์ฟเวอร์ธุรกิจส่วนตัวที่สามารถเข้าถึงได้ผ่าน VPN เท่านั้น VPN จะใช้เมื่อโฮสต์ไม่พร้อมใช้งานในเครือข่ายท้องถิ่นเท่านั้น.

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

  1. ในแถบค้นหา Windows ของคุณพิมพ์ Powershell และคลิกขวาเพื่อ ทำงานในฐานะผู้ดูแลระบบอุโมงค์แยก windows 1
  2. ชนิด Get-VPNConnection และกด Enter เพื่อแสดงรายการการเชื่อมต่อ VPN ที่มีอยู่ทั้งหมดของคุณ (ฉันทดสอบ VPN จำนวนมากจึงมีหลายภาพในหน้าจอของฉัน แต่คุณน่าจะมีเพียงอันเดียวเท่านั้น) จดบันทึก ชื่อ ของ VPN ที่คุณต้องการแยกอุโมงค์.อุโมงค์แยก windows 2
  3. พิมพ์คำสั่งต่อไปนี้แล้วกด Enter แทนที่ >VPN NAME< ด้วยชื่อที่คุณจดบันทึกไว้ในขั้นตอนก่อนหน้า: Set-VPNConnection -Name“>VPN NAME<” -SplitTunneling $ True

คุณสามารถตรวจสอบว่าอุโมงค์แยกถูกเปิดใช้งานโดยป้อน Get-VPNConnection สั่งอีกครั้ง ควรตั้งค่าช่องอุโมงค์แยกเป็น True.อุโมงค์แยก windows 3

จากนั้นให้ป้อนคำสั่งนี้แล้วจดบันทึก ลักษณะ สนาม:

ipconfig / ทั้งหมด

หากจำเป็นให้เพิ่มเส้นทาง แทนที่ >ปลายทางย่อย< ด้วยซับเน็ตที่คุณต้องการกำหนดเส้นทางผ่าน VPN และ >อินเตอร์เฟซ< ด้วยชื่อของฟิลด์คำอธิบายที่เราพูดถึงในขั้นตอนสุดท้าย:

อินเตอร์เฟส netsh ipv4 เพิ่มเส้นทาง >ปลายทางย่อย< ">INTERFACE NAME<"

หากคุณต้องการปิดใช้งานการแยกอุโมงค์ให้ป้อนคำสั่งนี้:

ตั้งค่า VPNConnection -Name ">VPN NAME<" -SplitTunneling $ False

แยกการขุดด้วยเซิร์ฟเวอร์ OpenVPN ของคุณเองบน Windows

หากคุณสร้างเซิร์ฟเวอร์ OpenVPN ของคุณเองคล้ายกับที่อยู่ในบทช่วยสอนของเราที่ใช้ Amazon EC2 คุณสามารถเปิดใช้งานการแยกช่องสัญญาณใน Windows โดยแก้ไขไฟล์กำหนดค่าของคุณ.

ลบ redirect-gateway def1 ในไฟล์กำหนดค่าเซิร์ฟเวอร์ OpenVPN ของคุณ (อาจเรียกว่า server.conf) ในการกำหนดค่าไคลเอนต์ (client.ovpn หรือ client.conf) เพิ่มบรรทัดต่อไปนี้:

เส้นทาง 12.12.12.0 255.255.255.0 vpn_gateway

สิ่งนี้กำหนดเส้นทาง 12.12.12.0 ซับเน็ตผ่านการเชื่อมต่อ VPN และทุกอย่างอื่นที่ไม่ใช่การเชื่อมต่อ VPN.

ดูสิ่งนี้ด้วย: VPN ที่ดีที่สุดสำหรับผู้ใช้ Windows 10.

วิธีการแยกช่องสัญญาณในเราเตอร์ DD-WRT

การตั้งค่า OpenVPN และการแยกช่องสัญญาณบนเราเตอร์ DD-WRT นั้นเป็นธุรกิจที่น่าเบื่อและยุ่งยากดังนั้นหากคุณต้องการเส้นทางเราเตอร์เราขอแนะนำให้คุณซื้อการสมัครรับข้อมูล ExpressVPN. ด้วยวิธีนี้คุณสามารถติดตั้งเฟิร์มแวร์เราเตอร์ ExpressVPN ที่กำหนดเองหรือซื้อเราเตอร์ที่ติดตั้งเฟิร์มแวร์ไว้ล่วงหน้า มันง่ายกว่าการตั้งค่าทุกอย่างด้วยตนเอง.

เราเตอร์ expressvpn

VPN ที่ดีที่สุดในการแยกช่องสัญญาณในเราเตอร์ DD-WRT: ExpressVPN เป็นตัวเลือกของเรา VPN นี้เป็นผู้นำในด้านแอพพลิเคชั่นและซอฟต์แวร์เราเตอร์ที่ใช้งานง่าย มีเครือข่ายเซิร์ฟเวอร์มากมายที่เหมาะสำหรับการเชื่อมต่อความเร็วสูง ยากที่จะเอาชนะความเป็นส่วนตัวและความปลอดภัย ทำงานร่วมกับบริการสตรีมมิ่งที่สำคัญทั้งหมด มีการรับประกันคืนเงิน 30 วันโดยไม่ต้องพูดเล่นเพื่อให้คุณสามารถลองได้โดยไม่ต้องเสี่ยง.

หากคุณต้องการประหยัดไม่กี่ bucks และทำสิ่งที่ยากเราจะถือว่าคุณได้ตั้งค่าการเชื่อมต่อ VPN ใน DD-WRT แล้วและทำงานได้อย่างถูกต้อง DD-WRT ช่วยให้คุณสามารถแยกทราฟฟิก VPN ในช่องทางได้หลายวิธี:

  • ตามอุปกรณ์ที่เรียกว่า“ การกำหนดเส้นทางตามนโยบาย”
  • ตามที่อยู่ IP ปลายทางที่เรียกว่า“ การกำหนดเส้นทาง IP”
  • โดยแอปพลิเคชันหรือพอร์ต

การกำหนดเส้นทางตามนโยบาย

ในแดชบอร์ด DD-WRT ไปที่ บริการ > VPN. ค้นหากล่องกำหนดเส้นทางตามนโยบายและป้อนที่อยู่ IP สำหรับอุปกรณ์แต่ละรายการที่คุณต้องการผ่าน VPN เรียบง่ายเหมือนที่!

หากคุณไม่แน่ใจเกี่ยวกับที่อยู่ IP ของอุปกรณ์คุณสามารถค้นหาได้โดยไปที่ สถานะเราเตอร์ หน้าแดชบอร์ด DD-WRT ภายใต้ เครือข่าย ค้นหา การเชื่อมต่อ IP ที่ใช้งานอยู่. คลิกหมายเลขถัดจากเพื่อเปิด ตารางการเชื่อมต่อ IP ที่ใช้งานอยู่. ที่นี่คุณสามารถดูที่อยู่ IP สำหรับการเชื่อมต่อขาเข้าและขาออกทั้งหมดบนเราเตอร์รวมถึงโปรโตคอลและหมายเลขพอร์ต.

การกำหนดเส้นทางตามพอร์ต

หากคุณต้องการระบุว่าโปรแกรมหรือแอพใดใช้ VPN วิธีหนึ่งในการทำเช่นนี้คือการแยกช่องสัญญาณด้วยพอร์ต แต่ละแอปพลิเคชั่นอาจใช้พอร์ตที่แตกต่างกันเช่นเว็บเบราว์เซอร์ใช้พอร์ต TCP 80 และ 443, Spotify ใช้พอร์ต TCP 4070 และ Steam ใช้พอร์ต UDP 27000 ถึง 27030 ดังนั้นโดยการระบุพอร์ตเฉพาะเพื่อกำหนดเส้นทางทราฟฟิกของ VPN ผ่านเราสามารถแยกอุโมงค์ โดยแอปพลิเคชัน.

น่าเสียดายที่นี่ยากกว่าเสียงของ DD-WRT คุณจะต้องทำความคุ้นเคยกับ IPTables ซึ่งควบคุมกฎไฟร์วอลล์ Linux ในเฟิร์มแวร์ คุณอาจพบว่าบทช่วยสอนนี้มีประโยชน์เป็นตัวอย่าง.

ไปที่ การบริหาร > คำสั่ง. ภายใต้ ไฟร์วอลล์ คลิก แก้ไข และป้อนคำสั่งที่จำเป็น จากนั้นไปที่การกำหนดค่าไคลเอนต์ OpenVPN ของคุณใน DD-WRT และค้นหา กำหนดค่าเพิ่มเติม เพื่อแก้ไขการกำหนดค่า OpenVPN ของคุณ.

การกำหนดเส้นทาง IP ปลายทาง

หากคุณต้องการใช้ช่องทางการรับส่งข้อมูลตามปลายทางเช่นโดยเว็บไซต์หรือเซิร์ฟเวอร์ประเภทอื่นการกำหนดเส้นทาง IP อาจทำการหลอกลวง.

ไปที่การกำหนดค่าไคลเอนต์ OpenVPN ของคุณใน DD-WRT และค้นหา กำหนดค่าเพิ่มเติม กล่อง. ป้อนต่อไปนี้:

เส้นทาง nopull
เส้นทาง XXX.XXX.XXX.XXX 255.255.255.255 net_gateway
เส้นทาง YYY.YYY.YYY.YYY 255.ZZZ.ZZZ.0 vpn_gateway

แทนที่ Xs ด้วยที่อยู่เดียวกับที่คุณป้อน เซิร์ฟเวอร์ IP ฟิลด์ของการกำหนดค่า OpenVPN ของคุณ แทนที่ Ys ด้วยที่อยู่ IP ของเซิร์ฟเวอร์ที่คุณต้องการกำหนดเส้นทางการรับส่งข้อมูล VPN ไปยังและ Zs ด้วยซับเน็ตที่เหมาะสม (หลังมักจะเป็น 255.255.255.0).

โปรดทราบว่าหากคุณต้องการกำหนดเส้นทางการรับส่งข้อมูล VPN ทั้งหมดไปยังเว็บไซต์ที่ระบุคุณจะต้องเพิ่มที่อยู่ IP และซับเน็ตสำหรับเซิร์ฟเวอร์ทั้งหมดที่เว็บไซต์ใช้ ตัวอย่างเช่น Netflix ใช้ IP หลายโหลและสามารถเปลี่ยนแปลงได้ตลอดเวลาดังนั้นคุณจะต้องค้นหารายการ Netflix IP ที่ทันสมัยและอัปเดตการกำหนดค่านี้เป็นประจำ.

วิธีการแยก tunnel ในเราเตอร์ Tomato

มะเขือเทศไม่มีการกำหนดเส้นทางตามนโยบายเช่น DD-WRT ดังนั้นคุณค่อนข้างติดกับการใช้ IPTables เพื่อให้งานสำเร็จ บนแดชบอร์ด Tomato ด้วยการเชื่อมต่อ OpenVPN ของคุณตั้งค่าและทำงานอยู่นี่เป็นตัวอย่างของวิธีการเปิดใช้งานการเลือกเส้นทาง.

ไปที่ การบริหาร > สคริป > ไฟร์วอลล์ และเพิ่มคำสั่งเหล่านี้:

iptables -I ไปข้างหน้า -i br0 -o tun11 -j ACCEPT
iptables -I ไปข้างหน้า -i tun11 -o br0 -j ACCEPT
iptables -I อินพุต -i tun11 -j ปฏิเสธ
iptables -t nat -A POSTROUTING -o tun11 -j MASQUERADE

คลิกแท็บ“ WAN Up” และเพิ่มคำสั่งเหล่านี้แทนที่ >แหล่งที่อยู่ IP< ด้วย IP ท้องถิ่นของอุปกรณ์ที่คุณต้องการกำหนดเส้นทางผ่าน VPN:

นอน 30
เส้นทาง ip flush ตารางที่ 200
ip ip flush flush แคช
กฎ ip เพิ่มจาก >แหล่งที่อยู่ IP< ค้นหา 200
VPN_GW = `ifconfig tun11 | awk ‘/ inet addr / {แยก ($ 2, A,":"); พิมพ์ A [2]} ”
เส้นทาง ip เพิ่มตาราง 200 ค่าเริ่มต้นผ่าน $ VPN_GW dev tun11

ในแถบด้านข้างซ้ายไปที่ VPN Tunneling > ลูกค้า OpenVPN. ในการกำหนดค่าไคลเอนต์ OpenVPN ของคุณไปที่ สูง. ภายใต้ กำหนดค่าเอง, เพิ่มคำสั่งนี้:

เส้นทาง nopull

Tunnel Split โดย Paulio Geordio อนุญาตภายใต้ CC BY 2.0

About the author