Mac वर VPN «डिस्कनेक्ट होत आहे» वर अडकले: प्रत्यक्षात काय चालू आहे
डिस्कनेक्ट होणे हे संक्रमण आहे, थांबलेले टनेल नाही. टनेल तोडण्याची मालकी कोणत्या घटकाकडे आहे ते तपासा, रूट आणि DNS वाचा, आणि सर्वसाधारण प्रोसेस-हत्या टाळा.
«डिस्कनेक्ट होत आहे» ही अशी स्थिती आहे जी क्लायंट टनेल तोडत असताना कळवतो, ट्रॅफिक थांबले असा निर्णय नाही। Mac वर ती तोडणी लहान क्रमाने चालते, आणि जोडणीची मालकी असलेला घटक परत कळवल्यानंतरच लेबल बदलते। जेव्हा एखादे पाऊल हेल्पर, प्लगइन किंवा धोरण-निर्णयाची वाट पाहते, तेव्हा इंटरफेस गेल्यानंतरही लेबल तिथेच राहू शकते, किंवा मेनू अजून दाखवत असतानाच टनेल पुढे पाठवत राहू शकते। मजकुराला «तोडणी सुरू आहे, निकाल अज्ञात» असे घ्या आणि कोणता अर्धा खरा आहे ते ठरवा।
दोन बिघाड मेनू बारमधून सारखेच दिसतात आणि उलट प्रतिसाद मागतात। एकात टनेल अजून पॅकेट वाहून नेतो आणि फक्त प्रदर्शन जुने आहे। दुसऱ्यात टनेल गेले आहे पण वेगळे धोरण रहदारी अडवून ठेवते, जे बहुतेक वेळा जाणूनबुजून असते। रूट आणि DNS स्थिती कोणत्याही मेनू क्रियेपेक्षा वेगाने हे वेगळे करते।
लेबल काय पाहत असते
VPN क्लायंट एक छोटी स्थिती-यंत्रणा ठेवतो, आणि मेनू बार तिचे प्रक्षेपण आहे। macOS स्वतः सांभाळत असलेल्या जोडणीसाठी ती यंत्रणा प्रणालीच्या VPN चौकटीत असते। अॅप सांभाळत असलेल्या टनेलसाठी ती अॅपमध्ये आणि त्याच्या विशेषाधिकारित हेल्परमध्ये असते। थांबवण्याचे शेवटचे पाऊल सॉकेट बंद करणे नाही। ते टनेल कार्यरत ठेवणाऱ्या गोष्टी सोडणे आहे: utun इंटरफेस, त्याकडे निर्देश करणारे रूट, क्लायंटने घातलेल्या रिझोल्व्हर नोंदी, आणि जोडलेले असताना रहदारी अडवणारा कोणताही फायरवॉल नियम किंवा धोरण।
ही पाऊले वेगळी आहेत, म्हणून थांबवणे त्यातल्या कोणत्याही एकावर अडकू शकते। उत्तर देणे थांबवणारा हेल्पर, दुसरा इंटरफेसही दावा करणारा रूट, किंवा दुसऱ्या प्रोफाइलची रिझोल्व्हर नोंद क्लायंटला वाट पाहत ठेवू शकते। लेबल क्लायंटच्या स्वतःच्या प्रगतीचा अहवाल आहे, ज्यामुळे ते हेतूबाबत अधिकृत आणि नेटवर्कबाबत अविश्वसनीय बनते।
जोडणीची मालकी असलेला घटक शोधा
मूळ कॉन्फिगरेशनमध्ये scutil --nc list प्रणालीला माहीत असलेल्या सेवा आणि त्यांची स्थिती छापते, आणि scutil --nc status "Work VPN" एका सेवेचे तपशील देते। तृतीय-पक्षीय अॅपचे टनेल त्या यादीत अजिबात दिसणार नाही, त्यामुळे रिकामा निकाल म्हणजे काहीही जोडलेले नाही याचा पुरावा नाही।
जेव्हा प्रोफाइल अॅपचे असते, तेव्हा तिच्या स्थिती-दृश्यावर आणि तिच्या नोंदवलेल्या «डिस्कनेक्ट करा» नियंत्रणावर विश्वास ठेवा। विंडो बंद करणे ही थांबवण्याची विनंती नाही, जर पार्श्वभूमी हेल्पर टनेलचा मालक असेल; चिन्ह अदृश्य होते आणि हेल्पर इंटरफेस जिवंत ठेवतो। Apple च्या VPN सेटिंग्ज संदर्भ मूळ नियंत्रणे आणि व्यवस्थापित सेटिंग्ज कुठून येतात हे समाविष्ट करते।
इंटरफेस, रूट आणि DNS वाचा
तीन तपासण्या जोडणीला हात न लावता प्रश्नाचा बहुतांश भाग सोडवतात। त्या एकत्र अर्थ लावणे महत्त्वाचे आहे, कारण प्रत्येकजण एकटाच दिशाभूल करते।
scutil --nc list
netstat -rn -f inet | head -20
ifconfig | grep -A 3 '^utun'
scutil --dns | head -30
- utun इंटरफेस आहे, त्यातून डीफॉल्ट किंवा विभाजित रूट जातो, रिझोल्व्हर प्रदात्याकडे दाखवतो: टनेल अजून सुरू आहे आणि लेबल जुने आहे।
- utun नाही, सामान्य डीफॉल्ट रूट, DNS DHCP मधून, इंटरनेट नाही: डिस्कनेक्ट झाल्यावर अडवणारे धोरण आपले काम करत आहे।
- utun नाही, रूट नाही, रिझोल्व्हर अजून प्रदात्याकडे: तोडणी अर्ध्यावर थांबली, आणि DNS हा साफ करायचा उरलेला भाग आहे।
नंतर फक्त टनेलमधून उत्तर द्यायला हवे अशा अंतर्गत होस्टकडे एक विनंती आणि सार्वजनिक होस्टकडे एक पाठवा। पोहोचक्षमता धोरणाला उरलेल्या स्थितीपासून वेगळे करते, तपासणीचे मोजमाप-व्यायामात रूपांतर न करता। मार्ग अजून प्रतिसाद देत असेल तर आधी दूरस्थ काम जतन करा, आणि दूरून व्यवस्थापित मशीनवर नेटवर्क बदलण्यापूर्वी प्रवेशाचा दुसरा मार्ग तयार करा।
सर्वसाधारण हत्या आणि प्रोफाइल हटवणे का दिशाभूल करते
pppd, racoon आणि configd सारखी प्रोसेस नावे विशिष्ट अंमलबजावणींची आहेत। ती मारल्याने इतर जोडण्यांवर परिणाम होऊ शकतो, रूट आणि utun इंटरफेस मागे राहतात, आणि कोणते पाऊल अडकले याची कोणतीही नोंद मिळत नाही। जुने प्रोसेस नावही सध्याच्या प्रोफाइलची मालकी असल्याचा पुरावा नाही।
प्रोफाइल हटवून पुन्हा तयार करणे हे अडकलेले संक्रमण साफ करण्यापेक्षा मोठा बदल आहे। काय अयशस्वी झाले हे न सांगता ते व्यवस्थापित सेटिंग्ज आणि स्थानिक ओळख-सामग्री फेकून देऊ शकते, आणि देखरेखीखालील Mac वर ते फक्त पुनर्संचयितही होऊ शकते। खरोखर जुने झालेल्या कॉन्फिगरेशनसाठी हटवणे ठेवा आणि त्याऐवजी संक्रमणाचे निदान करा।
खूण सोडणारा थांबवण्याचा क्रम
खालील क्रम जोडणीची स्वतःची नियंत्रणे जबाबदार ठेवतो आणि अडकणे परत आल्यास नोंद तयार करतो। तो प्रदर्शन-समस्या नेटवर्क बदलात रूपांतरित करण्यापासूनही तुम्हाला रोखतो।
- दूरस्थ काम जतन करा, आणि Mac दूरस्थ असल्यास दुसऱ्या मार्गाने त्याच्यापर्यंत पोहोचू शकता याची खात्री करा।
- क्लायंटचे नाव, आवृत्ती आणि प्रोफाइल नोंदवा।
log show --last 5m --predicate 'subsystem == "com.apple.networkextension"'ने छोटी विंडो धरून ठेवा; जुन्या आवृत्त्या कमी इतिहास ठेवतात, म्हणून अडकल्यानंतर लगेच ती चालवा। - नोंदवलेले «डिस्कनेक्ट करा» नियंत्रण वापरा, थांबा, आणि नंतर इंटरफेस व रूट तपासण्या पुन्हा करा।
- लेबल जुने असेल पण टनेल खाली असेल, तर ते तसेच राहू द्या आणि प्रोसेस जबरदस्तीने बंद करण्याऐवजी क्लायंटला ताजेतवाने होऊ द्या।
- तोडणी खरोखर अडकली असेल, तर क्लायंट पुन्हा सुरू करा, आणि काम जतन झाल्यावर Mac पुन्हा सुरू करण्याची योजना करा। व्यवस्थापित मशीनना प्रशासकाची प्रक्रिया लागते।
पुनर्प्राप्तीनंतर सामान्य डीफॉल्ट रूट आणि DHCP रिझोल्व्हर परत आले आहेत, आणि अडवलेली रहदारी एकतर पुनर्संचयित झाली आहे किंवा जाणूनबुजून अजून अडवलेली आहे याची खात्री करा। प्रोफाइल आणि क्लायंट आवृत्ती लक्षणासोबत नोंदवा, जेणेकरून पुढील घटना मेनू बारमधील अंदाजाऐवजी पुराव्यापासून सुरू होईल।