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, क्रिया आणि चाललेला इंटरफेस नोंदवा. ती नोंद हाच आपण हेतू असलेल्या कनेक्शनसाठी हुक चालला याचा एकमेव विश्वासार्ह पुरावा आहे, आणि पुढील बदल सुरक्षित करणारेही तेच आहे.

संबंधित लेख