OpenVPN مفقود من قائمة VPN في Ubuntu 18.04: ما الذي يجب تثبيته
نوع VPN في لوحة GNOME يأتي من حزمة إضافة، لا من أمر openvpn. ثبّت المجموعة، أعد تشغيل NetworkManager، ثم استورد الملف الشخصي.
لا تستطيع قائمة VPN في GNOME أن تعرض ما يطابق الملف الشخصي الذي سُلّم إليك، والاستنتاج المعتاد هو أن سطح المكتب لا يستطيع تشغيل OpenVPN. لكنه يستطيع. الناقص هو حزمة إضافة، ولا علاقة لعميل سطر الأوامر الموجود على الجهاز نفسه بالقائمة. هذه هي الأسطورة التي تستحق القتل أولًا، لأنها تدفع الناس إلى إعادة تثبيت الشيء الخطأ.
القائمة تعرض الإضافات لا البروتوكولات
يعرض GNOME أنواع الاتصال التي يبلّغ عنها مدير الشبكة، ومدير الشبكة يبلّغ عن الإضافات المثبّتة. لذا تصف القائمة الفارغة مجموعة الإضافات المثبّتة لا قدرات البروتوكول. ولهذا فإن ملفًا ثنائيًا عاملًا مثل openvpn لا يغيّر شيئًا في اللوحة.
يهمّ هذا التمييز لأن الفشلين يبدوان متطابقين من اللوحة. الإضافة الناقصة والإضافة المعطوبة كلتاهما تنتجان مربع حوار لا يستطيع المساعدة، والفشل الأول وحده يُصلح بتثبيت شيء ما. وسؤال المدير عما يعرفه يفصل بينهما قبل أن تثبّت أي شيء. هذا السؤال يكلّف أمرًا واحدًا ويحل محل ساعة من التخمين.
أي حزمة تملك مربع الحوار
في Ubuntu 18.04 للحزم أسماء محددة، وقد أبقت الإصدارات الأحدث التقسيم نفسه. اقرأها كأدوار لا كبدائل، لأن تثبيت واحدة نادرًا ما يحل المشكلة وحدها. حزمة واحدة تحمل البرنامج الخفي وعميل سطر الأوامر، ولا يعرف أي منهما شيئًا عن أي مربع حوار إعدادات.
حزمة الإضافة هي ما يتيح لمدير الشبكة إنشاء اتصال OpenVPN وتخزينه وبدءه. حزمة المحرر توفّر النموذج وحقوله ومسار الحفظ الذي تستدعيه اللوحة. الجهاز الذي يملك الإضافة بلا المحرر يعرض نوعًا لا يستطيع تكوينه، أما الجهاز الذي يملك المحرر بلا الإضافة فلا يعرض شيئًا على الإطلاق. ثبّت المجموعة معًا فيزول الالتباس.
sudo apt install openvpn network-manager-openvpn network-manager-openvpn-gnome
nmcli --version
في 18.04 هذه هي أسماء الأرشيف الحقيقية لا بدائل. سطح مكتب KDE يحتاج حزمة محرر خاصة به ويظل بحاجة إلى الإضافة، وهذا هو الجزء الذي يغفله دليل مخصص لـ GNOME وحده.
إعادة التشغيل جزء من التثبيت
تسأل اللوحة المدير عن الأنواع المدعومة عند بدء الخدمة، والقائمة المعروضة أصلًا لا تُحدَّث بالتثبيت. لذا ينتج التثبيت أثناء عمل الخدمة المزيج المحبط: تثبيت ناجح ومربع حوار لا يتغيّر. إعادة التشغيل ليست عملًا منزليًا اختياريًا؛ إنها الخطوة التي تجعل التثبيت مرئيًا.
تقطع إعادة التشغيل الاتصال لعدة ثوانٍ، وأي جلسة SSH تمر عبر الواجهة نفسها تذهب معها، فخطّط لذلك إن كان الجهاز بعيدًا. ثم أعد فتح اللوحة واسأل المدير مباشرة عما يدعمه. الاستعلام المباشر دليل أفضل من قائمة قد تكون مخزّنة مؤقتًا.
sudo systemctl restart NetworkManager
nmcli -f NAME,TYPE connection show
nmcli connection add type vpn
الأمر الأخير هو الاختبار الفاصل. مع الإضافة يفشل بسبب وسائط ناقصة؛ وبدونها يبلّغ عن نوع VPN غير معروف. إحدى النتيجتين نموذج ينتظر أن يُملأ، والأخرى مشكلة تغليف لا تزال قائمة. شغّله قبل التثبيت وبعده إن أردت أن يكون الفرق واضحًا.
دع nmcli يقرأ ملف .ovpn
لا شيء يجبرك على إعادة بناء ملف شخصي مُسلَّم عنصرًا بعنصر. يقرأ المدير ملفات .ovpn مباشرة ويحوّل توجيهاتها إلى اتصال مخزّن، بما في ذلك الشهادات المضمنة. كما أن الاستيراد يتفوق على النسخ اليدوي في الدقة، لأن شيفرة مكتوبة خطأً أو مفتاحًا مقطوعًا ينتجان فشلًا يبدو كمشكلة في الخادم.
اترك الملف الشخصي بجوار أي مفتاح أو شهادة يشير إليها حتى يكتمل الحفظ، لأن الاتصال الذي يخزّن مسارات الملفات فقط ينكسر عندما تنتقل تلك الملفات. ثم اختبر الاتصال بالاسم، وأجب عن أي طلب بيانات اعتماد في المقدمة حتى ترى ما يطلبه. الاتصال المحفوظ الذي لم يُفعَّل قط ليس دليلًا على شيء.
nmcli connection import type openvpn file ~/Downloads/office.ovpn
nmcli --ask connection up office
nmcli -f NAME,TYPE,STATE connection show --active
الأمر الثالث يؤكد أن النفق قائم بالاسم الذي تتوقعه. كما يفصل بين اتصال فشل واتصال لم يُفعَّل قط.
ما لا تستطيع القائمة إخبارك به
غياب النوع لا يقول شيئًا عن البوابة، ولا يعني أن الخادم يرفض OpenVPN. وليس سببًا لتثبيت إضافة بروتوكول غير ذات صلة كي يظهر بند في القائمة. لهذا الخطأ الثاني اسم في الواقع: ينتهي الناس إلى توجيه ملف PPTP أو AnyConnect إلى خدمة OpenVPN لأن تلك كانت البنود المعروضة.
أصلح التغليف أولًا؛ يأتي سؤال الخادم بعد ذلك. الملف الشخصي الذي يُستورد بنظافة ولا يوثّق أبدًا يفشل في مسألة شهادة أو TLS أو بيانات اعتماد، لا في مسألة محرر. كل من هذه يترك دليلًا مختلفًا، ولا شيء منه يظهر في مربع الحوار. اقرأ سجل العميل قبل أن تعيد فتح لوحة الإعدادات.
أثبت ذلك بمورد تستخدمه فعلًا
بعد أن يوجد النوع ويُحفظ الاتصال، اطلبه وافتح موردًا تستخدمه فعلًا. التفعيل وحده يثبت فقط أن الطرفين اتفقا على نفق. النفق الذي يقوم ولا يحمل شيئًا هو نمط الفشل التالي، ولا تستطيع اللوحة رؤيته.
اكتب المورد الذي اختبرته، ليكرر الشخص التالي هذا الفحص بدل أن يبدأ من الصفر. وعندما يكون النفق قائمًا ويفشل المورد رغم ذلك، ينتقل التحقيق إلى المسارات وDNS لا إلى مربع الحوار. ذلك التدوين هو الفرق بين إصلاح وحكاية.