كيف تجمع ملف تعريف عميل OpenVPN من الملفات الصادرة
ملف ovpn هو إعدادات وليس شهادة. ابنِ ملف تعريف عميل واحد من شهادة CA والشهادة والمفتاح الصادرة، ثم ثبّت الهوية والدليل.
يسلّمك المشغّل حزمة CA وشهادة عميل ومفتاحها، ولن يعمل العميل حتى تُوصَّل هذه الملفات في ملف تعريف واحد. ملف التعريف إعدادات: يشير إلى تلك الملفات ولا يحتوي عليها، ولا يمكن أن يتحول بتعديله إلى شهادة. يبدأ الدليل من حاسوب محمول معتمد مسبقًا وينتهي بملف تعريف تستطيع تشغيله من دليل معروف. وهو لا ينشئ CA ولا يسجّل شهادة جديدة ولا يمسّ الخادم.
الهدف هنا هو عميل Linux OpenVPN 2.6 لسطر الأوامر، مع توجيه TUN عبر UDP ومصادقة بالشهادة.
اجمع ملفات جهة العميل فقط
اعمل في دليل محمي واجمع مادة ثقة CA المعتمدة وشهادة العميل الصادرة لك والمفتاح الخاص المطابق لها. في هذا المثال الأسماء هي ca.crt وlaptop-a.crt وlaptop-a.key. أسماء الملفات مجرد تسميات؛ ولا تقول شيئًا عمّا يحتويه كل ملف.
إذا أنشأت المفتاح أثناء التسجيل، فلن يغادر الجهاز أبدًا؛ ولا يلزم أن يعود من جهة الإصدار سوى الشهادة الموقّعة والسلسلة العامة. تحقّق من أن الشهادة تحمل دور العميل الذي تتوقعه الخدمة. وتحقّق أيضًا من أن المفتاح يخص تلك الشهادة لا شهادة أقدم من محاولة سابقة. الزوج غير المتطابق ينتج فشل TLS بعد وقت طويل، يبدو كمشكلة في الخادم.
اترك مفتاح التوقيع الخاص بـ CA ومفتاح الخادم الخاص ومعاملات DH خارج هذه الحزمة.
وصّل الملفات في ملف تعريف صغير
ملف التعريف أدناه قصير عن قصد. كل سطر إما يختار نقطة النهاية، أو يقيّد الهوية التي سيقبلها العميل، أو يشير إلى أحد الملفات الثلاثة.
client
dev tun
proto udp
remote vpn.example.net 1194
nobind
remote-cert-tls server
verify-x509-name vpn-gateway name
ca ca.crt
cert laptop-a.crt
key laptop-a.key
يختار سطر remote نقطة نهاية الشبكة. يشدد remote-cert-tls server على أن يقدّم الطرف المقابل شهادة بدور الخادم. يثبّت verify-x509-name الاسم المتوقع، وهنا vpn-gateway بوصفه Common Name لشهادة الخادم مع حقل الاسم الافتراضي في OpenVPN. لا تُستنتج هذه القيمة من اسم مضيف DNS، لذا استخدم مخطط الهوية الذي وفّره المشغّل.
لا تُسقط تلك الفحوص لمجرد أن نقطة نهاية اختبارية تعرض شهادة مختلفة.
يفترض ملف التعريف الأساسي هذا عدم وجود تحدٍّ منفصل للحساب ولا مفتاح لقناة التحكم. إذا كانت الخدمة تحتاج auth-user-pass أو tls-auth أو tls-crypt، فاحتفظ بالإعدادات والمواد التي أُعطيت لك، لأن سر قناة التحكم الذي تنشئه بنفسك لن يطابق السر الذي يحتفظ به الخادم. احتفظ أيضًا بسياسة التشفير الخاصة بالخدمة بدلًا من استيراد أسطر ضغط أو تشفير من مثال قديم.
اجعل دليل العمل صريحًا
المسارات النسبية تتبع دليل عمل العملية، لا موقع ملف .ovpn.
هذا يفاجئ من ينقل ملف التعريف إلى مجلد جديد ويتوقع أن يتبعه المفتاح. بالنسبة إلى دليل يختاره المسؤول، ينتقل الأمر أدناه إلى مسار مطلق قبل قراءة ملف التعريف ومراجعه.
sudo openvpn --cd /etc/openvpn/client/laptop-a --config laptop-a.ovpn
قد يحزم معالج استيراد سطح مكتب أو خدمة نظام التبعيات نيابة عنك ويطبّق قواعد خاصة به. وقد يستخدم أيضًا دليل عمل مختلفًا عن الذي اختبرت فيه. تأكّد من طريقة حلّ أداة التشغيل لمسارات المفتاح والشهادة وCA. نقل ملف .ovpn وحده لا ينقل المفتاح الخاص المنفصل.
أبقِ المفتاح مقروءًا فقط للهوية المستخدمة أو الخدمة المقصودة.
تحقّق من التسليم لا من أسماء الملفات
قبل أول اتصال مصرّح به، افحص نقطة النهاية وهوية الشهادة وجهة الإصدار ونافذة الصلاحية. ثم تأكّد من أن مراجع الملفات تُحلّ من دليل العمل الذي ستستخدمه فعلًا. بعد الاتصال، اختبر سلوك التطبيق وDNS الذي يُفترض أن توفره سياسة التوجيه. ثلاثة ملفات مقروءة لا تثبت شيئًا عن تصريح الخادم ولا عن مسار موارد صالح.
إذا ظهر طلب عبارة مرور، فهي تخص المفتاح الخاص لا حساب VPN.
أخيرًا، اجرد الحزمة كمواد اعتماد. تسليم الشهادة والمفتاح نفسهما إلى حاسوب محمول ثانٍ ينسخ الهوية، وإعادة تسمية الملف لا تمنحك تسجيلًا ثانيًا. هذا هو الفرق بين تجميع ملف تعريف وإصداره.