NetworkManager मध्ये गहाळ VPN रूट: प्रोफाइल धोरण की स्क्रिप्ट?
टनेल जोडले जाते आणि एक प्रीफिक्स कधीच दिसत नाही। सहाय्यक स्क्रिप्ट जोडण्यापूर्वी प्रोफाइल धोरण, प्लगइन डेटा आणि दुसरा रूट मालक यांमध्ये निर्णय घ्या।
तुम्ही जोडता, टनेल इंटरफेस दिसतो, आणि तुम्हाला आवश्यक असलेला एक प्रीफिक्स टेबलमध्येच नाही। पुढचे पाऊल सहसा तो जोडणाऱ्या स्क्रिप्टचा शोध असतो। तो शोध प्रोफाइलमध्ये OpenVPN सहाय्यक चिकटवणाऱ्या उत्तरांकडे नेतो, आणि त्या उत्तरांपैकी अर्धी परिस्थिती सुधारण्याऐवजी बिघडवतात, कारण गहाळ रूटला तीन संभाव्य मालक असतात आणि त्यातील फक्त एक गहाळ स्क्रिप्ट असते।
काहीही लिहिण्यापूर्वी कोणता मालक जबाबदार आहे ते ठरवा।
तीन मालक, एक गहाळ प्रीफिक्स
प्रीफिक्स अनुपस्थित असू शकतो कारण कोणीही तो दिला नाही, कारण प्रोफाइलने तो नाकारला, किंवा कारण तो अशा ठिकाणी स्थापित झाला जिथे तुम्ही पाहत नाही। हे वेगवेगळे दोष आहेत आणि त्यांचे वेगवेगळे उपाय आहेत।
पहिला तपासणे सर्वात सोपे आहे: सर्व्हर किंवा प्लगइनने कधी रूट दिला का? ज्या बॅकएंडला कधीच प्रीफिक्स मिळाला नाही तो तो स्थापित करू शकत नाही, आणि सहाय्यक स्क्रिप्ट सहभागीने कधीच वर्णन न केलेली पोहोच निर्माण करू शकत नाही। दुसरे प्रोफाइल धोरण आहे, जे कनेक्शन अन्यथा घेईल असे रूट दाबू शकते। तिसरे टेबल किंवा नियम आहे, जे रूट अशा ठिकाणी ठेवू शकते जिथे डीफॉल्ट शोध कधीच पाहत नाही।
चौथा मालक तुम्ही आहात, नंतर: अशी स्क्रिप्ट जी कनेक्ट होताना रूट जोडते पण डिस्कनेक्ट होताना ती काढत नाही। त्यामुळे टनेलपेक्षा जास्त काळ टिकणारा, मृत इंटरफेसकडे दाखवणारा आणि मशीन डीबग करणाऱ्या पुढच्या व्यक्तीला गोंधळात टाकणारा प्रीफिक्स तयार होतो।
काहीही जोडण्यापूर्वी प्रोफाइल वाचा
साठवलेल्या कनेक्शनच्या स्वतःच्या गुणधर्मांपासून सुरुवात करा। रहस्ये ओतल्याशिवाय ते वाचा, आणि प्रोफाइलचे नाव अस्पष्ट असल्यास UUID वापरा।
nmcli -f vpn.service-type,ipv4.never-default,ipv4.ignore-auto-routes,ipv4.route-table,ipv4.routes connection show office
vpn.service-type तुम्हाला सांगते कोणता बॅकएंड कनेक्शनचा मालक आहे, आणि हे महत्त्वाचे आहे कारण प्लगइन डेटा बॅकएंड-विशिष्ट असतो। एका प्लगइनने स्वीकारलेली की दुसऱ्यासाठी समर्थित सूचना नाही, म्हणून दुसऱ्या क्लायंटच्या दस्तऐवजातून कॉपी केलेला उतारा कोणत्याही गोष्टीचा पुरावा नाही।
ipv4.ignore-auto-routes आणि ipv4.never-default वेगवेगळ्या प्रश्नांची उत्तरे देतात। पहिले अशा रूट नाकारू शकते जे कनेक्शन अन्यथा स्वयंचलितपणे घेईल, आणि दुसरे प्रोफाइल डीफॉल्ट रूट होऊ शकते का हे नियंत्रित करते। स्वयंचलित रूटकडे दुर्लक्ष करणारे आणि दुसऱ्या कशावरही अवलंबून नसलेले प्रोफाइल स्वच्छ जोडले जाईल आणि जवळजवळ काहीही स्थापित करणार नाही।
ip -4 rule show
ip -4 route show table all
ही दोन आदेश तिसरी शक्यता सोडवतात। तुमचा प्रीफिक्स फक्त main मध्ये नाही तर प्रत्येक टेबलमध्ये शोधा, आणि धोरण नियम संबंधित शोध दुसरीकडे पाठवतो का ते तपासा। प्रीफिक्स दुसऱ्या टेबलमध्ये असेल आणि काहीही त्याकडे पाहत नसेल, तर तुमच्याकडे गहाळ रूट नाही; तुमच्याकडे असा शोध आहे जो कधीच त्यापर्यंत पोहोचत नाही।
स्क्रिप्ट जे दुरुस्त करू शकत नाही
सहाय्यक स्क्रिप्ट जोडल्याने NetworkManager च्या vpn.data ला चालवण्यासाठी प्रोग्राम मिळतो। ही खरी यंत्रणा आहे, आणि यापैकी बहुतेक प्रकरणांसाठी ती चुकीची आहे, कारण स्क्रिप्टला नियंत्रण मिळते तेव्हा प्रोफाइलचे स्वतःचे धोरण काय स्वीकारायचे हे आधीच ठरवून झालेले असते।
OpenVPN चे script-security हा दुसरा वारंवार होणारा गोंधळ आहे। हे OpenVPN सेटिंग आहे जे क्लायंट कोणत्या स्क्रिप्ट चालवू शकतो आणि त्यांच्या वातावरणात काय ठेवू शकतो हे नियंत्रित करते; स्तर 3 वातावरणातून क्रेडेन्शियल पास करण्यास परवानगी देते, जो रूटिंग दुरुस्ती नसून गुपिते हाताळण्याचा निर्णय आहे। ज्या प्रोफाइलचा बॅकएंड OpenVPN नाही त्यात ते चिकटवणे, किंवा कोणत्याही स्क्रिप्टला त्याची गरज नसताना ते वाढवणे, रूट न जोडता उघडपणा वाढवते।
मग रीस्टार्टची सवय आहे। NetworkManager सेवा रीस्टार्ट केल्याने प्रत्येक व्यवस्थापित लिंक तुटते आणि पुन्हा तयार होते, तुम्ही दूरून काम करत असल्यास ज्या लिंकने जोडलेले आहात ती सुद्धा। ही विघ्नकारक क्रिया आहे, निरुपद्रवी निदान नाही, आणि सर्व्हरवर ती टिकणाऱ्या सत्र आणि न टिकणाऱ्या सत्रातील फरक असू शकते।
निर्णय, क्रमाने
क्रमाने तीन प्रश्न विचारा। सहभागीने प्रीफिक्स दिला का, जे बॅकएंडचा लॉग किंवा त्याचे स्वतःचे स्थिती आउटपुट दाखवेल। जर होय, तर प्रोफाइल रूट स्वीकारण्यासाठी आणि स्थापित करण्यासाठी संरचित आहे, की ते त्यांना दाबत आहे? जर रूट कुठे तरी असेल, तर तुम्ही चाचणी करत असलेल्या रहदारीसाठी शोध मार्ग बरोबर आहे का?
पहिले उत्तर होय, दुसरे होय आणि तिसरे बरोबर असेल तेव्हाच पूरक स्क्रिप्ट समर्थनीय होते, आणि तरीही बॅकएंड रूटला मूळतः समर्थन देतो का हे विचारले पाहिजे। VPN सेटिंग्ज संदर्भ service-type आणि प्लगइन-विशिष्ट डेटा शब्दकोशाचे दस्तऐवजीकरण करतो, आणि की अस्तित्वात आहे असे गृहीत धरण्यापूर्वी तिथूनच सुरुवात करावी।
मंजूर दुरुस्तीनंतर, पुन्हा जोडा आणि गंतव्य पत्त्याने आणि नंतर नावाने तपासा, नंतर डिस्कनेक्ट व्हा आणि पुन्हा जोडा जेणेकरून स्थिती पुनरावृत्तीयोग्य आहे याची खात्री होईल। एक मालक, एक टेबल, आणि टनेलसोबत अदृश्य होणारा रूट हाच इच्छित निकाल आहे।