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

سببان يمنعان الجسر من العمل

يحمل محوّل العميل عادة عنواناً واحداً، غالباً /32، ويعيد العميل كتابة مسارات المضيف بحيث تفضّل حركة الخروج العادية النفق. تطبيقات المضيف تطيع ذلك الجدول وتصل إلى النظام الخاص. الضيف المجسّر لا يقرأ الجدول إطلاقاً، لأن إطاره يخرج عبر مبدّل تحت طبقة IP.

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

أنشئ مقطعاً يملكه المضيف

في محرّر الشبكة الافتراضية، أضف شبكة خاصة بالمضيف مثل VMnet3 على بادئة لا توجّهها في مكان آخر، مثلاً 172.28.90.0/24. يأخذ المضيف 172.28.90.1 على ذلك المحوّل ويرتبط الضيف بالمبدّل نفسه. عطّل DHCP الخاص بالمراقب على ذلك المقطع لتملكه خدمة عناوين واحدة.

تأكد من أن Windows يرى الواجهة قبل أن تبني أي شيء فوقها، لأن التصميم كله يعتمد على كون ذلك المحوّل عادياً:

Get-NetAdapter | Format-Table Name, InterfaceDescription, Status
Get-NetIPAddress -AddressFamily IPv4 | Where-Object PrefixLength -eq 24

يظهر محوّل خاص بالمضيف هناك مثل أي محوّل فعلي. وهذا بالضبط الفرق عن محوّل النفق، الذي لا يمكن ربطه بأي شيء.

ترجمة بادئة الضيف

افتح جلسة مرتفعة الصلاحيات وترجم البادئة. تحقق أولاً مما هو موجود بالفعل، لأن بيئات تشغيل الحاويات والمراقبات تثبّت ترجماتها الخاصة وحذف الترجمة الخطأ يعطّل منتجاً آخر.

Get-NetNat | Format-Table Name, InternalIPInterfaceAddressPrefix, Active
New-NetNat -Name "LabGuestEgress" -InternalIPInterfaceAddressPrefix 172.28.90.0/24

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

افحص القفزة الأولى، ثم الثمن

اختبر أقرب حد قبل اختبار تطبيق. التتبع الذي يتوقف عند بوابة المضيف يعني أن الترجمة لا تحدث، بينما الذي يتوقف بعد المضيف يعني أن النفق معطّل أو أن الطرف الآخر رفض العنوان المترجم.

tracert -d 172.20.31.10
nslookup intranet.corp.example
Get-NetNatSession -NatName "LabGuestEgress"

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

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

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