VPN सुरू असताना अॅप चालू नये: ते काय लागू करते
टनेल वर असताना अॅप थांबवणे kill switch नाही. मोड बदल कोणाचा आहे, पुन्हा सुरू होण्यास काय प्रतिबंध करते, आणि systemd काय करू शकते व काय नाही हे ठरवा.
kill switch आणि ओव्हरलॅप-प्रतिबंध नियम विरुद्ध दिशांना निर्देश करतात, म्हणूनच सामान्य VPN सेटिंग्ज दुसरे कधीही व्यक्त करत नाहीत. kill switch पडलेल्या टनेलवर प्रतिक्रिया देते, तर ही आवश्यकता वर असलेल्या टनेलवर प्रतिक्रिया देऊन अॅपला चित्राबाहेर ठेवते. एक डिझाइन निर्णय बहुतेक सोडवतो: अॅप थांबवायचे, सुरू होण्यास प्रतिबंध करायचा, की फक्त नेटवर्क प्रवेश काढून घ्यायचा. फायरवॉल नियम किंवा प्रक्रिया मारणाऱ्या लूपकडे जाण्यापूर्वी तो स्तर निवडा, कारण निरीक्षणाने लागू केलेला नियम प्रत्येक लॉन्चला एक खिडकी गमावतो.
समजूत: kill switch प्रोग्राम सुरू होण्यास प्रतिबंध करते
kill switch ट्रॅफिक नियंत्रणे आहेत, आणि ते याबाबत प्रामाणिक आहेत: टनेलच्या स्थितीनुसार पॅकेटला परवानगी देतात किंवा नाकारतात. त्यांपैकी कोणतेही प्रोग्राम सुरू करण्यास नकार देत नाही, आणि कोणतेही कोणत्या एक्झिक्युटेबलने सॉकेट उघडले हे तपासत नाही. डेस्कटॉप शॉर्टकट, शेड्युल केलेले कार्य आणि पार्श्वभूमी सहाय्यक—सर्व अॅपचे नाव जाणणाऱ्या कोणत्याही गोष्टीतून न जाता नेटवर्कपर्यंत पोहोचतात. या दोन यंत्रणांमधील अंतर हेच बहुतेक गोंधळाचे ठिकाण आहे.
प्रोग्राम सुरू होऊ शकतो का हे खरोखर ठरवणारी व्यवस्था अॅप्लिकेशन नियंत्रण आहे. Windows वर त्याचा अर्थ AppLocker किंवा WDAC, आणि व्यवस्थापित macOS वर डिव्हाइस प्रोफाइलने लागू केलेली परवानगी यादी. दोन्ही टनेलपासून स्वतंत्र आहेत, म्हणून दोन्ही आवश्यकता एकाच तिकिटात एकत्र केल्या जातात आणि नंतर कोणतीही पूर्ण होत नाही.
साधनाचे नाव घेण्यापूर्वी मोडचे नाव घ्या
नियम तीन अवस्थांच्या स्टेट मशीनप्रमाणे लिहा: सामान्य वापर, VPN कार्य सत्र आणि निर्गमन. प्रतिबंधित ओव्हरलॅप मधल्या अवस्थेचा आहे, क्लायंट सॉफ्टवेअरचा नाही.
अवस्था बदलणाऱ्याकडे क्रमाने तीन क्रिया आहेत: अॅपचे काम पूर्ण करणे, त्याचे सामान्य बंद होणे मागणे, आणि टनेल वर येण्यापूर्वी इन्स्टन्स गेला आहे याची खात्री करणे. दुसऱ्या टोकालाही क्रम महत्त्वाचा आहे, कारण आधी जोडून नंतर प्रोग्राम थांबवणारा VPN आधीच ओव्हरलॅपला परवानगी देतो. आवश्यकता कनेक्शन स्थापणेही समाविष्ट करत असेल, तर जोडलेले सूचकाची वाट पाहणे खूप उशिराचे आहे.
दुहेरी दिशेचा संघर्ष प्रत्यक्षात काय करतो
खरोखर systemd व्यवस्थापित करणाऱ्या दोन सेवांसाठी Conflicts= सममित आहे: एक सुरू केल्यास दुसरी थांबते. युनिट संदर्भ हे वर्तन दस्तऐवजीकृत करतो आणि एकाने थांबणे पूर्ण करणे आवश्यक असताना दुसरी सुरू होण्यापूर्वी स्पष्ट क्रम वेगळा मागतो. त्या क्रम-नोंदी नसल्यास थांबणे आणि सुरू होणे स्पर्धा करतात, आणि निकाल वेळेवर अवलंबून असतो.
ही नकार यादी नाही. अवलंबित्व उलट जोडा, मग अॅप सुरू झाल्याने उलट VPN थांबेल, आणि टनेल अंदाजे क्षणी स्वतःच डिस्कनेक्ट झाल्यास संशय घेण्याजोगी बिघाड हीच आहे. डेस्कटॉप अॅप्लिकेशन systemd युनिट नाही, आणि NetworkManager कनेक्शनही युनिट नाही, म्हणून हा नमुना तुम्ही स्वतः गुंडाळता त्या सेवांसाठीच चालतो.
पहिले लॉन्च नव्हे, संक्रमणे तपासा
चार संक्रमणे आवश्यकता टिकते का हे ठरवतात: अॅप चालू असताना सत्रात प्रवेश, सत्राच्या मध्यात ते पुन्हा सुरू करणे, अयशस्वी VPN सुरुवात, आणि जाणीवपूर्वक डिस्कनेक्ट. प्रत्येकाची चाचणी करा आणि निकाल युनिट फाइलींजवळ ठेवा. खालील आदेश सध्याचे नाते वाचतात आणि नंतर सर्वात महत्त्वाचे संक्रमण सरावतात.
systemctl show work-vpn.service -p Conflicts -p After
systemctl start work-vpn.service
systemctl is-active office-sync.service
nmcli connection show --active
तिसऱ्या आदेशाने अॅप निष्क्रिय ठेवावे, आणि चौथ्याने सत्र चालू असताना केवळ टनेल कनेक्शन सूचीबद्ध करावे. वेगळा निकाल म्हणजे संक्रमण अजिबात लागू होत नाही.
सत्रादरम्यान पुन्हा सुरू करणे हेच गुंडाळी-आधारित डिझाइन उघड करणारे प्रकरण, कारण डेस्कटॉपवरून सुरू केलेला शॉर्टकट कधीही लाँचर स्क्रिप्टचा सल्ला घेत नाही. हा बायपास महत्त्वाचा असेल, तर अंमलबजावणी अॅप्लिकेशन नियंत्रणाची आहे, VPN क्लायंटची नाही. सत्राचा शेवटही दस्तऐवजीकृत करा, आणि प्रवेश करताना थांबवलेल्या प्रत्येक प्रक्रियेला पुन्हा उघडण्याऐवजी जाणीवपूर्वक पुनःसुरुवातीस प्राधान्य द्या. प्रत्येक संक्रमणाचा निकाल युनिट फाइली ठेवणाऱ्या त्याच टिपेत नोंदवा.