قبل بضعة أيام تحدثنا هنا في المدونة عن Firezone، وهي أداة ممتازة لإنشاء خوادم VPN تعتمد على WireGuard.
والآن، في هذه المناسبة، سنتحدث عن أداة مشابهة جدًا تسمى "Headscale"، وهو مشروع تم تطويره كتطبيق مفتوح المصدر لمكون خادم Tailscale VPN ، مما يسمح لك بإنشاء شبكات VPN تشبه Tailscale في مقر عملك الخاص، دون أن تكون مرتبطًا بخدمات جهات خارجية.
تتيح تقنية Tailscale دمج عدد عشوائي من المضيفين المنتشرين جغرافيا في شبكة ، مبنية على صورة شبكة متشابكة، حيث تتواصل كل عقدة مع العقد الأخرى مباشرة (P2P) أو من خلال العقد المجاورة، دون نقل حركة المرور عبر خوادم خارجية مركزية لمزود خدمة VPN.
إضافةً إلى دعم التوجيه والتحكم بالوصول القائم على قوائم التحكم بالوصول (ACL) ، وتمكين إنشاء قنوات اتصال في ظل ظروف استخدام ترجمة عناوين الشبكة (NAT)، يدعم النظام آليات STUN وICE وDERP (المشابهة لآلية TURN، ولكنها تعتمد على بروتوكول HTTPS). في حال حظر قناة الاتصال بين عُقد معينة، يمكن للشبكة إعادة توجيه حركة البيانات عبر عُقد أخرى.
يختلف مشروع Tailscale عن مشروع Nebula ، المصمم أيضًا لإنشاء شبكات VPN موزعة مع توجيه شبكي، باستخدام بروتوكول Wireguard لتنظيم نقل البيانات بين العقد، بينما يستخدم Nebula تطورات من مشروع Tinc، الذي يستخدم خوارزمية AES-256 لتشفير حزم GSM (يستخدم Wireguard تشفير ChaCha20، والذي أظهر في الاختبارات أداءً واستجابةً أعلى).
يجري تطوير مشروع آخر مشابه، يُدعى Innernet، بشكل منفصل، حيث يُستخدم بروتوكول Wireguard أيضًا لتبادل البيانات بين العُقد. وعلى عكس Tailscale وNebula، يستخدم Innernet نظامًا مختلفًا لفصل الوصول يعتمد على قوائم التحكم بالوصول (ACLs)؛ إذ لا ترتبط التصنيفات بالعُقد والشبكات الفرعية الفردية لفصل وعزل نطاقات عناوين IP المختلفة، كما هو الحال في شبكات الإنترنت التقليدية.
أيضًا ، يستخدم Innernet Rust بدلاً من Go ، ومن الجدير بالذكر أن Innernet 1.5 مع دعم اجتياز NAT المحسّن قد تم إصداره منذ بضعة أيام. يوجد أيضًا مشروع Netmaker ، والذي يسمح لك بتوصيل الشبكات بطبولوجيا مختلفة باستخدام Wireguard ، لكن الكود الخاص به يتم توفيره بموجب SSPL (الترخيص العام من جانب الخادم) ، وهو غير مفتوح بسبب وجود متطلبات تمييزية.
يُوزَّع برنامج Tailscale وفق نموذج "فري ميوم"، حيث يُتاح الوصول المجاني للأفراد والوصول المدفوع للشركات والفرق. وتُطوَّر مكونات برنامج Tailscale، باستثناء التطبيقات الرسومية لأنظمة Windows و macOS، كمشاريع مفتوحة المصدر بموجب ترخيص BSD.
يُعدّ برنامج الخادم الخارجي لشركة Tailscale، المسؤول عن مصادقة العملاء الجدد ، وتنسيق إدارة المفاتيح ، وتنظيم الاتصال بين العُقد، برنامجًا احتكاريًا. ويعالج مشروع Headscale هذه المشكلة، إذ يُقدّم تطبيقًا مفتوح المصدر مستقلًا عن مكونات خادم Tailscale.
يتولى Headscale وظائف تبادل المفاتيح العامة بين العقد ، كما يقوم بعمليات تعيين عناوين IP وتوزيع جداول التوجيه بين العقد.
يُنفّذ Headscale في شكله الحالي جميع الميزات الأساسية لخادم الإدارة، باستثناء دعم MagicDNS وSmart DNS. ويدعم تحديدًا تسجيل العُقد (بما في ذلك عبر الويب)، وتكييف الشبكة لإضافة أو إزالة العُقد، وتقسيم الشبكة الفرعية باستخدام مساحات الأسماء (مما يسمح بإنشاء شبكة VPN لعدة مستخدمين)، وتنظيم وصول العُقد المشترك إلى الشبكات الفرعية في مساحات أسماء مختلفة، والتحكم في التوجيه (بما في ذلك تعيين العُقد الصادرة للوصول إلى العالم الخارجي)، والوصول المشترك عبر قوائم التحكم بالوصول (ACLs)، وتنفيذ DNS.
تمت كتابة رمز Headscale في Go ويتم توزيعه بموجب ترخيص BSD. يتم تطوير المشروع من قبل خوان فونت من وكالة الفضاء الأوروبية.
وأخيرًا، إذا كنت مهتمًا بمعرفة المزيد، يمكنك العثور على التفاصيل في الرابط التالي.