మీ Mac ఒక విధాన స్క్రిప్ట్‌ను డౌన్‌లోడ్ చేసి, ఆ స్క్రిప్ట్‌ను అభ్యర్థన ఏ మధ్యవర్తిని ఉపయోగించాలని అడుగుతుంది, అయితే టన్నెల్ ఎంచుకున్న హాప్‌ను ఎలా చేరుకోవాలో మాత్రమే నిర్ణయిస్తుంది. రెండు సమాధానాలు ఒకే సాకెట్‌కు చేరుతాయి, కాబట్టి రెండూ విజయవంతమైన తర్వాత విఫలమయ్యే అభ్యర్థన రెండు ఉన్నా ఒకటిగానే కనిపిస్తుంది. డౌన్‌లోడ్‌ను ఎంపిక నుండి, ఎంపికను మార్గం నుండి వేరు చేయడమే ఈ టికెట్లలో ఎక్కువ పని. క్రింది క్రమం macOS నిజంగా చేసేదాన్ని అనుసరిస్తుంది, ప్రతి దశను కనిపించేలా చేసే తనిఖీలతో.

PAC చిరునామా మరియు ప్రాక్సీ ఎక్కడ విభేదిస్తాయి

https://config.corp.example/proxy.pac వంటి చిరునామా డౌన్‌లోడ్ చేయాల్సిన పత్రాన్ని పేర్కొంటుంది, ఆ పత్రం ట్రాఫిక్ పంపాల్సిన సర్వర్‌ను పేర్కొంటుంది. URLను ప్రాక్సీ హోస్ట్ ఫీల్డ్‌లో అతికించడం, అలాంటి కనెక్షన్‌ను ఎప్పుడూ వినని ఫైల్ సర్వర్‌కు ప్రాక్సీ కనెక్షన్ తెరవమని క్లయింట్‌ను కోరుతుంది. ఫైల్ లోపల క్లయింట్ ప్రతి అభ్యర్థనకు పిలిచే ఫంక్షన్ ఉంది, దాని రిటర్న్ విలువ ఆ ఒకే గమ్యానికి తదుపరి హాప్. ఈ పరోక్షత ఒకే నెట్‌వర్క్ సేవపై ఉన్న రెండు మెషీన్లు, రెండూ సరైన URL కలిగి ఉన్నా, ఎందుకు భిన్నంగా ప్రవర్తించగలవో వివరిస్తుంది. ప్రాక్సీని ఎవరూ తాకకుండానే విధాన మార్పు ఎందుకు అమలులోకి వస్తుందో కూడా ఇది వివరిస్తుంది.

క్రింద ఏదైనా వివరించే ముందు స్క్రిప్ట్ చదవండి, ఎందుకంటే లోపలి నియమాలు సంస్థ మినహాయింపులను మరియు అవి వర్తించే క్రమాన్ని మోసుకొస్తాయి. ముందస్తు విస్తృత పరిధి తర్వాతి అంతర్గత ప్రత్యయాన్ని కప్పివేయవచ్చు, ప్రాక్సీని స్పష్టంగా దాటవలసిన హోస్ట్ దాన్ని ఇంకా ఉపయోగిస్తూనే ఉంటుంది. విధానం తప్పు అని ఎవరైనా పట్టుబట్టినప్పుడు, ఆ వాదన పరిష్కారమయ్యే ఏకైక స్థలం స్క్రిప్ట్.

ఏదైనా నిర్ణయించే ముందు స్క్రిప్ట్ తెచ్చుకోవాలి

విధానాన్ని డౌన్‌లోడ్ చేయడానికి పరిష్కరించిన పేరు మరియు ఫైల్‌ను అందించే దానికి మార్గం కావాలి, కనెక్ట్ అయిన టన్నెల్ రెండింటినీ హామీ ఇవ్వదు. హోస్ట్ ప్రైవేట్ DNS ద్వారా మాత్రమే పరిష్కరించబడితే, ఆ క్షణంలో ఉపయోగిస్తున్న రిజాల్వర్ డౌన్‌లోడ్ ప్రారంభమవుతుందా అని నిర్ణయిస్తుంది. హోస్ట్ ప్రైవేట్ పరిధిలో ఉంటే, మార్గం ఈ మెషీన్ నుండే ఉండాలి, సహోద్యోగి ల్యాప్‌టాప్ నుండి కాదు. మునుపటి సెషన్‌లో కాష్ చేసిన కాపీ కాష్ ముగిసే వరకు లేదా మెషీన్ రీస్టార్ట్ అయ్యే వరకు ఇవన్నీ దాచుతుంది.

క్రింది మూడు తనిఖీలను క్రమంగా నడపండి మరియు మొదటి వైఫల్యం వద్ద ఆపండి, ఎందుకంటే దశలకు ఒకే కారణం లేదు. కలిసి అవి విధానం కాన్ఫిగర్ అయిందా, చేరుకోగలమా, ఏమి తిరిగి ఇస్తుందో చూపుతాయి.

scutil --proxy
networksetup -getautoproxyurl "Wi-Fi"
curl -sS -o /dev/null -w "%{http_code}\n" https://config.corp.example/proxy.pac

మొదటి ఆదేశం యాక్టివ్ సేవకు ప్రాక్సీ నిఘంటువును ముద్రిస్తుంది, సిస్టమ్ ఉంచుకున్న ఏదైనా ఆటో-కాన్ఫిగరేషన్ URLతో సహా. రెండవది ఒక పేరున్న సేవకు జోడించిన URLను నివేదిస్తుంది, ఇది Wi-Fi మరియు Ethernet మధ్య తిరిగే ల్యాప్‌టాప్‌లో ముఖ్యం. మూడవది ఫైల్‌ను రెండర్ చేయకుండా తెస్తుంది, కాబట్టి 404, టైమ్‌అవుట్ మరియు రిజాల్వర్ వైఫల్యం వేరుగా గుర్తించబడతాయి. ఆ చివరి ఆదేశం స్క్రిప్ట్‌ను తిరిగి ఇచ్చినా యాప్‌లు ఇంకా విఫలమైతే, సమస్య ఇప్పటికే తెచ్చుకోవడాన్ని దాటింది.

DIRECT సమాధానం నిజంగా ఏమి దాటవేస్తుంది

PAC స్పెసిఫికేషన్ క్లయింట్‌కు చిన్న పదజాలాన్ని ఇస్తుంది, DIRECT దాని పదాలలో ఒకటి. ఆ పదం ఆ అభ్యర్థనకు ప్రాక్సీని దాటవేయమని క్లయింట్‌కు చెబుతుంది, తర్వాత సాకెట్ ఏ ఇంటర్‌ఫేస్ ఉపయోగిస్తుందో గురించి ఏమీ చెప్పదు. పూర్తి టన్నెల్‌పై నేరుగా సాకెట్ అయినా VPN ద్వారానే బయటకు వెళ్తుంది, గమ్యానికి టన్నెల్ నిర్గమన చిరునామానే చూపిస్తుంది.

DIRECT ను VPN వెలుపల ఉన్నట్టు చదవడమే ప్రజలను తప్పు సెట్టింగ్‌ల ప్యానెల్‌కు పంపే పొరపాటు. అద్దం చిత్రం కూడా అంతే సాధారణం, ఎందుకంటే ప్రైవేట్ ప్రాక్సీని విభజిత మార్గం ద్వారా చేరుకోవచ్చు, మిగిలిన మెషీన్ టన్నెల్ వెలుపల ఉంటుంది. అప్పుడు గమ్యం నివేదించేది ప్రాక్సీ సొంత నిర్గమనానికి చెందుతుంది, అది మరో దేశంలో ఉండవచ్చు. ఒక అంతర్గత హోస్ట్ మరియు ఒక పబ్లిక్ హోస్ట్ కోసం ఆశను రాయడం దీన్ని త్వరగా బయటపెడుతుంది, ఎందుకంటే స్క్రిప్ట్ తరచుగా రెండింటికీ భిన్నంగా సమాధానం ఇస్తుంది. ఏ హాప్ చిరునామాను సృష్టించిందో తెలిసిన తర్వాత, నివేదిక మర్మమైనది కాదు.

ఒకే లోపం పేజీగా కనిపించే మూడు వైఫల్యాలు

విధానం డౌన్‌లోడ్ విఫలమవచ్చు, ఎంచుకున్న ప్రాక్సీ అందుబాటులో లేకపోవచ్చు, సేవను చేరుకున్న అభ్యర్థన అక్కడే తిరస్కరించబడవచ్చు. మూడూ టైమ్‌అవుట్ లేదా సాధారణ లోపం పేజీగా వస్తాయి, ఏదీ విరిగిన దశను పేర్కొనదు. లోపం పక్కనే నిర్ణయాన్ని నమోదు చేయడమే వాటిని వేరు చేస్తుంది. క్రింది రెండు ప్రోబ్‌లు స్క్రిప్ట్ ఎంచుకున్న హాప్‌ను పరీక్షిస్తాయి, అది తిరిగి ఇవ్వగల ప్రతి శాఖకు ఒకటి.

curl -v --max-time 8 http://proxy.corp.example:8080/
curl -v --max-time 8 https://intranet.corp.example/

ప్రాక్సీకి పూర్తయిన కనెక్షన్ ప్రశ్నను ప్రామాణీకరణకు లేదా ప్రాక్సీ సొంత విధానానికి మారుస్తుంది, దానికి వేరే యజమాని ఉన్నాడు. మార్గంలో ప్రాక్సీ లేకుండా అంతర్గత హోస్ట్‌కు పూర్తయిన కనెక్షన్ మార్గాన్ని మినహాయించి విధానాన్ని సూచిస్తుంది. రెండు ఆదేశాలూ macOS ప్రాక్సీ నిఘంటువును విస్మరిస్తాయి, షెల్ ప్రాక్సీ వేరియబుల్స్‌ను ఎగుమతి చేయకపోతే, కాబట్టి ముందుగా వాటిని శుభ్రం చేయండి. రెండు ప్రోబ్‌లలో ఏదీ మరొకదాన్ని నిరూపించదు, అందుకే ఒక లోపం పేజీ ఇంత సేపు తప్పుదారి పట్టిస్తుంది.

టికెట్‌తో ఏమి అప్పగించాలి

యాక్టివ్ నెట్‌వర్క్ సేవ, PAC URL, విఫలమవుతున్న హోస్ట్ కోసం మూల్యాంకన ఫలితం మరియు లోపం కనిపించిన దశను పంపండి. ఈ నాలుగూ ఏ పొర ప్రమేయం ఉందో ఊహించకుండా తదుపరి వ్యక్తికి నిర్ణయాన్ని మళ్లీ సృష్టించే అవకాశం ఇస్తాయి. పరీక్ష సమయంలో టన్నెల్ స్థితిని జోడించండి, ఎందుకంటే తిరిగి కనెక్ట్ కాకముందు తీసుకున్న ఫలితం పాతది. స్క్రిప్ట్ సవరణను కూడా ఉంచండి, ఎందుకంటే విధాన ఫైల్ నోటీసు లేకుండా మారుతుంది, నిన్నటి సమాధానం ఇక చెల్లకపోవచ్చు.

స్క్రిప్ట్ తెచ్చుకోలేనప్పుడు క్లయింట్ ఎలా ప్రవర్తిస్తుందో నమోదు చేయండి, ఎందుకంటే అమలులు భిన్నంగా ఉంటాయి, ప్రాక్సీ నిర్ణయం మొత్తం పరికరం కిల్ స్విచ్ కాదు. కొన్ని నేరుగా కనెక్షన్‌కు తిరిగి వెళ్తాయి, మరికొన్ని మూసుకున్న స్థితిలో విఫలమవుతాయి, ఆ భేదం అంతరాయం విరిగిన ప్రాక్సీలా కనిపిస్తుందా లేక నడుస్తున్న విధానంలా కనిపిస్తుందా అనేది మారుస్తుంది. సంఘటన సమయంలో దానిపై ఆధారపడే ముందు ఖచ్చితమైన క్లయింట్ మరియు వెర్షన్ కోసం ప్రవర్తనను నిర్ధారించండి.

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