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

مستكشف المضيف ليس دليلًا

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

التعامل معهما كمشكلة واحدة ينتج الحلقة المعروفة بتوسيع قواعد جدار الحماية لإصلاح ما هو في الحقيقة ردّ رفض وصول من المشاركة.

اتبع طلب الحاوية نفسه

تُدار شبكات حاويات Windows بواسطة خدمة شبكات المضيف (Host Networking Service)، التي تنشئ نقاط نهاية لها مساحة أسماء شبكية خاصة. والوضع الذي اخترته يحدد ما إذا كانت نقطة النهاية مترجَمة أو جسرية أو موصولة بشبكة مشتركة مع المضيف. وهذا القرار يغيّر أمرين في وقت واحد: ما تستطيع الحاوية تحليله، وعنوان المصدر الذي يراه خادم الملفات.

تأكّد مما تراقبه الحاوية نفسها قبل تغيير أي شيء. فالاسم الذي يُحلّ في الخارج قد يفشل في الداخل، لأن إعداد DNS للحاوية ليس إعداد المضيف، ونقطة النهاية المترجَمة قد تعرض مصدرًا لا تتوقعه قواعد خادم الملفات.

docker exec -it app powershell -Command "Resolve-DnsName files.corp.example"
docker exec -it app powershell -Command "Test-NetConnection files.corp.example -Port 445"
docker exec -it app powershell -Command "Get-NetIPConfiguration"

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

الهوية قرار منفصل

حرف محرك أقراص يُربط بواسطة مستخدم تفاعلي ليس واجهة تطبيق. فهو يوجد في جلسة تسجيل دخول واحدة، وعملية الحاوية ليست جزءًا منها. استخدم مسار UNC وامنح عبء العمل هوية يدعمها نموذج النشر. وحيث يدعم النطاق ذلك، يوفّر حساب الخدمة المُدار للمجموعة هوية مُدارة عبر مواصفة بيانات اعتماد.

يصف دليل gMSA للحاويات من Microsoft ترتيب مواصفة بيانات الاعتماد ومتطلباته، ومنها عضوية النطاق ومضيف قادر على استرداد بيانات الاعتماد. ويجب أن يتوافق الحساب والاسترداد وهوية العملية داخل الحاوية وأذونات المشاركة جميعًا. وتسجيل الدخول عبر VPN ليس هذه الهوية، وتضمين كلمة مرور في صورة لإعادة إنتاج جلسة مستخدم المضيف يخلق تعرّضًا دائمًا.

أبقِ المرحلة الفاشلة مرئية

فشل التحليل ورفض الاتصال ورفض الوصول تحتاج أدلة مختلفة. فهي على التوالي سؤال DNS، وسؤال توجيه أو تصفية، وسؤال مصادقة أو أذونات. اقرأ الردّ الذي تلقتْه الحاوية بدلًا من خطأ التطبيق العام.

اختبر بهوية عبء العمل نفسه واختبر الرفض أيضًا.

خطّط لإعادة الاتصال

مسارات VPN تنقطع. وعندما يعود النفق، قد تعود نقطة النهاية بعنوان مترجَم مختلف، وقد تكون جلسة SMB القائمة ميّتة دون أن يلاحظ التطبيق. تعامل مع ذلك في التطبيق: أعد إنشاء المسار والهوية، وأعد محاولة العملية، ووفّق عملية ملف بنتيجة غير معروفة بدلًا من افتراض أنه لم يحدث شيء.

سجّل وضع الشبكة ومصدر DNS وترتيب الهوية في ملاحظات النشر. فهذه الحقائق الثلاث هي ما سيكون الفشل التالي بشأنه.

مقالات ذات صلة