Keyfile أم Netplan: أين يُخزَّن ملف تعريف VPN فعلاً؟
قد يعيش VPN محفوظ في ملف keyfile أو في ملف Netplan مُولَّد. طابِق معرّف الاتصال UUID مع مالكه الحقيقي قبل تعديل شيء يُعاد كتابته.
العثور على الملف الذي استوردته هو الجزء السهل وغالبًا البداية الخاطئة. المهم هو أي ملف يقرأه NetworkManager اليوم كاتصال محفوظ، وهذا يعتمد على معرّف الاتصال وعلى واجهة الإعداد الخلفية التي تستخدمها الحزم المثبتة فعلاً. تعديل الاستيراد قبل الإجابة عن ذلك السؤال هو كيف يتحول VPN عامل إلى إعدادين نصف صحيحين.
الملف المستورد ليس الملف الشخصي المحفوظ
ثلاثة أسماء تدور حول كل مشكلة VPN: اسم الاتصال، واسم الملف الذي استوردته، والواجهة الافتراضية التي تظهر عند قيام النفق. لا واحد منها يحدد الإعداد المحفوظ، ويمكن تعديل اسم الاتصال بينما يحتفظ الملف خلفه بمعرّفه الأصلي.
ابدأ بجرد للقراءة فقط واختر VPN المقصود بالمعرّف بدلًا من التسمية:
nmcli -f NAME,UUID,TYPE connection show
أبقِ أسماء المضيفين الطرفية وتسميات الهوية خارج أي جرد تلصقه في تذكرة. الجزء المفيد هو النوع والمعرّف؛ أما الباقي فسياق لا يحتاجه غريب. احجب الباقي قبل المشاركة، وقل إنك فعلت ذلك، حتى لا يتساءل أحد عما تعنيه الفراغات.
مواضع keyfile لا تعني الشيء نفسه
مع إضافة keyfile الأصلية، يمكن أن تظهر ملفات الاتصال في ثلاثة أدلّة، والفرق بينها هو الاستمرارية لا الراحة.
| Location | Role |
|---|---|
/etc/NetworkManager/system-connections/ | Administrator-owned persistence |
/usr/lib/NetworkManager/system-connections/ | Package-supplied defaults, replaced on upgrade |
/run/NetworkManager/system-connections/ | Runtime state, regenerated and not durable |
تعديل نسخة وقت التشغيل يبدو ناجحًا حتى التشغيل التالي، وعندها يتبخر التغيير ويبدو الملف وكأنه أُعيد إلى حاله بشكل غامض. أما تعديل النسخة التي توفرها الحزمة فيعمل حتى تستبدلها ترقية، وهي نسخة أبطأ وأكثر إرباكًا من الدرس نفسه.
تضيف وثائق keyfile تفصيلًا يستحق الاحترام: تلك الملفات قد تحتوي مفاتيح خاصة وعبارات مرور، وNetworkManager يتجاهل أي keyfile يمكن لمستخدمين غير root قراءته أو كتابته. توسيع أذونات الدليل للبحث عن إعداد يكسر سلوك التحميل الذي كنت تحاول فحصه.
عندما يملك Netplan الاستمرارية
على Ubuntu، يغيّر تكامل NetworkManager الموصوف في وثائق Netplan، والمتاح من 23.10 فصاعدًا، مكان النسخة الدائمة. وللاتصالات غير المؤقتة يكتب /etc/netplan/90-NM-<connection UUID>.yaml ويولّد ملف تعريف NetworkManager مؤقتًا تحت /run/NetworkManager/system-connections/.
هذا تكامل توزيعة، وليس قاعدة لكل تثبيت NetworkManager. تأكد من أن الحزم المثبتة تستخدمه فعلاً قبل أن تبحث عن ملف YAML. تذكّر أيضًا أن ملف تعريف وقت التشغيل قد يكون تمثيلًا مُولَّدًا لشيء آخر بدلًا من كونه المصدر الجدير بالتعديل. أمران من الفحص يوفران ساعة من تعديل الملف الخاطئ.
المثال الموثّق يخزّن اتصال OpenVPN عبر نوع Netplan nm-devices مع بيانات تمرير NetworkManager. كون Netplan لا يفسر حقل VPN معين تفسيرًا مخصصًا لا يعني أن VPN المحفوظ قد ضاع؛ بل يعني أن الحقل ينتقل كبيانات مبهمة.
الواجهات العابرة ليست ملفات تعريف
ينشئ التنشيط اتصالات وواجهات افتراضية مؤقتة لم تكن مقصودة للاستمرار. والتكامل لا يكتب عن قصد ملف YAML جديدًا لكل واحدة، لذا فإن غيابها من /etc/netplan لا يقول شيئًا عن كون الملف الشخصي الأب محفوظًا.
إذا كنت تبحث عن ملف يظهر ويختفي، فأنت على الأرجح تنظر إلى أحد هذه بدلًا من إعدادك. تحقق مما إذا كان ينجو من إعادة التشغيل قبل استخلاص أي استنتاج من محتواه. ملف وقت تشغيل يزول عند إعادة الإقلاع يخبرك بأنه لم يكن المصدر قط، وهذه الملاحظة الواحدة تعيد توجيه التحقيق كله. كما أنها تفسر لماذا بدا التعديل ناجحًا في حينه.
الأسرار والملكية
قد يشير ملف تعريف إلى شهادة أو مفتاح مخزّن في مكان آخر تمامًا، وقد تكون كلمة المرور ملكًا لـ NetworkManager، أو يوفرها وكيل أسرار جلسة المستخدم، أو تُترك دون حفظ عن قصد. لذلك فإن تحديد ملف واحد لا يحسم إلا القليل عما سيتطلبه بدء التشغيل غير المراقب.
افحص المراجع وأعلام الأسرار دون طباعة قيم سرية. تسجيل الدخول إلى سطح المكتب قد يجعل وكيلًا متاحًا كان غائبًا أثناء الإقلاع، ونسخ ملف وقت تشغيل مُولَّد لا يعيد إنتاج ذلك الوكيل. العَرَض العملي هو نفق يتصل عندما يسجّل شخص الدخول ويفشل عندما يبدأ الجهاز وحده. هذا النمط يشير إلى ملكية الأسرار لا إلى التوجيه.
أجرِ التغييرات المعتمدة عبر المدير الذي يملك الاتصال، ثم تحقق بعد ذلك من المعرّف المحفوظ ومن الاتصال الفعلي معًا. أبقِ مالكًا دائمًا واحدًا، لأن تعديل الاستيراد وملف keyfile مُولَّد ومصدر YAML بشكل مستقل يترك ثلاثة تفسيرات متنافسة لما سيستخدمه الاتصال التالي. اختر ما يستمر فعلاً، وعدّل ذلك وحده، ودوّن في التذكرة أي ملف اعتبرته مرجعًا. سيشكرك الشخص التالي على سطر واحد من المصدر.