OpenVPN शुरू नहीं होता, और विफलता संदेश ऐसी पंक्ति की ओर इशारा करता है जो ठीक दिखती है: Unrecognized option or missing or extra parameter(s) in office.ovpn:42: ca। प्रमाणपत्र नहीं बदला, फ़ाइल संपादक में खुलती है, और पथ में कुछ भी गलत नहीं दिखता। पार्सर विकल्प के नाम पर आपत्ति नहीं कर रहा; वह इस पर आपत्ति कर रहा है कि उसके साथ कितने आर्ग्युमेंट आए। चार जाँचें लगभग हर ऐसे मामले को सुलझा देती हैं, और उन्हें लागत के क्रम में करना उचित है।

पार्सर विकल्प को दोष क्यों देता है

हर कॉन्फ़िगरेशन पंक्ति किसी भी विकल्प के उसे देखने से पहले ही रिक्त स्थानों और उद्धरणों पर विभाजित हो जाती है। इसलिए रिक्त स्थान वाला मान कई आर्ग्युमेंट के रूप में आता है जब तक कि वह उद्धरणों में न हो, और उस पंक्ति का स्वामी विकल्प बेमेल की सूचना देता है। Windows पर डिफ़ॉल्ट संस्थापन निर्देशिका इसे निश्चित बनाती है, क्योंकि C:\Program Files संरचना के अनुसार पथ के बीच में बैठता है। इस विफलता में प्रमाणपत्र कभी नहीं खोला जाता, इसलिए फ़ाइल है या नहीं, यह जाँचना कुछ उपयोगी सिद्ध नहीं करता।

बताया गया पंक्ति क्रमांक आमतौर पर सही होता है, और बताया गया विकल्प वही होता है जिसने पंक्ति को खपाया। जब बताया गया विकल्प वह हो जिसे आप जानते हैं कि आपने कभी नहीं लिखा, तो उसके ऊपर की पंक्ति पढ़ें, क्योंकि पहले के किसी ब्लॉक में खोया उद्धरण पार्सिंग को खिसका देता है। इसी तरह एक प्रमाणपत्र ब्लॉक अंततः आर्ग्युमेंट की संख्या का दोषी ठहरता है।

ca C:\Program Files\OpenVPN\config\office-ca.crt

रिक्त स्थान वाले हर पथ पर उद्धरण लगाएँ

मान के चारों ओर दोहरे उद्धरणों का एक जोड़ा पूरा उपचार है, और Windows पर आगे की ओर तिरछी रेखाएँ स्वीकार्य हैं, इसलिए एस्केपिंग कभी समस्या का हिस्सा नहीं बनती। एक ही पास में हर पथ विकल्प ठीक करें, क्योंकि पार्सर पहली विफलता पर रुक जाता है और अगला बस अगले पुनःआरंभ की प्रतीक्षा करता है। समूह में आमतौर पर ca, cert, key, tls-auth और auth-user-pass शामिल होते हैं।

ca "C:/Program Files/OpenVPN/config/office-ca.crt"
cert "C:/Program Files/OpenVPN/config/office.crt"
key "C:/Program Files/OpenVPN/config/office.key"

निर्देशिका के नाम से खोज फ़ाइल पढ़ने से तेज़ी से हर उपस्थिति ढूँढ लेती है। किसी भी संपादन से पहले इसे चलाएँ, ताकि सूची पूरी हो:

Select-String -Path .\office.ovpn -Pattern 'Program Files'

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

प्रमाणपत्रों से पहले मोड घोषणा वापस पाएँ

दूसरा सामान्य कारण उसी बर्बाद दोपहर के साथ अलग संदेश देता है। क्लाइंट प्रोफ़ाइल को अपना मोड ऊपर के पास घोषित करना होता है, और जब नई फ़ाइल में केवल प्रमाणपत्र ब्लॉक चिपकाए जाते हैं तो वह घोषणा आसानी से खो जाती है। उसके बिना OpenVPN फ़ाइल को दूसरे डिफ़ॉल्ट समूह के साथ पढ़ता है, और नुकसान बहुत बाद में विकल्पों के बीच टकराव या लॉगिन विफलता के रूप में दिखता है। गुम पंक्ति जाँचने में सस्ती और भूलने में महँगी है।

client
dev tun
proto udp
remote vpn.example.net 1194

वहाँ रहते हुए हर पंक्ति में एक निर्देश रखें। जुड़ी हुई पंक्तियाँ पहले खंड की ठीक वही आर्ग्युमेंट-संख्या त्रुटि देती हैं, और बताई गई पंक्ति उचित लगती है क्योंकि जोड़ वहाँ हुआ जहाँ संपादक ने पाठ को मोड़ा। कच्ची पंक्ति पढ़ें, प्रदर्शित नहीं।

एन्कोडिंग की क्षति विकल्प के नाम जैसी दिखती है

UTF-16 के रूप में सहेजी गई और बाइट-ऑर्डर मार्क वाली फ़ाइल अपना पहला विकल्प पार्सर से छिपा देती है, और भटके हुए बाइट संदेश में विकल्प के नाम से चिपक सकते हैं। फ़ाइल को बाइट-ऑर्डर मार्क के बिना UTF-8 के रूप में सहेजें, फिर उसे दोबारा खोलें और पुष्टि करें कि पहला अक्षर सामान्य अक्षर है। संपादक, PowerShell रीडायरेक्शन और चैट विंडो से चिपकाया गया पाठ सब बिना पूछे एन्कोडिंग बदल देते हैं।

Format-Hex .\office.ovpn | Select-Object -First 1

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

कौन सी जाँच पहले, और क्यों

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

फ़ाइल की अछूती प्रति वैसी ही रखें जैसी ऑपरेटर ने भेजी थी। अगर बाद का संपादन उसे तोड़ दे, तो उस प्रति से तुलना दिखाती है कि उद्धरण, नई पंक्ति या मार्कर बाइट खिसका है या नहीं, जो त्रुटि दोबारा पढ़ने से तेज़ है। हर निर्देश के विकल्पों का संदर्भ स्थापित संस्करण के OpenVPN मैनुअल में है।

संबंधित लेख