Headscale การใช้งานโอเพ่นซอร์สของ Tailscale

ไม่กี่วันที่ผ่านมา เรากำลังพูดถึงที่นี่ในบล็อกเกี่ยวกับ Firezone ซึ่งเป็นยูทิลิตี้ที่ยอดเยี่ยมสำหรับการสร้างเซิร์ฟเวอร์ VPN ที่ใช้ WireGuard

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

หางเครื่อง อนุญาตให้รวมจำนวนโฮสต์ที่กระจัดกระจายทางภูมิศาสตร์ในเครือข่ายได้ตามจำนวนที่กำหนดสร้างขึ้นจากภาพของเครือข่ายเมช ซึ่งแต่ละโหนดสื่อสารกับโหนดอื่นโดยตรง (P2P) หรือผ่านโหนดใกล้เคียง โดยไม่ต้องส่งปริมาณข้อมูลผ่านเซิร์ฟเวอร์ภายนอกแบบรวมศูนย์ของผู้ให้บริการ VPN

นอกเหนือจากนั้น รองรับเส้นทางที่ใช้ ACL และการควบคุมการเข้าถึง และเพื่อสร้างช่องทางการสื่อสารในเงื่อนไขการใช้ตัวแปลที่อยู่ (NAT) กลไก STUN, ICE และ DERP ได้รับการสนับสนุน (คล้ายกับ TURN แต่อิงตาม HTTPS) หากช่องทางการสื่อสารระหว่างโหนดบางโหนดถูกบล็อก เครือข่ายสามารถกำหนดเส้นทางใหม่เพื่อกำหนดเส้นทางการรับส่งข้อมูลผ่านโหนดอื่น

หางและความแตกต่างจากโครงการเนบิวลา ซึ่งได้รับการออกแบบเพื่อสร้างเครือข่าย VPN แบบกระจายด้วยการกำหนดเส้นทางแบบเมช โดยใช้โปรโตคอล Wireguard เพื่อจัดระเบียบการถ่ายโอนข้อมูลระหว่างโหนด ในขณะที่เนบิวลาใช้การพัฒนาของโครงการ Tinc ซึ่งใช้อัลกอริทึม AES-256 เพื่อเข้ารหัสแพ็กเก็ต GSM (Wireguard ใช้การเข้ารหัส ChaCha20 ซึ่งในการทดสอบแสดงประสิทธิภาพและการตอบสนองที่สูงขึ้น)

โครงการที่คล้ายกันอีกโครงการหนึ่งคือ Innernet กำลังได้รับการพัฒนาแยกกัน ซึ่งโปรโตคอล Wireguard มันยังใช้ในการแลกเปลี่ยนข้อมูลระหว่างโหนด ในทางตรงกันข้าม จาก Tailscale และ Nebula บน Innernet มีการใช้ระบบแยกการเข้าถึงตาม ACL ที่แตกต่างกัน ป้ายกำกับไม่ได้ผูกติดอยู่กับแต่ละโหนดและซับเน็ตในการแยกและแยกช่วงที่อยู่ IP ต่างๆ เช่นเดียวกับในเครือข่ายอินเทอร์เน็ตทั่วไป

นอกจากนี้ Innernet ยังใช้ Rust แทน Go และควรสังเกตว่า Innernet 1.5 พร้อมการสนับสนุน NAT traversal ที่ปรับปรุงแล้วได้รับการเผยแพร่เมื่อไม่กี่วันก่อน นอกจากนี้ยังมีโปรเจ็กต์ Netmaker ซึ่งให้คุณเชื่อมต่อเครือข่ายที่มีโทโพโลยีต่างๆ โดยใช้ Wireguard แต่โค้ดของมันถูกจัดเตรียมไว้ภายใต้ SSPL (Server-Side Public License) ซึ่งไม่เปิดขึ้นเนื่องจากมีข้อกำหนดเกี่ยวกับการเลือกปฏิบัติ

Tailscale ถูกแจกจ่ายโดยใช้ Freemium model ที่ใช้งานได้ฟรี สำหรับบุคคลและการเข้าถึงแบบชำระเงินสำหรับบริษัทและทีม ส่วนประกอบของไคลเอ็นต์ Tailscale ยกเว้นแอปพลิเคชันกราฟิกสำหรับ Windows และ macOS ได้รับการพัฒนาในรูปแบบของโครงการโอเพ่นซอร์สภายใต้ใบอนุญาต BSD

ซอฟต์แวร์เซิร์ฟเวอร์เอาท์ซอร์สของ Tailscale ที่ตรวจสอบสิทธิ์ลูกค้าใหม่, พิกัดการจัดการคีย์และจัดระเบียบการสื่อสารระหว่างโหนดเป็นกรรมสิทธิ์ โปรเจ็กต์ Headscale จัดการกับปัญหานี้และจัดเตรียมการใช้งานโอเพนซอร์สแยกต่างหากของส่วนประกอบเซิร์ฟเวอร์ Tailscale

Headscale เข้ามาแทนที่ฟังก์ชันการแลกเปลี่ยนคีย์สาธารณะของโหนดs และยังดำเนินการกำหนดที่อยู่ IP และแจกจ่ายตารางเส้นทางระหว่างโหนด

ในรูปแบบปัจจุบัน Headscale ใช้คุณสมบัติหลักทั้งหมดของเซิร์ฟเวอร์การจัดการ ยกเว้นการรองรับ MagicDNS และ Smart DNS โดยเฉพาะอย่างยิ่ง, รองรับฟังก์ชั่นการลงทะเบียนโหนด (แม้ผ่านทางเว็บ) ปรับเครือข่ายเพื่อเพิ่มหรือลบโหนด แบ่งเครือข่ายย่อยโดยใช้เนมสเปซ (คุณสามารถสร้างเครือข่าย VPN สำหรับผู้ใช้หลายคนได้) จัดระเบียบการเข้าถึงที่ใช้ร่วมกันจากโหนดไปยังเครือข่ายย่อยในเนมสเปซต่างๆ การควบคุมเส้นทาง (รวมถึงการกำหนดโหนดทางออก เพื่อเข้าถึงโลกภายนอก) การเข้าถึงที่ใช้ร่วมกันผ่าน ACL และการดำเนินการ DNS

รหัส Headscale เขียนเป็นภาษา Go และเผยแพร่ภายใต้ใบอนุญาต BSD โครงการนี้ได้รับการพัฒนาโดย Juan Font ของ European Space Agency

สุดท้ายนี้ หากสนใจอยากทราบข้อมูลเพิ่มเติม สามารถเข้าไปดูรายละเอียดได้ที่ ในลิงค์ต่อไปนี้.


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา