هل يمكن تحويل إعداد WireGuard إلى OpenVPN؟
لا يمكنك إعادة تسمية ملف WireGuard ليصبح ملف تعريف OpenVPN. يجب أن يتحدث الطرف الآخر البروتوكول نفسه، لذا الحل ملف تعريف مطابق وليس محوّلًا.
لديك ملف wg0.conf وعميل لا يقبل إلا .ovpn، فيقترح أحدهم تحويل الملف. إعادة تسميته تنتج ملف تعريف لا يستطيع OpenVPN تحليله، والترجمة الدقيقة حقلًا بحقل تنتج ملفًا يُحلَّل ثم يفشل عند المصافحة. السبب ليس صيغة الملف. WireGuard وOpenVPN بروتوكولان مختلفان بمصافحات مختلفة ونماذج مصادقة مختلفة وفهم مختلف لما يعنيه النظير. التحويل ينجح فقط بمعنى أنك تستطيع الحصول على ملف تعريف OpenVPN ممن يدير الطرف الآخر.
الملف الذي لديك يصف نظيرًا وليس ملف تعريف اتصال
إعداد WireGuard قصير لأن البروتوكول كذلك: واجهة بمفتاح خاص وعناوين، ثم نظير أو أكثر بمفتاح عام ونقطة نهاية وقائمة AllowedIPs. لا توجد طبقة تفاوض تُضبط ولا مجموعة تشفير تُختار.
ملف تعريف OpenVPN عميل لقناة تحكم قائمة على TLS، ولهذا يحمل مراجع شهادات أو بيانات اعتماد وتوجيهات تصف كيفية المصادقة.
لماذا يفشل الملف المترجم عند المصافحة
يبدأ WireGuard بمصافحة قائمة على Noise مفاتيحها مفاتيح النظير الثابتة، ويبقى صامتًا ما لم يكن المفتاح العام للنظير معروفًا مسبقًا. يفتح OpenVPN جلسة TLS، ويتحقق من شهادة خادم أو مفتاح ثابت، ثم يصادق المستخدم بشهادات أو اسم مستخدم وكلمة مرور أو كليهما. لا شيء في ملف WireGuard يصف ذلك. الملف المترجم سيحمل نقطة النهاية الصحيحة وكل شيء آخر خاطئًا.
إعادة استخدام العنوان والمنفذ لا تساعد أيضًا، لأن الطرف الآخر يستمع إلى حزمة مختلفة.
ماذا تسأل المزوّد
إذا كان المزوّد قد وفّر ملف WireGuard، فاسأل إن كان الحساب نفسه يملك وصولًا إلى OpenVPN واطلب ذلك الملف. كثيرون يملكونه، ويأتي ببيانات اعتماده الخاصة لا كنسخة معدّلة من الأول.
إذا كان الجواب لا، فالقيود في الاشتراك لا في الملف، ولا محوّل يغيّر ذلك.
إذا كان الموجّه أو العميل لا يتحدث إلا OpenVPN
عندما يدعم الجهاز الذي يجب أن يتصل OpenVPN فقط، راجع دعم البروتوكول الموثّق لدى الطرف الآخر قبل البحث عن امتداد آخر. لا يمكن إقناع موجّه ينهي OpenVPN بقبول WireGuard عبر استيراد ملف. الخيارات العملية هي نقطة نهاية OpenVPN على جانب الخادم، أو جهاز آخر يتحدث WireGuard.
اختر بناءً على من يدير الطرف الآخر، لا بناءً على الملف الذي بحوزتك.
إذا كنت تدير الخادم، فأضف البروتوكول
دعم بروتوكول ثانٍ يعني تشغيل خدمة ثانية. على خادم Linux تكون تلك خدمة OpenVPN بمرجع شهاداتها الخاص وشهادة خادم وشهادات عملاء وتوجيهات server وpush، مع قاعدة جدار حماية لمنفذها. لا يصف إدخال النظير الموجود في WireGuard أيًا من تلك الكائنات. خطط لمجمع العناوين والمسارات المدفوعة بشكل منفصل عن AllowedIPs في WireGuard، لأنهما ليسا الآلية نفسها باسمين.
ثم تحقق من العميل: يُحمَّل ملف التعريف، وتكتمل جلسة TLS، ويظهر المسار المدفوع، ويصل المرور إلى مضيف لا يمكن الوصول إليه إلا عبر النفق.
أين تكون فكرة المحوّل آمنة
ترجمة القيم يدويًا إلى ملاحظات أمر مقبول ومفيد غالبًا، لأن نقطة النهاية والعناوين والمفتاح العام للنظير مجرد حقائق عن النشر. أما رفع مفتاح خاص إلى موقع يَعِد بالتحويل فليس مقبولًا، لأن ذلك المفتاح هو بيانات الاعتماد ولا يملك الموقع بروتوكولًا يحوّله إليه. إذا احتجت الوصول نفسه من عميل OpenVPN فاطلب بيانات اعتماد OpenVPN بدلًا من ذلك.
أبقِ الإعدادين جنبًا إلى جنب واعتبرهما مساري وصول منفصلين، لأنهما كذلك.