VPN माथि आएपछि चल्नुपर्ने स्क्रिप्टलाई जडानको मालिक घटकबाट एउटा घटना चाहिन्छ। पुरानो नेटवर्क हुक डाइरेक्टरीमा राखिएको फाइल NetworkManager, pppd वा स्वतन्त्र OpenVPN प्रक्रियाले बनाउन सक्ने प्रत्येक VPN का लागि कलब्याक होइन। यी प्रत्येक मालिकले फरक वातावरणसँग फरक घटना जनाउँछन्, त्यसैले हुक छान्नुअघि मालिक पहिचान गरिनुपर्छ। अन्यथा स्क्रिप्ट सही छ र केवल कहिल्यै चल्दैन।

NetworkManager ले व्यवस्थापन गर्ने VPN का लागि डिस्प्याचर सही ठाउँ हो, र vpn-up सही कार्य हो।

इन्टरफेस घटना होइन, vpn-up प्रयोग गर्नुहोस्

डिस्प्याचरले up र vpn-up फरक पार्छ। पहिलोले सक्रिय इन्टरफेस जनाउँछ; दोस्रोले सक्रिय VPN जडान जनाउँछ। Wi-Fi माथि आउनु भनेको तल्लो लिङ्क अवस्थित छ भन्ने मात्र हो; सुरुङ अझै वार्ता गरिरहेको हुन सक्छ, वा कहिल्यै प्रमाणित नहुन सक्छ।

स्क्रिप्टले इन्टरफेस र कार्य पाउँछ, जबकि जडानको विवरण वातावरणमार्फत आउँछ, जसमा प्रोफाइल UUID र VPN को IP इन्टरफेस पर्छन्। यन्त्रका नामबाट पहिचान अनुमान गर्नुको सट्टा ती चल भेरिएबल पढ्नुहोस्।

मिलानलाई एउटै जडानमा सीमित गर्नुहोस्

जडान UUID वा डिस्प्याचरले दिने अर्को पहिचानमा मिलाउनुहोस्, tun उपसर्ग वा ppp0 मा होइन। इन्टरफेसका नाम स्थिर छैनन्, एकै समयमा एकभन्दा बढी सुरुङ हुन सक्छन्, र दुई प्रोफाइलले एउटै देखाइने नाम बोक्न सक्छन्। tun उपसर्गमा मिलाउनु भनेको स्क्रिप्ट अन्ततः कसैले छुन नचाहेको जडानका लागि चल्नेछ। फेरि जोडिँदा यन्त्र पुनर्निर्माण हुँदा यो एउटै प्रोफाइलका लागि दुई पटक पनि चल्न सक्छ।

कामलाई इडेम्पोटेन्ट बनाउनुहोस्। प्रत्येक पटक बोलाउँदा मार्ग थप्ने कलब्याकले अन्ततः तालिका नक्कलले भरिदिन्छ, र राउटिङ बिगार्ने दोस्रो प्रतिले हो।

सक्रियताले के प्रमाणित गर्दैन जान्नुहोस्

vpn-pre-up NetworkManager ले VPN पूर्ण रूपमा सक्रिय भएको जनाउनुअघि चल्छ, र प्रबन्धकले ती स्क्रिप्टहरू पर्खन्छ। काम साँच्चै त्यहीँ पर्ने भएमा मात्र अवरोध गर्ने चरण प्रयोग गर्नुहोस्, किनकि ढिलो जाँचले अरू सबै घटकले देख्न पर्खिरहेको सक्रियता ढिलो बनाउँछ।

मार्गहरू हुनुले कुनै अनुप्रयोग सुनिरहेको, निजी नाम समाधान भइरहेको वा प्रयोगकर्ता सत्र रहेको प्रमाणित गर्दैन। तिनलाई सीमित समयसीमासँग अलग जाँच्नुहोस्, र पूरै शृंखला फेरि प्रयास गर्नुको सट्टा कुन तह असफल भयो जनाउनुहोस्।

स्क्रिप्ट चल्ने सन्दर्भको सम्मान गर्नुहोस्

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

स्क्रिप्टमाथिको स्वामित्व र अनुमतिहरू पनि महत्त्वपूर्ण छन्। root का रूपमा चल्ने र जोसुकै प्रयोगकर्ताले बदल्न सक्ने फाइल विशेषाधिकार बढाउने बाटो हो, र यो VPN को तर्क सही छ कि छैन भन्नेबाट स्वतन्त्र निष्कर्ष हो।

कहिल्यै नहुने डिस्कनेक्टको योजना बनाउनुहोस्

अचानक अन्त्य वा जडान गुम्ने जस्ता जबरजस्ती डिस्कनेक्टका लागि vpn-pre-down उत्सर्जित हुँदैन भनी NetworkManager अभिलेख गर्छ। त्यसैले केवल सौम्य pre-down वरिपरि बनाइएको सफाइ निर्माणले नै अपूर्ण हुन्छ। स्क्रिप्टले बदल्ने जुनसुकै साझा अवस्थालाई क्र्यासपछि पुनर्स्थापित गर्न सक्ने अर्को मालिक चाहिन्छ, र त्यो पुनःप्राप्ति मार्ग अनुमान नगरी परीक्षण गर्नुपर्छ।

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

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