up स्क्रिप्ट चल्छ, शून्यसँग बाहिरिन्छ, र यसभित्रको कार्य टर्मिनलबाट दुई सेकेन्डपछि राम्ररी चल्ने निजी सेवासम्म पुग्न सक्दैन। सहज प्रवृत्ति समयलाई दोष दिन्छ, र सामान्य उपचार स्लिप हो, जसले दौड नबुझी लुकाउँछ। अझ उपयोगी पढाइ यो हो कि “up” एउटा हुकको नाम हो, तयारीको ग्यारेन्टी होइन। टनेल यन्त्र कन्फिगर हुँदा यो सक्रिय हुन्छ, जुन रुट, DNS र टनेल पछाडिको कुनै पनि अनुप्रयोगभन्दा चाँडो हो।

शेल परीक्षण सफल भयो किनभने यो सबै स्थिर भएपछि चल्यो। हुक एउटा निश्चित क्षणमा चल्यो।

सुरुवाती क्रममा up कहाँ पर्छ

OpenVPN टनेल यन्त्र कन्फिगर गर्छ र त्यसपछि up हुक चलाउँछ। रुट स्थापना पछिल्लो चरण हो, र यसको आफ्नै हुक छ, त्यसैले up मा राखिएको रुट-निर्भर कार्यले उपयोगी बाटो नभएको यन्त्र देख्न सक्छ। रुटको काम route-up मा राख्नुहोस्, र समयको समस्या प्रायः हराउँछ।

पुस्तिकाले यो क्रम र प्रत्येक हुकले पाउने वातावरण दस्तावेज गर्छ। त्यो क्रम “मेरो शेलबाट चल्छ” भन्ने परम्परागत रिपोर्टको पूरा व्याख्या हो, र एउटै स्क्रिप्ट एउटा मेसिनमा उत्तीर्ण भई ढिलो रुट चरण भएको अर्कोमा असफल हुनुको कारण पनि हो। कुनै पनि नतिजाले स्क्रिप्टको गुणस्तरबारे केही भन्दैन।

DNS र अनुप्रयोग तयारी अझ पछि आउँछ। स्थापित रुटहरू पनि टाढाको इन्डपोइन्ट सुनिरहेको, नाम समाधान भइरहेको, वा प्रयोगकर्ता-दायराको कार्यका लागि डेस्कटप सत्र अवस्थित भएको प्रमाण होइनन्।

हुकले वास्तवमा के उत्तराधिकारमा पाउँछ

हुक OpenVPN प्रक्रियाको खाता र वातावरणअन्तर्गत चल्छ, जुन तपाईंको अन्तरक्रियात्मक शेल जस्तै होइन। यसमा प्रयोगकर्ताको सत्र बस, डेस्कटप वातावरण, वा लगइनमा मात्र खुल्ने प्रमाणपत्र हुन सक्दैन। कार्यलाई तीमध्ये कुन वास्तवमा आवश्यक छ लेख्नुहोस्।

यो नेटवर्किङजस्तो देखिने तर प्रयोगकर्ता सन्दर्भमा निर्भर कार्यहरूका लागि महत्त्वपूर्ण छ: प्रयोगकर्ता प्रमाणपत्रसँग साझेदारी माउन्ट गर्ने, प्रति-प्रयोगकर्ता प्रोक्सी सेट गर्ने, वा प्रिन्टर कन्फिगर गर्ने। विशेषाधिकार प्राप्त टनेल हुक तिनीहरूका लागि गलत ठाउँ हो, र जति कुरे पनि हराएको सत्र सुध्रिँदैन।

हुकमा कार्य असफल हुँदा खाता, वातावरण, र असफल भएको पहिलो अपरेसन रेकर्ड गर्नुहोस्। यसले अकालीन समयलाई अनुमति वा सन्दर्भ समस्याबाट छुट्याउँछ, र दुवैको उपचार पूर्ण रूपमा फरक छ। तिनीहरूबीच अनुमान गर्नु भनेको पाँच मिनेटको सुधारलाई पूरै दिउँसो बनाउनु हो।

स्लिप थप्नु किन तयारी जाँच होइन

स्लिपले स्क्रिप्टलाई ढिलो बनाउँछ र दौडको झ्याल सार्छ। छिटो दिनमा कार्य सफल हुन्छ; ढिलो दिनमा यो फेरि असफल हुन्छ, र ढिलाइले काम गरेको जस्तो देखिने भएकाले असफलता पुनः उत्पादन गर्न गाह्रो हुन्छ। हल्का भारमा मात्र काम गर्ने ढिलाइ संयोग हो, उपचार होइन।

यदि निर्भरता रुट हो भने, रुट स्थापनासँग मिल्ने हुक प्रयोग गर्नुहोस्। यदि निर्भरता टनेल पछाडिको सेवा हो भने, त्यो विशिष्ट सर्त पर्खने र कहिल्यै नआएमा स्पष्ट रूपमा असफल हुने सीमित जाँच प्रयोग गर्नुहोस्।

असफलतालाई स्पष्ट राख्नुहोस्। वास्तविक काम असफल हुँदा पनि शून्यसँग बाहिरिने हुक असफल हुने हुकभन्दा नराम्रो हुन्छ, किनभने सेवा प्रबन्धकले सफलता रेकर्ड गर्छ र फेरि कोही हेर्दैन। स्क्रिप्टबाटै आउने एउटा लग लाइन यसलाई इमानदार राख्ने सबैभन्दा सस्तो उपाय हो।

सफाइ र पुनः जडानले पनि उत्तिकै ध्यान पाउनुपर्छ

साझा स्थिति परिवर्तन गर्ने स्क्रिप्टलाई मिल्ने फिर्ता मार्ग चाहिन्छ। हुकले थपेका रुट, रिजोल्भर प्रविष्टि, र फायरवाल चिन्हहरू इडेम्पोटेन्ट र उल्टाउन सकिने हुनुपर्छ, नत्र पुनः जडानले दोस्रो प्रतिलाई पहिलोमाथि थुपार्छ।

पुनः जडानहरूले सेवाको पूर्ण सुरुवातभन्दा बढी पटक हुक चलाउन सक्छन्। सत्र पुनः स्थापना गर्ने स्थायी इन्टरफेसले up र route-up चक्र फेरि सुरु गर्न सक्छ, त्यसैले प्रत्येक बुटमा एक पटक मात्र चल्ने अनुमान गर्ने स्क्रिप्ट अन्ततः गलत व्यवहार गर्नेछ। एक दिनको हल्लिएको लगमा कार्यान्वयनहरू गनेर यो वास्तवमा कति पटक चल्छ हेर्नुहोस्। त्यसपछि स्क्रिप्टलाई त्यति पटक चल्न सुरक्षित बनाउनुहोस्।

असफल भएको जीवनचक्र परीक्षण गर्नुहोस्, पछिको आदेश होइन। बुट वा पुनः जडान पुनः उत्पादन गर्नुहोस्, हुक चलिरहेको हेर्नुहोस्, र यो वास्तवमा चल्ने क्षणमा कार्य सफल भएको पुष्टि गर्नुहोस्। त्यसपछि अन्तरक्रियात्मक शेलबाट आउने सफलता निर्भरताबारे प्रमाण हो, सुरुवाती मार्ग चल्छ भन्ने प्रमाण होइन।

प्रत्येक कार्य निर्भर हुने घटनालाई नाम दिनुहोस्, त्यसपछि त्यसलाई त्यो घटनासँग जोड्नुहोस्। बाँकी सबै जाँचको नाटक गर्ने ढिलाइ हो।

सम्बन्धित लेखहरू