"هناك عدة طرق لإنشاء حل (لحل مشكلة) ، ولكن ليس دائمًا الطريقة الأكثر تكلفة و / أو الأكثر شيوعًا - الأكثر فعالية!"مقدمة
قبل ثلاث سنوات تقريبًا ، أثناء تطوير نموذج استرداد بعد الكوارث ، واجهت عقبة لم يتم اكتشافها على الفور - نقص المعلومات حول الحلول الأصلية الجديدة للشبكة الافتراضية في مصادر المجتمع.
->
دليل عملي لبناء الشبكات الافتراضية. الجزء 1تم تخطيط خوارزمية النموذج المطور على النحو التالي:
- يقوم المستخدم عن بعد الذي اتصل بي والذي رفض جهاز الكمبيوتر الخاص به مرة واحدة بالتمهيد بالرسالة "لم يتم الكشف عن قرص النظام / لم يتم تنسيقه" بتحميله باستخدام USB بالحياة.
- أثناء عملية التمهيد ، يتصل النظام تلقائيًا بشبكة محلية آمنة خاصة ، بالإضافة إلى وجود محطة عمل للمسؤول ، وفي هذه الحالة كمبيوتر محمول ، وعقدة NAS.
- ثم أقوم بالاتصال - إما لإعادة تنشيط أقسام القرص ، أو لسحب البيانات من هناك.
في البداية ، قمت بتطبيق هذا النموذج باستخدام خادم VPN على جهاز توجيه محلي في شبكتي ، ثم على VDS مستأجرة. ولكن ، كما يحدث في كثير من الأحيان ، ووفقًا لقانون تشيشولم الأول ، فإن المطر سوف يمر - سوف "يسقط" مزود الإنترنت الشبكة ، ثم نزاعات الكيانات التجارية - سيختفي مزود الطاقة من مزود الخدمة ...
لذلك ، قررت أولاً صياغة المتطلبات الأساسية التي يجب أن تفي بها الأداة الضرورية. الأول هو اللامركزية. والثاني - بالنظر إلى أن لدي العديد من هذه USB الحياة ، ثم لكل منها هناك شبكة منفصلة معزولة. والثالث هو الاتصال السريع للأجهزة المختلفة بالشبكة والإدارة البسيطة لها ، بما في ذلك في حالة وقوع الكمبيوتر المحمول أيضًا ضحية للقانون المذكور أعلاه.
بناءً على هذا وقضاء شهرين ونصف على البحث العملي للعديد من الخيارات غير المناسبة ، قررت ، على مسؤوليتي ومخاطرها ، تجربة أداة أخرى من شركة ناشئة غير معروفة بالنسبة لي كانت تسمى آنذاك - ZeroTier. ما لم يندم لاحقا.
في عطلات رأس السنة الجديدة هذه ، في محاولة لفهم ما إذا كان الوضع مع المحتوى قد تغير منذ تلك اللحظة التي لا تنسى ، أجريت تدقيقًا انتقائيًا لمدى توفر المقالات حول هذا الموضوع ، مع أخذ المصدر - Habr. بناءً على طلب "ZeroTier" في نتائج البحث ، لا يوجد سوى ثلاثة مقالات مع ذكرها ، وليس واحدة ، حتى مع وصف موجز ولكن. وهذا على الرغم من حقيقة أن هناك منهم ترجمة لمقال كتبه مؤسس ZeroTier، Inc. -
آدم إريمنكو .
أحبطت النتائج ودفعتني لبدء الحديث عن ZeroTier بمزيد من التفصيل ، مما يوفر "الباحثين" العصريين عن الحاجة إلى اتباع نفس المسار الذي اتبعته.
اذن ما انت
يضع المطور ZeroTier كمحول Ethernet ذكي لكوكب الأرض.
"هذا هو برنامج مراقبة شبكة موزعة يستند إلى شبكة نظير إلى نظير (P2P) عالمية آمنة بشكل مشفر. أداة شبيهة بشبكة SDN مصممة لتنظيم الشبكات الافتراضية فوق الشبكات الفعلية ، المحلية والعالمية ، مع إمكانية توصيل أي تطبيق أو جهاز تقريبًا ".
هذا هو أكثر وصفا للتسويق ، والآن حول الميزات التكنولوجية.
ern النواة:
يعد ZeroTier Network Hypervisor محركًا افتراضيًا للشبكة الافتراضية يحاكي شبكة Ethernet ، على غرار VXLAN ، عبر شبكة نظير إلى نظير (P2P) عالمية مشفرة.
تعتبر البروتوكولات المستخدمة في ZeroTier أصلية ، على الرغم من أنها متشابهة في المظهر مع VXLAN و IPSec وتتكون من مستويين منفصلين من الناحية النظرية ، ولكن يرتبطان ارتباطًا وثيقًا: VL1 و VL2.
→
رابط إلى الوثائق▍VL1 هي طبقة نقل نظير إلى نظير (P2P) أساسية ، بطريقتها الخاصة - "كبل افتراضي".
"مركز البيانات العالمي يتطلب" خزانة عالمية "مع الكابلات."في الشبكات التقليدية ، تشير L1 (طبقة OSI 1) إلى الكبلات الفعلية أو قنوات الراديو اللاسلكية التي يتم من خلالها نقل البيانات ، والرقائق المادية لأجهزة الإرسال والاستقبال التي تعدلها وتزيل تشكيلها. VL1 هي شبكة نظير إلى نظير (P2P) تعمل نفس الشيء ، باستخدام التشفير والمصادقة وحيل الشبكة الأخرى لتنظيم الكابلات الافتراضية حسب الحاجة.
علاوة على ذلك ، يقوم بذلك تلقائيًا وبسرعة وبدون إشراك مستخدم يطلق عقدة ZeroTier جديدة.
لتحقيق ذلك ، يتم تنظيم VL1 بشكل مشابه لنظام اسم المجال. تعتمد الشبكة على مجموعة من خوادم الجذر التي يمكن الوصول إليها بشكل كبير ، والتي يشبه دورها دور خوادم أسماء DNS الجذرية. في الوقت الحالي ، تتم إدارة الخوادم الجذرية الرئيسية (الكوكبية) بواسطة المطور - ZeroTier، Inc. وتقدم كخدمة مجانية.
ومع ذلك ، من الممكن إنشاء خوادم جذر مخصصة (أقمار) تسمح بما يلي:
- تقليل تبعية البنية التحتية ZeroTier، Inc. رابط التوثيق
- زيادة الإنتاجية عن طريق تقليل التأخير ؛
- مواصلة العمل كالمعتاد في حالة فقدان الاتصال بالإنترنت.
في البداية ، تبدأ العقد دون اتصالات مباشرة مع بعضها البعض.
يحتوي كل نظير على VL1 على عنوان ZeroTier فريد 40 بت (10 أرقام ست عشرية) ، والذي ، على عكس عناوين IP ، هو معرف مشفر لا يحتوي على بيانات المسار. يتم حساب هذا العنوان من الجزء العام لزوج المفاتيح العام / الخاص. شكل العقدة والمفتاح العام والمفتاح الخاص معًا هويته.
Member ID: df56c5621c | ZeroTier address of node
أما بالنسبة للتشفير ، فهذه مناسبة لمقال منفصل.
→
رابط إلى الوثائقلإنشاء اتصال ، يقوم أقرانهم أولاً بإرسال الحزم "إلى أعلى" من خلال شجرة خادم الجذر ، وبينما تنتقل هذه الحزم عبر الشبكة ، يبدأون في إنشاء قنوات مباشرة بشكل عشوائي على طول هذا المسار. تحاول الشجرة باستمرار "انهيار نفسها" من أجل تحسين نفسها من أجل مخطط الطريق الذي تخزنه.
آلية الإعداد نظير إلى نظير كما يلي:
- ترغب العقدة A في إرسال حزمة إلى العقدة B ، ولكن نظرًا لأنها لا تعرف المسار المباشر ، فإنها ترسلها في اتجاه المنبع إلى العقدة R (القمر ، خادم جذر المستخدم).
- إذا كانت العقدة R لها اتصال مباشر بالعقدة B ، فإنها تعيد توجيه الحزمة هناك. وبخلاف ذلك ، ترسل الحزمة في اتجاه المنبع إلى أن تصل إلى جذور الكواكب ، وتعرف جذور الكواكب عن جميع العقد ، بحيث تصل الحزمة في النهاية إلى العقدة B إذا كانت متصلة.
- ترسل Node R أيضًا رسالة تسمى "rendezvous" إلى العقدة A تحتوي على تلميحات حول كيفية وصولها إلى العقدة B. وفي الوقت نفسه ، يرسل خادم الجذر ، الذي يعيد توجيه الحزمة إلى العقدة B ، "التقاء" لإعلامه بكيفية الوصول إليه. العقدة A.
- تتلقى العقدتان A و B رسائلهم إلى الالتقاء ومحاولة إرسال رسائل اختبار إلى بعضهم البعض ، في محاولة لاختراق الثغرات الموجودة في NAT أو جدران الحماية ذات الحالة التي صودفت في الطريق. إذا كان هذا يعمل ، فسيتم إنشاء اتصال مباشر ، ولم تعد الحزم تذهب إلى "حدائق".
إذا تعذر إنشاء اتصال مباشر ، فسيستمر الاتصال من خلال الترحيل ، وستستمر محاولات الاتصال مباشرة حتى يتم الوصول إلى نتيجة إيجابية.
يحتوي VL1 أيضًا على ميزات أخرى لتأسيس اتصال مباشر ، بما في ذلك اكتشاف نظير إلى نظير لشبكات LAN وتنبؤ المنافذ لاجتياز IPv4 NAT المتماثل وتعيين منفذ صريح باستخدام uPnP و / أو NAT-PMP ، إذا كان ذلك متاحًا على الشبكة المحلية الفعلية المحلية.
→
رابط إلى الوثائقizationVL2 - بروتوكول المحاكاة الافتراضية للإيثرنت الذي يشبه VXLAN مع ميزات إدارة SDN. بيئة اتصال مألوفة لنظام التشغيل والتطبيقات ...
على عكس VL1 ، فإن إنشاء شبكات VL2 (VLAN) وربط العقد بها ، وكذلك إدارتها ، يتطلب من المستخدم المشاركة مباشرة. يمكنه القيام بذلك باستخدام وحدة تحكم الشبكة. في الواقع ، إنها عقدة ZeroTier عادية ، حيث يتم التحكم في وظائف وحدة التحكم بطريقتين: إما مباشرة ، عن طريق تغيير الملفات ، أو ، كما يوصي المطور بشدة ، باستخدام واجهة برمجة التطبيقات المنشورة.
هذه الطريقة لإدارة الشبكات الافتراضية ZeroTier ليست مريحة للغاية للشخص العادي ، لذلك هناك العديد من واجهة المستخدم الرسومية:
- إحداها من المطور ZeroTier ، المتوفر كحل سحابة عامة يتم توفيره بواسطة نموذج SaaS ، مع أربع خطط اشتراك ، بما في ذلك مجانًا ، ولكن محدود في عدد الأجهزة المدارة ومستوى الدعم
- والثاني هو من مطور مستقل ، مبسطة إلى حد ما في وظائفه ، ولكنه متاح كحل مفتوح المصدر خاص ، للاستخدام على فرضية أو على الموارد السحابية.
يتم تطبيق طبقة VL2 أعلى VL1 ويتم نقلها بواسطتها. في الوقت نفسه ، يرث التشفير والمصادقة لنقطة النهاية لمستوى VL1 ، ويستخدم أيضًا مفاتيحه غير المتماثلة للتوقيع والتحقق من بيانات الاعتماد. تسمح لك طبقة VL1 بتطبيق VL2 دون القلق بشأن الهيكل الحالي للشبكة الفعلية. وهذا هو ، مشاكل الاتصال وكفاءة التوجيه مهام مستوى VL1. من المهم أن نفهم أنه لا يوجد اتصال بين الشبكات الافتراضية VL2 ومسارات VL1. مثل تعدد إرسال الشبكات المحلية الظاهرية في شبكة LAN سلكية ، ستظل العقدتان اللتان تشتركان في العديد من عضويات الشبكة العامة بها مسار VL1 واحد (الكبل الظاهري) بينهما.
يتم تحديد كل شبكة VL2 (VLAN) من خلال عنوان 64 بت (16 رقم ست عشرية) لشبكة ZeroTier ، والذي يحتوي على عنوان 40 بت من وحدة تحكم ZeroTier ورقم 24 بت يحدد الشبكة التي تم إنشاؤها بواسطة وحدة التحكم هذه.
Network ID: 8056c2e21c123456 | | | Network number on controller | ZeroTier address of controller
عندما تنضم عقدة إلى شبكة أو تطلب تحديث تكوين شبكة ، ترسل رسالة طلب تكوين شبكة إلى وحدة تحكم الشبكة (عبر المستوى VL1). ثم تستخدم وحدة التحكم عنوان VL1 الخاص بالعقدة للعثور عليها على الشبكة وإرسال الشهادات وبيانات الاعتماد ومعلومات التكوين المناسبة إليها. من وجهة نظر الشبكات الافتراضية VL2 ، يمكن اعتبار عناوين VL1 ZeroTier كأرقام منافذ على مفتاح افتراضي ضخم من النطاق العالمي.
يتم توقيع جميع بيانات الاعتماد الصادرة عن وحدات التحكم في الشبكة إلى العقد المشاركة في هذه الشبكة باستخدام المفتاح السري لوحدة التحكم بحيث يمكن لجميع المشاركين في الشبكة التحقق منها. تحتوي بيانات الاعتماد على الطوابع الزمنية التي أنشأتها وحدة التحكم ، والتي تتيح إجراء مقارنات نسبية دون الحاجة إلى الوصول إلى ساعة النظام المحلية للعقدة.
يتم إصدار بيانات الاعتماد فقط لمالكيها ، ثم يتم إرسالها إلى أقرانهم الذين يرغبون في تبادل البيانات مع العقد الأخرى على الشبكة. يسمح ذلك للشبكة بالحجم إلى الحجم الكبير دون الحاجة إلى تخزين كمية كبيرة من بيانات الاعتماد على العقد أو الوصول باستمرار إلى وحدة تحكم الشبكة.
تدعم شبكات ZeroTier البث المتعدد من خلال نظام نشر / اشتراك بسيط.
→
رابط إلى الوثائقعندما تريد العقدة تلقي بريد متعدد الإرسال لمجموعة توزيع محددة ، فإنها تعلن عن عضوية في هذه المجموعة لأعضاء آخرين في الشبكة التي تتصل بها وإلى وحدة تحكم الشبكة. عندما تريد عقدة إرسال بريد متعدد الإرسال ، فإنها تصل في وقت واحد إلى ذاكرة التخزين المؤقت الخاصة بها من المنشورات الحديثة وتطلب بشكل دوري منشورات إضافية.
يعتبر البث (Ethernet ff: ff: ff: ff: ff: ff) مجموعة البث المتعدد التي يشترك فيها جميع الأعضاء. يمكن تعطيله على مستوى الشبكة لتقليل حركة المرور إذا لم تكن هناك حاجة لذلك.
يحاكي ZeroTier مفتاح Ethernet حقيقي. تسمح هذه الحقيقة
بدمج الشبكات الافتراضية التي تم إنشاؤها مع شبكات Ethernet الأخرى (شبكة LAN سلكية ، WiFi ، لوحة الكترونية معززة افتراضية ، إلخ) على مستوى ارتباط البيانات باستخدام جسر Ethernet تقليدي.لكي تعمل كجسر ، يجب أن تحدد وحدة تحكم الشبكة عقدة الشبكة على هذا النحو. يتم تنفيذ هذا المخطط لأسباب أمنية ، حيث لا يُسمح لعقد الشبكة العادية بإرسال حركة مرور من مصدر آخر غير عنوان MAC الخاص بها. تستخدم العقد المخصصة بواسطة الجسور أيضًا وضعًا خاصًا لخوارزمية عنونة الإرسال المتعدد ، والتي تتفاعل معها بشكل أكثر قوة وعناوين أثناء اشتراكات المجموعة وتكرار جميع طلبات البث والبث ARP.
يتمتع المحول أيضًا بالقدرة على إنشاء شبكات عامة وشبكات مخصصة وآلية لجودة الخدمة ومحرر قاعدة شبكة.
▍Uzel:
ZeroTier One هي خدمة تعمل على أجهزة الكمبيوتر المحمولة وأجهزة سطح المكتب والخوادم والأجهزة الظاهرية والحاويات ، والتي توفر اتصالات بشبكة افتراضية عبر منفذ شبكة ظاهري ، مثل عميل VPN.
بعد تثبيت الخدمة وبدء تشغيلها ، يمكنك الاتصال بالشبكات الافتراضية باستخدام عناوينها المكونة من 16 رقمًا. تبدو كل شبكة مثل منفذ الشبكة الافتراضية في النظام ، والذي يتصرف مثل منفذ Ethernet العادي.
ZeroTier One متاح حاليًا لنظام التشغيل والأنظمة التالية.
أنظمة التشغيل:
- مايكروسوفت ويندوز - MSI المثبت x86 / x64
- MacOS - PKG المثبت
- Apple iOS - متجر التطبيقات
- Android - متجر Play
- Linux - DEB / RPM
- فري - حزمة فري
NAS:
- Synology NAS
- QNAP NAS
- WD MyCloud NAS
البعض:
- عامل ميناء - ملف عامل ميناء
- OpenWRT - منفذ المجتمع
- تضمين التطبيق - SDK (libzt)
لتلخيص كل ما سبق ، أود أن أقول إن ZeroTier أداة ممتازة وسريعة لدمج مواردك المادية أو الافتراضية أو السحابية في شبكة محلية مشتركة ، مع إمكانية تقسيمها إلى شبكات محلية ظاهرية وغياب نقطة فشل واحدة.
على ذلك مع جزء نظري في شكل من المقال الأول حول ZeroTier للحبر - ربما كل شيء! في المقالة التالية ، أخطط للتدليل العملي على إنشاء بنية أساسية للشبكة الافتراضية تعتمد على ZeroTier ، حيث سيتم استخدام VDS مع قالب واجهة المستخدم الرسومية مفتوح المصدر الخاص كوحدة تحكم شبكة.
أعزائي القراء! هل تستخدم تقنية ZeroTier في مشاريعك؟ إذا لم يكن الأمر كذلك ، فما هي الأدوات التي تستخدمها لدمج مواردك في شبكة مشتركة؟
