إذا كانت آلة ZimaOS الافتراضية التي تستخدم «Bridge to eth0» تحصل على عنوان IP عادي من الشبكة المحلية، ويمكنها الوصول إلى أجهزة الشبكة المحلية الأخرى، لكنها لا تستطيع الوصول إلى مضيف ZimaOS نفسه، فإن هذا السلوك يطابق نمط عزل المضيف المعروف في macvtap. في الموضوع الأصلي، أدّى تحويل الآلة الافتراضية إلى NAT إلى استعادة الاتصال بين الآلة والمضيف فورًا.
ومع ذلك، لم يتضمن الموضوع تأكيدًا من IceWhale على أن ZimaOS يطبّق هذا الخيار بالتحديد باستخدام macvtap عبر libvirt. لذلك، فإن الصياغة الصحيحة تستند إلى الأعراض: السلوك يشبه عزل macvtap، بدلًا من الجزم بأن التنفيذ الداخلي موثّق بهذه الطريقة.
نمط الأعراض محدد للغاية
- تحصل الآلة الافتراضية على عنوان DHCP من الشبكة المحلية الفعلية.
- يمكن للآلة الافتراضية الوصول إلى أجهزة التوجيه والأجهزة الأخرى على الشبكة المحلية.
- لا تستطيع الآلة الافتراضية تنفيذ ARP أو الاتصال بعنوان IP الخاص بمضيف ZimaOS.
- يؤدي وضع NAT إلى استعادة الوصول إلى الخدمات التي تعمل على المضيف.
يختلف هذا عن حالة الآلة الافتراضية التي لا تملك اتصالًا بالشبكة على الإطلاق. وتؤثر المشكلة أساسًا في سيناريوهات العمل التي يجب فيها على النظام الضيف الاتصال بخدمة مرتبطة مباشرة بمضيف ZimaOS.
لماذا يبدو هذا مثل macvtap
يوثّق دليل عزل المضيف في macvtap لدى libvirt النمط نفسه: يمكن لضيف يستخدم واجهة مباشرة أو واجهة macvtap الوصول إلى الشبكة الخارجية، لكنه لا يستطيع الاتصال مباشرة بمضيف المحاكاة الافتراضية.
كما يميّز المرجع الحالي لتنسيق الشبكات في libvirt بين جسر موجود مسبقًا على المضيف واتصال مباشر عبر macvtap، ويشير إلى قيد الاتصال بين المضيف والضيف في macvtap.
استخدم NAT عندما تحتاج الآلة الافتراضية إلى الوصول إلى خدمات مضيف ZimaOS
في الاختبار المجتمعي، كان وضع NAT هو الحل البديل المؤكد. إذا كان الوكيل العكسي داخل الآلة الافتراضية يحتاج فقط إلى وصول صادر إلى خدمة على مضيف ZimaOS، فقد يكون NAT أبسط من فرض استخدام واجهة متصلة بجسر الشبكة المحلية.
إذا كان الضيف يحتاج أيضًا إلى عنوان شبكة محلية مستقل، فإن إضافة واجهة ثانية للآلة الافتراضية على شبكة افتراضية يمكن للمضيف الوصول إليها تُعد نمطًا شائعًا في libvirt، لكن مدى إتاحة ZVM لذلك بطريقة سلسة يعتمد على واجهة ZimaOS الحالية وإصداره.
صمّم الوكيل العكسي مع مراعاة حدود الشبكة
إذا كان Caddy أو Nginx يعمل داخل آلة افتراضية، بينما يعمل Home Assistant أو خدمة أخرى مباشرةً على مضيف ZimaOS، فتحقق من إمكانية الوصول إلى المضيف قبل قضاء الوقت في إعداد TLS أو تهيئة الوكيل. سيكون دليل الوكيل العكسي في ZimaOS مفيدًا بعد نجاح الاتصال الأساسي في الطبقة الثالثة.
بالنسبة إلى إعدادات الواجهات وعناوين IP عمومًا، يوفّر دليل اتصال أجهزة ZimaOS أساسًا منفصلًا.
الخلاصة
يثبت الموضوع عرض المشكلة الشبكية والحل البديل المتمثل في NAT، لكنه لا يثبت التنفيذ الدقيق في ZimaOS. تعامل مع «macvtap» بوصفه أفضل تفسير تقني لعزل المضيف المُلاحظ، ما لم تؤكد وثائق IceWhale الحالية الواجهة الخلفية صراحةً.
