कोणत्यातरी डिप्लॉय स्क्रिप्टमध्ये कॉपी सुरू होण्यापूर्वी बोगदा सुरू आहे का हे तपासले जाते. तीन उत्तरे उपलब्ध आहेत आणि ती एकच गोष्ट दर्शवत नाहीत: scutil जी सेवा-स्थिती सांगते, कर्नेलने निवडलेला मार्ग, आणि दुसऱ्या टोकाकडून खरोखर उत्तर येते का. त्यांची तुलना ही कॉपीचा अंदाज लावणारी तपासणी आणि फक्त लॉग सजवणारी तपासणी यातील फरक आहे.

VPN सुरू आहे का या प्रश्नाची तीन उत्तरे

सेवेची स्थिती नियंत्रण-स्तराची वस्तुस्थिती आहे. macOS ला माहीत आहे की संरचना जोडलेली आहे कारण तिच्या क्लायंट प्रक्रियेने तसे सांगितले. मार्ग ही डेटा-स्तराची वस्तुस्थिती आहे: कर्नेल हे गंतव्य त्या इंटरफेसवरून पाठवेल. पोहोचक्षमता ही टोकापासून टोकापर्यंतची वस्तुस्थिती आहे, आणि इतर दोनपैकी कोणालाही न दिसणाऱ्या कारणांमुळे ती अयशस्वी होऊ शकते.

SignalAnswersBlind spot
scutil --nc statusIs the service connected?Third-party clients, wrong routes
route -n getWhere would this go?The peer may be down
A request to the far sideDoes it work now?Slow, and it changes state

उपयुक्त तपासणी पहिल्या दोन जोडते आणि तिसऱ्याचा उपयोग बाकीच्या दोन खोटे बोलल्या नाहीत याची खात्री म्हणून करते. कोणतेही एकटे म्हणजे वेळेच्या ठस्यासह अंदाज.

ओळखणे वाचा, दाखवलेले नाव नाही

scutil --nc list
scutil --nc status "Office"

यादी प्रत्येक सेवेसाठी एक ओळ छापते, आणि प्रत्येक ओळीत कंसात स्थिती, नंतर सेवा ओळखणे, प्रकार आणि दाखवलेले नाव असते. ओळखण्याच्या आधारे स्क्रिप्ट लिहा, कारण दाखवलेले नाव म्हणजे कोणीतरी सिस्टीम सेटिंग्जमध्ये टाइप केलेले आणि ते पूर्वसूचनेशिवाय बदलू शकते. स्थिती आदेश एक शब्द छापतो आणि काही सेवा प्रकारांसाठी त्यानंतर आकडेवारी; संपूर्ण आउटपुटमध्ये नाव शोधण्याऐवजी तोच पहिला शब्द जुळवा, कारण नाव इतरत्रही येते.

सेवा सुरू केल्यास अधिकृततेची विनंती येऊ शकते किंवा प्रोफाइल व्यवस्थापित असल्यास थेट नकार दिला जाऊ शकतो. तो नकार बोगद्यातील बिघाड नाही; तो कोणाला तो वर करण्याची परवानगी आहे याबद्दलचे धोरण विधान आहे.

तृतीय-पक्ष क्लायंट यादीतून लपतो

रिकामी यादी म्हणजे VPN नाही असे नाही. सिस्टीमच्या स्वतःच्या नेटवर्क सेटिंग्जमध्ये तयार केलेल्या संरचना येथे दिसतात; विक्रेत्याचा क्लायंट, व्यवस्थापन प्रोफाइल किंवा तृतीय-पक्ष अ‍ॅप हा आदेश कधीही न पाहणारा सक्रिय बोगदा ठेवू शकतात. स्वतःच्या सेवेसाठी स्वतःचे साधन अधिकारी आहे. त्याच्याकडे कधीही नोंदणी न केलेल्या क्लायंटबद्दल scutil ला विचारल्यास काहीच मिळत नाही, आणि काहीच न मिळणे हे डिस्कनेक्टेडसारखे उत्तर नाही.

यादी रिकामी असताना रहदारी स्पष्टपणे एन्क्रिप्टेड असेल, तर इंटरफेस शोधा: अपेक्षित श्रेणीतील पत्ता असलेले utun किंवा ppp उपकरण हे काहीतरी बोगदा उभारल्याचा पुरावा आहे. हा सेवा-स्थितीपेक्षा कमकुवत संकेत आहे, म्हणून इंटरफेसला ओळखीचा पुरावा मानण्याऐवजी तो मार्ग तपासणीसोबत जोडा. अनेक क्लायंट असे अनेक इंटरफेस तयार करू शकतात, आणि त्यातील फक्त एकच तुम्ही अपेक्षिलेल्या बोगद्याचा आहे.

स्थिती म्हणजे मार्गनिर्देशन नाही

जोडलेली सेवा सांगते की बोगदा अस्तित्वात आहे. तुमचे गंतव्य त्याचा वापर करते असे ती सांगत नाही. पत्ते वाचा, मग कर्नेलला थेट विचारा:

ifconfig | grep -A4 utun
netstat -rn -f inet
route -n get 10.40.0.20

पूर्ण बोगद्याचा क्लायंट बोगद्यातून डीफॉल्ट मार्ग बसवतो; विभागलेल्या बोगद्याचा क्लायंट विशिष्ट खाजगी उपसर्ग बसवतो. दोन्ही Connected सांगतात, आणि फक्त स्थिती तपासणारी स्क्रिप्ट आनंदाने चुकीच्या मार्गाने जाईल. बोगदा थांबवल्याने दुसऱ्या क्लायंटने बसवलेले मार्ग काढले जातीलच असे नाही, आणि यंत्र एकाच वेळी जोडलेली सेवा आणि जुना मार्ग अशा स्थितीत पोहोचण्याचा हा एक मार्ग आहे. तुम्हाला महत्त्वाचे असलेले गंतव्य पहा, संपूर्ण मार्ग सारणी नाही.

नावे देणे ही वेगळी समस्या आहे

इतर यंत्रे Mac पर्यंत नावाने पोहोचू शकत नाहीत तर त्याचा पत्ता चालतो, आणि हे VPN चा बिघाड म्हणून नोंदवले जाते. स्थानिक होस्ट नाव, होस्ट नाव आणि DNS नोंद या तीन वेगळ्या गोष्टी आहेत. scutil --get LocalHostName Bonjour नाव दाखवते; sudo scutil --set HostName mac-office सिस्टीम सांगते ते नाव सेट करते.

यापैकी कोणतीही सेटिंग कार्यालयीन झोनमध्ये नोंद तयार करत नाही. इतर होस्टना नाव DNS द्वारे सोडवायचे असेल, तर झोनच्या मालकाने ते जोडले पाहिजे, किंवा स्क्रिप्टने त्याऐवजी पत्ता वापरावा. स्थिर नाव सेट केल्याने घोषणा सुसंगत राहतात; त्यामुळे रिझॉल्व्हर उत्तर देतो असे होत नाही.

स्क्रिप्टमध्ये सेवा ओळखणे आणि अपेक्षित मार्गाचा आकार एकत्र नोंदवा, आणि कॉपीपूर्वी दोन्ही तपासा. सुरू असलेला पण चुकीच्या दिशेने मार्गनिर्देशित बोगदा बोगदाच नसल्यासारखाच अयशस्वी होतो, आणि Connected असे सांगणारी लॉग ओळ पुढच्या व्यक्तीला चुकीच्या ठिकाणी शोधायला पाठवेल.

संबंधित लेख