ఏదో ఒక డిప్లాయ్ స్క్రిప్ట్‌లో కాపీ ప్రారంభం కాకముందు టన్నెల్ పని చేస్తోందా అని తనిఖీ ఉంటుంది. మూడు సమాధానాలు అందుబాటులో ఉన్నాయి, అవి ఒకే విషయాన్ని సూచించవు: 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 అని చెప్పే లాగ్ పంక్తి తదుపరి వ్యక్తిని తప్పు ప్రదేశంలో వెతకడానికి పంపుతుంది.

సంబంధిత వ్యాసాలు