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

قد يأتي الخطأ من برنامج أحدث

خطأ الخيار غير المعروف يتعلق بالمحلل لا بالنفق. أضاف OpenVPN 2.4 معاملات تشفير قابلة للتفاوض، وأهمل 2.5 المفتاح الذي كان يعطّلها، وأزالها 2.6 كليًا. لذلك يفشل ملف شخصي كُتب لـ 2.3 أو 2.4 على عميل حديث رغم أن شيئًا في الملف لم يتغيّر. الإصدار الذي يشتكي أحدث وليس أقدم.

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

openvpn --version يحسم الأمر للبرنامج الذي تختبره. قد لا يعرض عميل واجهة رسومية ذلك الأمر، وفي هذه الحالة اقرأ شاشة «حول» أو إصدار المكتبة المضمّنة.

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

عطّل التوجيه التفاوض على المعاملات التشفيرية، فتراجع الطرفان إلى سلوك اختيار أقدم يحكمه إعداد cipher. لم يعطّل التشفير يومًا، ولم يحوّل النفق إلى نص صريح. وقراءته كمفتاح أمان هي أول منعطف خاطئ، وتؤدي إلى تغييرات تجعل الاتصال أسوأ لا أفضل.

بمجرد وجود التفاوض، يصبح السؤال المكافئ هو أي شفرات يقبل كل طرف باستخدامها. هذا سؤال سياسة، والسياسة تعيش في data-ciphers في 2.5 وما بعده.

الاسم الأقدم ncp-ciphers يخص 2.4. خلط الاسمين بين الطرفين مصدر شائع لفشل التفاوض أحادي الاتجاه. والملف الذي يحمل الاسمين معًا ملف عدّله شخصان في وقتين مختلفين.

استبدل السياسة لا الكتابة

اضبط data-ciphers على الطرفين بخيار مشترك مقصود، واحتفظ بالقائمة قصيرة بما يكفي ليستطيع المراجع التفكير فيها. تغيير سطر عشوائي واحد لا يثبت شيئًا؛ فالنتيجة تعتمد على تقاطع القائمتين وعلى ما تدعمه حزمة TLS. أكّد اتفاق الطرفين بقراءة النتيجة المتفاوض عليها بدلًا من الإعداد. ثم اكتب القائمتين في سجل النشر كي يبدأ التغيير التالي من حالة معروفة.

حدّث الملف الشخصي عبر من يملكه. إضافة خيار تجاهل لإخفاء توجيه مهجور تترك سؤال السياسة بلا جواب.

إذا كان طرف أقدم يحتاج فعلًا إلى معالجة توافق، فاحصر ذلك في عملية النشر تلك. إعادة السلوك المهجور عالميًا ليست شرطًا لربط الأطراف الحديثة. وينبغي أن يسمّي الاستثناء الطرف الذي وُجد من أجله.

سطران يبدوان كقائمة شفرات وليسا كذلك

تكديس سطري تشفير لا يعيد التفاوض أيضًا، والنتيجة ملف يبدو كقائمة بينما يتصرف كقيمة واحدة. سطر يسمّي AES-256-CBC والذي يليه يسمّي CBC محاولة شائعة. وCBC وحده يسمّي نمطًا لا خوارزمية، لذا قد يقبله المحلل في موضع ويرفضه في التالي. توجيهات cipher المتكررة تضع الخيار نفسه مرتين بدل تجميع المرشحات.

تحقق من الأسماء المقبولة بـ openvpn --show-ciphers على البرنامج الهدف بدل نسخ قائمة من دليل كُتب لفرع آخر. تتغير القائمة بين الإصدارات. والاسم الصالح في فرع ليس بالضرورة صالحًا في الآخر.

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

تحقق مما تفاوض عليه الاتصال فعلًا

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

احتفظ بالنتيجة المتفاوض عليها في سجل النشر بجانب إصدار الملف الشخصي. فهذه هي الحقيقة التي تجيب عن السؤال التالي: أي تشفير يحمي حركة المرور فعلًا.

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