ప్రతి కనెక్షన్ తర్వాత టైప్ చేసే మార్గం ఆ క్షణాన్ని పరిష్కరిస్తుంది, వారాన్ని కాదు. macOSలో, శాశ్వత ఎంపిక సాధారణంగా VPN సేవతో నిల్వ చేసిన ప్రిఫిక్స్, ఎందుకంటే సేవ ప్రతి కనెక్షన్లో దాన్ని మళ్లీ ఇన్స్టాల్ చేసి, సేవ ఆగినప్పుడు తీసివేస్తుంది. ప్రత్యామ్నాయాలు పరీక్ష కోసం తాత్కాలిక route add మరియు చర్చల తర్వాత మాత్రమే తెలిసే చిరునామాల కోసం కనెక్ట్ హుక్.

మార్గం సేవకు చెందుతుందో సెషన్కు చెందుతుందో నిర్ణయించండి

ప్రిఫిక్స్ దేనిపై ఆధారపడి ఉందో అడగండి. అది స్థానిక VPN సేవ వెనుక ఉన్న స్థిరమైన ప్రైవేట్ నెట్వర్క్ అయితే, మార్గం ఆ సేవకు చెందుతుంది. అది ప్రతి కనెక్షన్లో మారే పీర్ చిరునామాపై ఆధారపడి ఉంటే, హుక్ లేదా స్థితి-నడిచే పని మంచి యజమాని కావచ్చు. మీరు తదుపరి ఐదు నిమిషాలకు మాత్రమే మార్గాన్ని తనిఖీ చేస్తుంటే, తాత్కాలిక మార్గం సరిపోతుంది.

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

సెషన్తో బంధించిన మార్గం ఇంటర్ఫేస్కు చెందుతుంది, ఆ సంఖ్య నోటీసు లేకుండా మారుతుంది. పునఃకనెక్షన్ టన్నెల్కు మునుపటి సెషన్ ఉపయోగించిన దానికంటే వేరే utun పేరు ఇవ్వవచ్చు, ఇది హార్డ్కోడ్ చేసిన ఆదేశాన్ని ఏదీ సూచించని లేదా, ఇంకా దారుణంగా, మరో టన్నెల్ను సూచించే మార్గంగా మారుస్తుంది.

ప్రస్తుత మార్గం మరియు సేవ స్థితిని చదవండి

సిస్టమ్ నిజంగా ఉపయోగించే పేర్లతో ప్రారంభించండి. నెట్వర్క్ సెట్టింగ్లలోని సేవ పేరు క్రింది ఆదేశాలకు గుర్తింపు, మరియు ప్రస్తుత మార్గ పట్టిక కనెక్ట్ అయిన క్లయింట్ ఏమి ఇన్స్టాల్ చేసిందో చూపుతుంది. టన్నెల్ నడుస్తున్నప్పుడు రెండింటినీ చదవండి.

scutil --nc list
networksetup -listnetworkserviceorder
netstat -rn | head -30
route get 10.20.5.5

ఆ శోధన ఈ క్షణంలో ఈ చిరునామాకు కెర్నల్ ఏ గేట్వే మరియు ఇంటర్ఫేస్ను ఎంచుకుంటుందో చూపుతుంది. అది ఇప్పటికే టన్నెల్ను ఎంచుకుంటే, ప్రిఫిక్స్ కవర్ అయింది మరియు కొత్త మార్గం అనవసరం. అది స్థానిక రౌటర్ను ఎంచుకుంటే, టన్నెల్కు ఆ ప్రిఫిక్స్ లేదు.

కనెక్ట్ అయి ఉన్నప్పుడు పీర్ చిరునామాను గమనించండి. అది సేవతో బంధించిన మార్గంలో గేట్వే విలువ అవుతుంది, మరియు సాధారణంగా netstat -rn లో టన్నెల్ డిఫాల్ట్ మార్గానికి చూపే గమ్యం అదే.

networksetupతో ప్రిఫిక్స్ను నిల్వ చేయండి

networksetup సాధనం నెట్వర్క్ సేవకు అదనపు మార్గాలను జోడిస్తుంది. OfficeVPN అనే సేవకు మరియు టన్నెల్ పీర్ ద్వారా చేరే ప్రైవేట్ ప్రిఫిక్స్కు, రూపం ఇలా ఉంటుంది:

sudo networksetup -setadditionalroutes OfficeVPN 10.20.0.0 255.255.0.0 10.8.0.6
networksetup -getadditionalroutes OfficeVPN

సేవ పేరు తర్వాత ప్రతి త్రికం గమ్యాన్ని, దాని నెట్మాస్క్ను మరియు గేట్వేగా టన్నెల్ పీర్ను ఇస్తుంది. ఒక కాల్ అనేక ప్రిఫిక్స్లను మోయగలదు, ఖాళీ కాల్ నిల్వ చేసిన జాబితాను తుడుస్తుంది. పాఠకుడు ధృవీకరణ దశ; జాబితా ఖాళీగా ఉంటే, మీరు అనుకుంటున్న సేవకు సెట్టింగ్ వర్తించలేదు.

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

route addను పరీక్షకు మాత్రమే ఉపయోగించండి

నేరుగా మార్గం ప్రిఫిక్స్ శాశ్వతం చేయకముందే అది పనిచేస్తుందని నిరూపించడానికి ఉపయోగపడుతుంది. ఇంటర్ఫేస్ రూపం గేట్వే శోధనను నివారిస్తుంది:

sudo route -n add -net 10.20.0.0/16 -interface utun4

మార్గం తదుపరి పునఃకనెక్షన్లో అదృశ్యమవుతుంది మరియు ఈరోజు ఉన్న ఇంటర్ఫేస్ సంఖ్యపై ఆధారపడి ఉంటుంది. అది దీన్ని నిర్ధారణగా మారుస్తుంది, మోహరింపుగా కాదు. పరీక్ష పనిచేసి సేవతో బంధించిన మార్గం పనిచేయకపోతే, మొదట గేట్వే విలువను పోల్చండి; అదే ఎక్కువగా తప్పుగా ఉండే క్షేత్రం.

విభజన ప్రవర్తనను బలవంతం చేయడానికి VPN డిఫాల్ట్ మార్గాన్ని భర్తీ చేసే సలహాలపై జాగ్రత్తగా ఉండండి. పూర్తి టన్నెల్ను అమలు చేసే క్లయింట్ పునఃకనెక్షన్ లేదా విధాన రిఫ్రెష్ తర్వాత తన మార్గాలను మళ్లీ ఇన్స్టాల్ చేయవచ్చు, కాబట్టి మాన్యువల్ మార్పు నిశ్శబ్దంగా రద్దవుతుంది. కొన్ని ప్రైవేట్ ప్రిఫిక్స్లు రూటింగ్ సమస్య; పూర్తి-టన్నెల్ విధానానికి వ్యతిరేకంగా మొత్తం ఇంటర్నెట్ ట్రాఫిక్ను స్థానికంగా ఉంచడం సర్వర్-వైపు నిర్ణయం.

చిరునామా చర్చలు జరిగినప్పుడే హుక్ను ఎంచుకోండి

PPP ఆధారిత లింక్లకు, ఉదాహరణకు L2TP, లింక్ ఏర్పడిన తర్వాత macOS /etc/ppp/ip-up ను అమలు చేస్తుంది. స్క్రిప్ట్ ఇంటర్ఫేస్ పేరును మరియు చర్చలు జరిగిన స్థానిక మరియు దూర చిరునామాలను పొందుతుంది, కాబట్టి సర్వర్ కేటాయించిన పీర్పై ఆధారపడే మార్గాన్ని జోడించగలదు. స్థిర సేవ మార్గం వ్యక్తపరచలేని సందర్భం సరిగ్గా ఇదే.

IKEv2 మరియు విక్రేత క్లయింట్లు ఆ PPP మార్గాన్ని అసలే ఉపయోగించకపోవచ్చు, అంటే స్క్రిప్ట్ మొత్తం సెషన్లో నిశ్శబ్దంగా ఉండవచ్చు. అలా జరిగినప్పుడు, scutil --nc status ను అడిగి స్థితి మార్పుపై స్పందించే launchd పని చిన్న ఆలస్యంతో సమానమైన యంత్రాంగం.

మీరు ఏ హుక్ ఉపయోగించినా, దాన్ని ఐడెంపోటెంట్గా చేయండి మరియు అది తానే సృష్టించిన మార్గాలను మాత్రమే తీసివేయనివ్వండి. టన్నెల్ను ప్రస్తావించే ప్రతి మార్గాన్ని తొలగించే స్క్రిప్ట్ చివరికి VPN సర్వర్ను చేరగలిగేలా ఉంచే మార్గాన్ని కూడా తొలగిస్తుంది, మరియు కనెక్షన్ విజయవంతమైన వెంటనే పడిపోతుంది.

ప్రైవేట్ గమ్యం, సాధారణ బ్రౌజింగ్ మరియు పునఃకనెక్షన్ లేదా నిద్ర చక్రాన్ని తనిఖీ చేసి ముగించండి. తర్వాత scutil --dns ను పరిశీలించండి, ఎందుకంటే పేరు పరిష్కారం వేరే విధానం మరియు పనిచేసే మార్గం ప్రైవేట్ పేర్లు పరిష్కరించబడతాయని నిరూపించదు.

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