تتكدس هنا ثلاث طبقات نقل، ولكل واحدة منها إطارها الخاص۔ تسافر حمولة VPN داخل جلسة TLS، وتسافر جلسة TLS تلك داخل اتصال TCP إلى منفذ استرجاع محلي، وتسافر بايتات ذلك الاتصال داخل SSH إلى مضيف توصيل، يفتح اتصال TCP الحقيقي بمنفذ استماع VPN۔ لا شيء في هذا الترتيب يغيّر ما OpenVPN يوثّقه، ولا شيء فيه يجعل مستمع UDP قابلاً للوصول عبر TCP۔ اقرأ بقية هذا النص وصفاً لمسار البايتات، لا وصفة لتجاوز ضابط شبكة۔

ما الذي ينقله التمرير المحلي فعلاً

يستمع عميل SSH إلى منفذ محلي۔ عندما تتصل عملية محلية، يحزم العميل البايتات في قناته المشفّرة، ويفتح الجانب الخادم اتصال TCP جديداً إلى الوجهة المذكورة في طلب التمرير۔

يحلّ مضيف التوصيل تلك الوجهة، لا جهازك، ولهذا يظل اسم موجود داخل الشبكة البعيدة فقط صالحاً۔ ويعني ذلك أيضاً أن التوصيل يجب أن يستطيع الوصول إلى مستمع VPN والعودة إليه في التوجيه۔ والاسم الذي يُحلّ على حاسوبك المحمول لا يخبرك بشيء عمّا يستطيع التوصيل رؤيته۔

بدء جلسة SSH يثبت فقط أن التوصيل قابل للوصول وموثّق۔ ولا يقول شيئاً عن كون المستمع التالي قائماً، أو قبول جدار ناري بين التوصيل والمستمع للاتصال، أو قبول VPN لملفك الشخصي۔

وجّه العميل إلى المستمع المحلي

مثال معلن: يستطيع التوصيل الوصول إلى مستمع TCP على gw.internal.example:443، ومنفذ محلي عالٍ يعرض ذلك المسار لهذا الجهاز وحده۔

ssh -N -L 127.0.0.1:24011:gw.internal.example:443 [email protected]

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

ثم اضبط عميل VPN على وضع TCP ووجّهه إلى 127.0.0.1:24011۔ وإذا كان الملف يستخدم UDP، فلا يمكن لهذا التصميم أن يساعد: فالتمرير يحمل تدفق بايتات، ولا مسار حزم بيانات عبره۔

أبقِ التوثيقين منفصلين

SSH يوثّق مضيف التوصيل۔ لا يزال OpenVPN يوثّق نظير VPN، ولا تغيّر وجهة الاسترجاع ذلك الشرط۔ تعطيل فحوص الشهادة لأن المقبس يشير الآن إلى المضيف المحلي هو أسوأ اختصار متاح في هذا التصميم۔ فهو يحوّل ترتيب نقل إلى ترتيب ثقة، ولم يوافق أحد على الثاني۔

أبقِ مرساة الثقة في الملف وفحص دور الخادم والتحقق من الاسم سليمة۔ وإذا كان عميلك يقارن اسم الخادم بالعنوان الذي اتصل به، فقد يحتاج الاسترجاع إلى إعداد اسم صريح بدلاً من فحص معطّل، ووثائق الملف هي المكان الذي تؤكّد فيه أي حقل يُقارن۔

اعتبر التوصيل طرفاً ثانياً في قصة الثقة: يستطيع مسؤوله رؤية بيانات الاتصال الوصفية وإعادة توجيه التمرير إذا غُيّرت الإعدادات۔ ويحتاج الترتيب إلى موافقة من التوصيل ومالك خدمة VPN معاً، لا من الشخص الذي يحتاجه اليوم فقط۔

لا تبنِ حلقة تحت النفق

بعد أن تثبّت VPN المسارات، يحتاج اتصال SSH الذي يحملها إلى مسار إلى التوصيل لا يمر عبر النفق۔ وإذا انتقل المسار الافتراضي إلى VPN وكان التوصيل قابلاً للوصول عبر النفق نفسه فقط، ينهار النقل ويذهب VPN معه۔ ويبدو الفشل كنفق ساقط لا كخطأ توجيه، ولهذا يُشخَّص خطأً۔

الإصلاح المعتاد هو مسار مضيف إلى عنوان التوصيل مثبّت على الواجهة الفيزيائية قبل قيام النفق، مع فحص بقاء المسار بعد إعادة الاتصال۔ تحقق منه ببحث مسار لعنوان التوصيل بدلاً من افتراض صحة الترتيب۔

توقّع أيضاً أن تكون هذه الكومة أبطأ وأهشّ من اتصال مباشر، لأن هناك الآن طبقتا نقل مرتبة ونقطة نهاية أخرى للصيانة۔ إنها طريقة لعبور حدود شبكة، لا تقنية أداء۔

أغلق المستمع عندما تنتهي

أوقف جلسة SSH عندما لا يعود النفق مطلوباً، وتأكد من تحرير المنفذ المحلي۔ فالتمرير المنسي يبقي مساراً موثّقاً مفتوحاً على جهاز قد يكون مشتركاً۔

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

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