ConnMan VPN: القائمة المفقودة خدمة خلفية لا بروتوكول
غياب قائمة VPN في ConnMan يعني عادةً أن خدمة VPN الخلفية أو ملف المزوّد غير موجود، لا أن البروتوكول غير مدعوم.
الاعتقاد السائد هو أن نظام ConnMan الذي لا يظهر فيه إدخال VPN على سطح المكتب لا يملك دعم VPN مثبتًا. والحال عادةً أنه يملك دعمًا لـ Wi-Fi ولا يملك شيئًا لخدمة VPN الخلفية أو إعداد المزوّد أو وكيل المصادقة، وهذه ثلاثة غيابات منفصلة. القائمة ليست سوى عرض لهذه المكوّنات، وليست الميزة نفسها. فحص الإصدار وطريقة التغليف يخبرك بأمر واحد أكثر مما تخبرك أي مجموعة من تقارير الأخطاء على سطح المكتب.
الأسطورة: القائمة هي ميزة VPN
ابدأ بإصدار ConnMan المثبَّت والحزم التي جاءت معه. تقرير خطأ من إصدار أقدم يصف مجموعة ميزات مختلفة، والاستشهاد به ينتهي عادةً بأن يعيد أحدهم تثبيت مدير شبكة لم يكن بحاجة إلى استبداله.
دوّن ما لديك فعلاً قبل تغيير أي شيء: ملف خدمة VPN التنفيذي، ومجلد المزوّدين، وما إذا كان وكيل موجودًا.
أي خدمة خلفية تملك النفق
في وثائق ConnMan 1.41 على Debian bookworm، connman-vpnd هي الخدمة الخلفية التي تدير اتصالات VPN إلى جانب connmand. وهي تسرد التكاملات مع مساعدات VPN المسماة، بما فيها OpenVPN و OpenConnect. تلك القائمة بيان عن المساعدات، وليست وعدًا بأن كل بروتوكول أو مسار مصادقة سيعمل. اقرأها كقائمة بما يجب فحصه، لا كضمان توافق.
ثم طابق التكامل مع البروتوكول المعتمد لدى البوابة. كلمة Cisco لا تخبرك إن كنت تحتاج اتصالاً بنمط vpnc القديم أم مسارًا متوافقًا مع AnyConnect، واختيار الخطأ ينتج فشل مصادقة يشبه مشكلة بيانات اعتماد.
إذا كان بإمكان كل من مساعد مستقل و ConnMan رفع النفق، فحدّد أيهما يملك المسارات و DNS ودورة الحياة قبل أن يبدأ أي منهما.
إعدادات الخدمة الخلفية ليست إعدادات المزوّد
الإعداد العام للخدمة الخلفية وإعداد مزوّد بعينه ملفان مختلفان بصيغتين مختلفتين. في ترتيب bookworm الموثّق تقرأ الخدمة الخلفية /etc/connman/connman-vpn.conf، بينما تعيش ملفات تجهيز المزوّدين تحت /var/lib/connman-vpn/ بلاحقة .config. إسقاط ملف تعريف OpenVPN في ذلك المجلد لا يحوّله إلى ملف تجهيز ConnMan. أما دليل المزوّد الخاص بهذا الإصدار فيصف أقسام المزوّد والحقول الخاصة بالنوع التي تحتاجها تلك الملفات فعلاً.
لا تترجم إلا عبر التعيين المدعوم في التكامل المثبَّت. فالثقة بالشهادة ومراجع المفتاح الخاص وهوية البوابة والمسارات ومدخلات المصادقة يحتفظ كل منها بدوره، والعينة الخاصة بنوع مزوّد آخر ليست قابلة للتبادل لمجرد أن كليهما يحتاج عنوان خادم.
عندما يفشل مزوّد في التحميل، قارن حقوله بالدليل الخاص بالإصدار المثبَّت لا بمثال من مدونة.
وكيل المصادقة تبعية منفصلة
قد يحتاج تعريف المزوّد مع ذلك إلى وكيل للحصول على بيانات الاعتماد أو لإكمال تبادل مصادقة. وبالنسبة لتكامله مع OpenConnect، يوضح الدليل نفسه أن القيم المتعلقة بالمصادقة عندما تكون غائبة يمكن طلبها عبر VPN Agent API، وأن الكوكي قصير العمر ليس مناسبًا عمومًا كسر دائم في الإعداد. تلك الآلية لا تضمن دعم كل تسجيل دخول في متصفح أو طلب MFA أو فحص لحالة البوابة. أكّد سير العمل بأكمله مع من يملك النشر.
لا تعوّض غياب الوكيل بكتابة كلمة مرور أو رمز جلسة في ملف مقروء على نطاق واسع. فذلك يحوّل تكاملًا غائبًا إلى تعرّض لبيانات الاعتماد، والمشكلة الثانية تعيش أطول من الأولى.
إذا كانت البوابة تحتاج تسجيل دخول تفاعليًا، فالوكيل جزء من التصميم لا إضافة اختيارية.
تحقّق من أربع نتائج، لا من واحدة
بعد التجهيز المصرّح به، افحص أربعة أمور منفصلة: أن المزوّد مختار، وأن الاتصال قد صودق عليه، وأن المسارات الفعّالة هي التي أردتها، وأن مُحلِّل الأسماء يتصرف كما هو متوقع. خدمة خلفية تعمل، ومزوّد مدرج، وتطبيق يصل إلى موقعه: ثلاث نتائج مختلفة، والوحيدة الأخيرة هي هدف المستخدم الفعلي. وتسجيلها منفصلة يخبرك أي مرحلة يجب إصلاحها.
أدرج في ذلك الفحص سلوك إعادة الاتصال وسياسة حالة عدم التوفر المطلوبة، لأن نفقًا ينهض مرة واحدة ولا يتعافى أبدًا ليس منشورًا. واحتفظ بإعداد الشبكة الأساسي العامل قابلًا للاستعادة أثناء تغيير تكامل VPN.
استبدال مدير Wi-Fi للحصول على زر تغيير أكبر بكثير من العملية الغائبة المطلوبة، وهو عادةً انتصار الأسطورة.