عن المشروع
Nebula هي أداة شبكات تراكب مفتوحة المصدر أُنشئت في Slack Technologies. تبني شبكة برمجية معرفة من نظير إلى نظير مع مصادقة متبادلة فوق إطار عمل Noise Protocol، مما يسمح لأجهزة الكمبيوتر بالاتصال مباشرة بغض النظر عن موقعها أو مزود السحابة الذي يستضيفها.
القدرات الرئيسية الموصوفة في ملف README:
- قابلية التوسع: مصممة لربط أي شيء من بضعة أجهزة إلى عشرات الآلاف من المضيفين.
- قابلية النقل: تعمل على لينكس (64/32-بت، ARM وغيرها)، وويندوز، وmacOS، وFreeBSD، وiOS، وأندرويد. توجد حزم توزيع لـ Arch وFedora وDebian وAlpine وHomebrew وDocker.
- نموذج الأمان: تثبت الشهادات عنوان IP للعقدة واسمها وعضويتها في مجموعات معرفة من قبل المستخدم. تستخدم التشفيرات الافتراضية تبادل مفاتيح ECDH وAES-256-GCM؛ وCurve25519 هو المنحنى الافتراضي، مع أوضاع بناء اختيارية لـ NIST P256 وFIPS 140-3.
- الاكتشاف: تسمح عقد "المنارة" الخفيفة ذات عناوين IP القابلة للتوجيه للأقران بالعثور على بعضهم البعض، باستخدام اختياريًا ثقب UDP لاختراق أجهزة NAT وجدران الحماية.
- التحكم في حركة المرور: تتيح المجموعات المعرفة من قبل المستخدم قواعد جدار حماية مستقلة عن المزود، مماثلة في الأسلوب لمجموعات الأمان السحابية.
البدء يتضمن توليد مرجع مصدق (CA) باستخدام nebula-cert، وتوقيع شهادات المضيف مع عناوين IP والمجموعات، وكتابة ملفات إعداد لكل مضيف، وتشغيل ثنائي nebula. يحذر ملف README من أن المفتاح الخاص للمرجع المصدق هو الملف الأكثر حساسية ويجب عدم نسخه إلى العقد الفردية، ويشير إلى أن المراجع المصدقة تنتهي صلاحيتها بعد عام واحد افتراضيًا.
يمكن بناء Nebula من المصدر باستخدام Go عبر أهداف make لجميع المنصات أو منصات محددة. المشروع مُدار من قبل Slack ويقدم خيارًا مُدارًا عبر Defined Networking للمستخدمين الذين يفضلون عدم تشغيل البنية التحتية الخاصة بهم للمفاتيح العامة والمنارات.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.