ملف تعريف واحد ومالكان اثنان: NetworkManager أم systemd
ملف .ovpn خامل حتى يملكه شيء ما. قارن اتصال NetworkManager بوحدة خدمة مستقلة قبل نسخ ملف التعريف إلى المكانين.
لا يحدث شيء لملف .ovpn حتى يملكه شيء ما. على سطح مكتب Pi يكون المالكون المحتملون هو NetworkManager، الذي يخزّن الاتصال المستورد في ملف مفتاح خاص به، ووحدة خدمة مستقلة تقرأ إعدادًا من دليل. هذان نموذجا تشغيل مختلفان في التخزين ومعالجة بيانات الاعتماد وقواعد التنشيط. اختيار أحدهما عن قصد هو المهمة كلها؛ أما نسخ الملف إلى المكانين فيجعل الاختيار عارضًا.
يمكن لكليهما العمل على جهاز واحد، لكن ليس على النفق نفسه في اللحظة نفسها، ويبدو التعارض كعطل شبكة لا كعطل إعداد.
طريقتان لامتلاك النفق نفسه
تضيف إضافة OpenVPN الخاصة بـ NetworkManager محرّرًا وخدمة تديران الاتصال نيابة عنك، وتثبيت برنامج OpenVPN لا يثبّت ذلك التكامل. أما الوحدة المستقلة فهي الترتيب المعاكس: لا محرّر، ولا تكامل مع سطح المكتب، وملف إعداد واحد وما تمنحه الوحدة من صلاحيات. الأولى تحفظ حالة الاتصال في قاعدة بياناتها، والثانية تحفظها حيث يقول ملف التعريف والوحدة. ومعظم الالتباس يأتي من افتراض أن ملف تعريف مستوردًا وملفًا منسوخًا شيء واحد.
هما ليسا وجهين لشيء واحد. تحرير الملف المُنزَّل لا يغيّر ما حفظه NetworkManager ولا ما تقرأه الوحدة، وأي منهما قد يكون هو الذي بنى النفق الذي اختبرته للتو.
اتبع الاتصال الذي يستخدمه سطح المكتب فعلاً
عملية الاستيراد الموثّقة، nmcli connection import type openvpn file office.ovpn، تُنشئ اتصالًا عبر الإضافة. سجّل معرّفه UUID واستخدم ذلك المعرّف بعد ذلك، لأن الأسماء تُحرَّر ويمكن أن يتشارك اتصالان التسمية نفسها. nmcli connection show يسرد ما هو موجود، وقراءة خصائص الاتصال نفسه تخبرك من أي ملف جاء وماذا يخزّن. إذا كان المعرّف UUID الذي تحرّره ليس الذي ينشّطه سطح المكتب، فتحريراتك زينة.
تعيش الأسرار في مخزن المالك. تفريغ كل سر محفوظ لمعرفة أي ملف تعريف نشط بطيء ومحفوف بالمخاطر؛ اسأل كائن الاتصال بدلًا من ذلك، واحفظ المادة الخاصة حيث يتوقعها المالك.
لا يحتاج الاتصال المستورد إلى جلسة رسومية ليعمل، لكنه قد يحتاج مع ذلك إلى مصدر بيانات اعتماد. أما بدؤه دون إشراف فيعتمد على صلاحياته وأسراره، لا على وجود سطح المكتب.
اقرأ قالب الوحدة قبل الاعتماد عليه
حيث توفّر الحزمة وحدة العميل على النمط الأصلي، تُقابل نسخة باسم office الملف %i.conf داخل دليل الوحدة المهيأ، وهو في قالب 2.6 /etc/openvpn/client. اقرأ الوحدة المثبّتة وأي ملفات إضافية قبل الثقة بمثال من دليل، لأن التوزيعات تغيّر المسارات. التشغيل اليدوي من طرفية لا يثبت شيئًا عن رؤية الخدمة للملفات أو الأسرار أو الصلاحيات. كما أن مربع حوار كلمة المرور في سطح المكتب ليس دليلًا على أن وحدة غير تفاعلية تملك طريقة معتمدة للحصول على الكلمة نفسها.
امنح الوحدة ما تحتاجه فقط. تخفيف صندوق حماية الخدمة كله لأن ملفًا مشارًا إليه غير قابل للقراءة يقايض إصلاح صلاحية صغير بتعرّض كبير، والخطأ عادةً يسمّي الملف الذي يحتاج انتباهًا.
أزل الاتصال المكرر دون أن تفقد الوصول
إذا كان بوسع المالكين بدء النفق، فسيفوز أحدهما في النهاية في اللحظة الخطأ وتبقى مسارات الخاسر وجهازه خلفه. أزل النسخة المكررة العارضة عبر مالكها، وأبقِ مسار استرجاع مفتوحًا، وتأكد من أن المالك الباقي ما زال يتصل بعد إعادة التشغيل. شبكتا VPN منفصلتان عن قصد بسياسات توجيه مختلفة مسألة تصميم مختلفة، وليستا إذنًا لمسارَي تشغيل بأن يتنافسا على اتصال واحد.
ثم اكتب دورة الحياة التي قبلتها: تنشيط يدوي، أو تسجيل دخول، أو إقلاع وإعادة اتصال. تحقق من نقطة النهاية المحفوظة ومصادقة الطرف الآخر والمورد الذي يُفترض أن يصل إليه النفق، لأن إعادة تثبيت سطح المكتب لا تغني عن معرفة أي إعداد عمل.