إنترنت العميل في آلة افتراضية معزولة QEMU باستخدام نفق المنفذ عبر قناة سبايس

يشبه النهج المعتاد لتوصيل جهاز ظاهري بالإنترنت توصيل أي جهاز آخر بالشبكة ويتكون من توصيل واجهة شبكة حقيقية افتراضية أو probros ، وكذلك في إعداد وفحص اتصالات الشبكة والخدمات وقواعد التوجيه وتصفية حركة المرور وما إلى ذلك.


إذا كان الجهاز الظاهري خادمًا أو سطح مكتب افتراضيًا ومخصصًا لمستخدم معين ، فإن هذا النهج له ما يبرره تمامًا ، ولكن ماذا لو كان الجهاز الظاهري سطح مكتب افتراضي عام ويمكن لأي شخص الاتصال به مجانًا؟


من الضروري التأكد من أن الإنترنت في الجهاز الظاهري لا يبدأ من جانب المضيف ، ولكن من جانب العميل.


سيسمح توصيل جهاز افتراضي لقناة الإنترنت الخاصة بالعميل بما يلي:


  • تقليل العبء الحسابي لمضاهاة الشبكة وواجهة الشبكة.
  • استبعاد إمكانية هجوم القراصنة على جهاز افتراضي من الإنترنت والشبكة الافتراضية.
  • تخفيف مسؤولية المسؤول المضيف عن تصرفات مستخدم الجهاز الظاهري في الحالات التالية:
    • سبامينغ
    • تنزيل / نشر محتوى غير قانوني / ممنوع ،
    • اختراق القرصنة أو اختراقها على موارد الإنترنت لمدير الاستضافة أو الجهات الخارجية ،
    • التعدين
    • وهكذا ...
  • تقليل الوقت لفحص وتكوين الوصول إلى الجهاز الظاهري للإنترنت

إن أسهل طريقة للحصول على الإنترنت من العميل هي إعادة توجيه محول شبكة USB أو المودم. لكن هذه الطريقة تتطلب الكثير على جودة الشبكة. إذا كان الجهاز الافتراضي موجودًا في الخارج ، فمن المحتمل أنه سيكون هناك تأخيرات وتجمد.


يمكن أن يكون البديل عن إعادة توجيه أجهزة USB هو نفق المنفذ بين العميل والجهاز الظاهري من خلال قناة SPICE ، على غرار نفق المنفذ في SSH.


في الأجهزة الافتراضية QEMU ، هناك قناة لنقل البيانات من العميل إلى الجهاز الظاهري ، ما يسمى قناة SPICE. تنقل هذه القناة بيانات جهاز الإدخال ومحتوى الحافظة والمزيد.


نظريا ، يمكنك إعادة توجيه منافذ العملاء المحليين (عنوان IP 127.0.0.1) إلى الجهاز الظاهري وترتيبها كمحلية.


مثال خوارزمية للاتصال بقناة إنترنت العميل من خلال نفق المنفذ:


  • على جانب العميل ، يمكنك رفع خادم وكيل أو خادم VPN يوفر الوصول إلى الشبكة.
  • في عميل SPICE ، يتم تكوين نفق المنفذ بحيث تبدو منافذ خادم الوكيل أو خادم VPN في الجهاز الظاهري مثل المنافذ المحلية.
  • في نظام التشغيل والمتصفح ، يتم تكوين نظام فرعي محلي للوكيل للاتصال بخادم الوكيل من خلال المنفذ المحلي أو يتم تكوين عميل VPN يتصل بخادم VPN على المضيف المحلي ويحاكي جهاز شبكة ظاهري (قم بالتوليف أو النقر في حالة OpenVPN).

التنفيذ


كل ما عليك فعله لجعل نفق المنفذ حقيقة هو تعديل شفرة المصدر لعميل SPICE وإضافات ضيف SPICE ، وتشكيل التصحيحات وإرسالها إلى المطورين. كل هذا ممكن لأن كود المصدر لـ SPICE مفتوح.


علاوة على ذلك ، خلال المفاوضات مع مطوري SPICE ، اتضح أنه تم تنفيذ هذه الوظيفة في تفرع FlexVDI لـ SPICE. يتم نشر رمز مصدر الشوكة جزئيًا في المستودع [ https://github.com/flexvdi ] فيه ، كما يقولون ، هناك جزء مسؤول عن حفر الأنفاق.


تسجيل المحادثات متاح على قناة بريد Spice-devel ، والموضوع هو " اقتراح الميزة: نفق المنفذ بين VM والعميل عبر قناة التوابل ".


مجال التطبيق


يمكن استخدام هذه التقنية على نطاق واسع في العرض التوضيحي والآلات الافتراضية العامة وفي استضافة VDI العادية.


إذا كان لدى أي شخص رغبة في المساعدة في تنفيذ هذه الوظيفة ، يمكنك تنفيذ هذه الوظيفة وإنشاء تصحيحات. إذا كان لديك أي تعليقات أو اقتراحات ، يمكنك ترك التعليقات.

Source: https://habr.com/ru/post/ar430592/


All Articles