क्लाइंट के जुड़ने से पहले ही दो नाम खेल में होते हैं: लैपटॉप पर फ़ाइल का नाम (nuc.ovpn) और वह पहचान जो सर्वर क्रेडेंशियल से निकालता है। client-config-dir खोज दूसरे का उपयोग करती है। क्लाइंट पर प्रोफ़ाइल का नाम बदलने या सर्वर की फ़ाइल में .conf जोड़ने से इस बात पर कुछ नहीं बदलता कि सर्वर कौन-सी फ़ाइल खोलता है।

उपयोगी तुलना यह नहीं है कि «मैंने कौन-सा नाम इस्तेमाल किया» बल्कि यह कि «सर्वर कौन-सा नियम लागू करता है», क्योंकि प्रमाणपत्र प्रमाणीकरण और उपयोगकर्ता नाम/पासवर्ड प्रमाणीकरण एक ही लॉगिन से अलग-अलग प्रभावी नाम बना सकते हैं।

प्रोफ़ाइल का नाम बनाम प्रमाणपत्र का सामान्य नाम

डिफ़ॉल्ट प्रमाणपत्र-आधारित सेटअप में सर्वर X.509 सामान्य नाम लेता है और client-config-dir के भीतर ठीक उसी नाम की फ़ाइल खोजता है। जिस प्रोफ़ाइल का नाम nuc.ovpn है और जिसका प्रमाणपत्र tester कहता है, वह /etc/openvpn/server/ccd/tester पर हल होता है। क्लाइंट फ़ाइल का नाम कभी गणना में नहीं आता। बेमेल छिपने की पहली जगह यही है।

इसलिए सावधानी से नाम दिए गए प्रोफ़ाइलों से भरी डायरेक्टरी हर बार चूक सकती है। फ़ाइल subject से, ईमेल पते से या GUI में दिखने वाले नाम से नहीं मिलाई जाती; वह सामान्य नाम की स्ट्रिंग से मिलाई जाती है।

केस-संवेदी फ़ाइल सिस्टम पर Tester और tester दो अलग फ़ाइलें हैं, और केवल एक ही खुलती है। सामान्य नाम उस प्रमाणपत्र से देखें जो क्लाइंट वास्तव में प्रस्तुत करता है, अपने नोट्स की प्रतिलिपि से नहीं।

username-as-common-name नियम को उलट देता है

जब सर्वर username-as-common-name के साथ उपयोगकर्ता नाम/पासवर्ड प्रमाणीकरण चलाता है, तो प्रमाणित उपयोगकर्ता नाम इस खोज के लिए प्रमाणपत्र के सामान्य नाम की जगह लेता है।

दोनों स्थितियों की सीधे तुलना करें: प्रमाणपत्र पहचान में फ़ाइल प्रमाणपत्र का अनुसरण करती है और पासवर्ड बदलना अप्रासंगिक है; उपयोगकर्ता नाम पहचान में फ़ाइल लॉगिन नाम का अनुसरण करती है और प्रमाणपत्र फिर से जारी करना अप्रासंगिक है। सर्वर जिस फ़ील्ड को बदलता है, उसी के आधार पर नाम बदलना चाहिए। नए CN वाला फिर से जारी किया गया प्रमाणपत्र खोज का लक्ष्य चुपचाप बदल देता है, और पुरानी CCD फ़ाइल डिस्क पर सही दिखती रहती है।

मिश्रित कॉन्फ़िगरेशन मौजूद हैं, और अधिकतर उलझन वहीं से शुरू होती है। यदि एक सेवा ब्लॉक प्रतिस्थापन चालू करता है और दूसरा नहीं, तो प्रभावी नाम इस पर निर्भर करता है कि किस इंस्टेंस ने कनेक्शन संभाला। वैश्विक फ़ाइल लागू है यह मानने के बजाय सक्रिय कॉन्फ़िगरेशन की पुष्टि करें। अपस्ट्रीम सर्वर विकल्प संदर्भ नामित फ़ाइल खोज और वैकल्पिक फ़ॉलबैक का दस्तावेज़ीकरण करता है।

सर्वर क्या पढ़ता है, और क्या चुपचाप छोड़ देता है

दो छोटे अंतर तय करते हैं कि फ़ाइल चुनी जाएगी या नहीं। पहला है जोड़ा गया एक्सटेंशन। दूसरा है नाम में बचा हुआ एक अक्षर।

OpenVPN जिस नाम को खोजता है उसमें .conf नहीं जोड़ता, इसलिए tester.conf tester से मेल नहीं खाता। एक्सटेंशन छिपाने वाला एडिटर ऐसी फ़ाइल छोड़ सकता है जो सूची में सही दिखे और कभी मेल न खाए।

जब कोई मिलती फ़ाइल न हो, तो सर्वर DEFAULT नाम की फ़ाइल पर लौट सकता है। इसलिए कुछ सेटिंग्स का आना प्रमाण नहीं है कि प्रति-क्लाइंट फ़ाइल उपयोग हुई। आवंटित पता या पुश किए गए रूट की तुलना उससे करें जो प्रति-क्लाइंट फ़ाइल देती। अनुमतियाँ तीसरा फ़िल्टर हैं, क्योंकि सर्वर विशेषाधिकार छोड़ने के बाद फ़ाइल खोलता है; जो root शेल उसे पढ़ सकता है वह कुछ सिद्ध नहीं करता।

सही फ़ाइल नाम सामग्री को सत्यापित नहीं करता

चयन और सामग्री अलग-अलग विफलताएँ हैं। सही फ़ाइल खुलने के बाद भी उसके निर्देश उस क्लाइंट के लिए वैध होने चाहिए।

ifconfig-push को ऐसा पता देना चाहिए जिसे टोपोलॉजी वास्तव में उपयोग कर सके, और iroute केवल उस क्लाइंट के पीछे के रूट किए गए सबनेट के लिए अर्थ रखता है।

एक पहचान, कई डिवाइस

एक ही सामान्य नाम प्रस्तुत करने वाले दो लैपटॉप एक ही फ़ाइल चुनते हैं और वही क्लाइंट-विशिष्ट सेटिंग्स पाते हैं। यदि आपको अलग पते या अलग निरसन चाहिए, तो अलग पहचान चाहिए, एक फ़ाइल की दो प्रतियाँ नहीं।

तुलना पहचान साझा करने और प्रति डिवाइस एक प्रमाणपत्र जारी करने के बीच है। साझा करना प्रशासन में सरल और निरसन में मोटा है, जबकि प्रति-डिवाइस प्रमाणपत्र अधिक सेटअप माँगते हैं और अक्षम करने के लिए एक साफ़ इकाई देते हैं।

संबंधित लेख