మినహాయించిన యాప్ ఇప్పటికీ ఆన్లైన్లో ఉందా? యాప్ మరియు మార్గ నియమాలు భిన్నం
Android యాప్ను VPN నుండి మినహాయించడం దాన్ని బ్లాక్ చేయదు. అనుమతి జాబితాలు, UID నియమాలు మరియు పంపిన మార్గాలు మార్గంలోని వేర్వేరు భాగాలను నిర్ణయిస్తాయి.
ప్యాకేజీని మినహాయించడం బ్లాక్ కాదు, రూటింగ్ సూచన, కాబట్టి VPN కనెక్ట్ అయిన తర్వాత లోడ్ అయ్యే పేజీలు ఆశించినవి, వైఫల్యానికి సాక్ష్యం కాదు. మినహాయింపు యాప్ను బ్లాక్ చేయడానికి బదులు సొరంగం నుండి తీసేస్తుంది, సాధారణ నెట్వర్క్ దాని ట్రాఫిక్ను మోస్తుంది. ఇక్కడ రెండు వేర్వేరు విధానాలు కలుస్తాయి: ఒకటి ప్రక్రియలను ఎంచుకుంటుంది, మరొకటి గమ్యాలను. వాటిని ఆ క్రమంలో చదవడం కనెక్ట్ అయిన చిహ్నం మరియు పనిచేస్తున్న యాప్ వైరుధ్యం ఎందుకు కాదో వివరిస్తుంది.
మినహాయింపు నెట్వర్క్ను ఎందుకు తెరిచి ఉంచుతుంది
VpnService.Builder అనుమతి జాబితా లేదా నిషేధ జాబితా ఒకటే తీసుకుంటుంది, రెండూ ఎప్పటికీ తీసుకోదు. అనుమతి జాబితాలోని ప్యాకేజీలు మాత్రమే సొరంగం ద్వారా వెళ్తాయి. నిషేధ జాబితా దాన్ని తిప్పికొడుతుంది: జాబితా చేసినవి తప్ప ప్రతి ప్యాకేజీ సొరంగాన్ని ఉపయోగిస్తుంది, జాబితా చేసినవి భౌతిక మార్గాన్ని ఉంచుకుంటాయి. అనుమతి జాబితాలో లేని ప్యాకేజీ కూడా సొరంగం వెలుపల ఉంటుంది, కాబట్టి ఆ మోడ్లో చాలా యాప్లకు మినహాయింపు సాధారణ స్థితి.
ఇది స్థానిక నిషేధ నమోదును ఫైర్వాల్ నియమం కాకుండా రూటింగ్ నిర్ణయంగా చేస్తుంది. యాప్ ఒక హోస్ట్ను చేరుకోకుండా ఆపడమే అవసరమైతే, సొరంగం దాన్ని కవర్ చేయాలి, సర్వర్ లేదా స్థానిక విధానం ట్రాఫిక్ను తిరస్కరించాలి. యాప్ను సొరంగం నుండి తీసేయడం దాని ప్యాకెట్లను ఏ ఇంటర్ఫేస్ మోస్తుందో మాత్రమే మారుస్తుంది.
Play Store సంఘటన సాధారణ ఉద్దేశపూర్వక ఉదాహరణ. స్టోర్ ప్యాకేజీని మినహాయించడం, VPN నిష్క్రమణ బదిలీలకు ఆటంకం కలిగించినప్పుడు డౌన్లోడ్లు అంతర్లీన కనెక్షన్ను ఉపయోగించడానికి అనుమతిస్తుంది, మరియు మినహాయింపు అంటే బ్లాక్ కాదు, ప్రక్కదారి అని చూపిస్తుంది.
ఒక ప్రొఫైల్, ఒక జాబితా
రెండు కాల్స్ ఉపయోగిస్తే బిల్డర్ మినహాయింపు విసురుతుంది, కాబట్టి మీ ముందున్న ప్రొఫైల్ అనుమతి జాబితా లేదా నిషేధ జాబితా. ఆ ఒక్క వాస్తవం తర్వాతి ప్రతి పరిశీలనను ఎలా చదవాలో నిర్ణయిస్తుంది. రూటింగ్ పట్టికకు ముందు కోడ్ లేదా నిర్వహిత కాన్ఫిగరేషన్ను తనిఖీ చేయండి, ఎందుకంటే జాబితానే మిగిలిన అవుట్పుట్ అర్థాన్ని నిర్ణయిస్తుంది. హైబ్రిడ్ ప్రొఫైల్ మీరు చూడగలిగే స్థితి కాదు.
ఈ భేదం కొత్తగా ఇన్స్టాల్ చేసిన యాప్ ఏమి చేస్తుందో కూడా అంచనా వేస్తుంది. అనుమతి జాబితాలో ఎవరైనా చేర్చే వరకు అది బయట ఉంటుంది, నిషేధ జాబితాలో డిఫాల్ట్గా సొరంగంలో చేరుతుంది.
నిర్వహిత కాన్ఫిగరేషన్లు అదే ఎంపికను వేరే కీ పేర్లలో చూపుతాయి, కొన్ని కన్సోల్లు దాన్ని జాబితాగా కాకుండా ప్రతి యాప్ VPN మోడ్గా వివరిస్తాయి. ప్రవర్తన ఏమైనా ఆ రెండు కాల్స్కే సంకోచిస్తుంది, కాబట్టి లేబుల్ను నమ్మడం బదులు సెట్టింగ్ను ప్యాకేజీ జాబితా వరకు వెనక్కి ట్రేస్ చేయండి. లేబుల్ మరియు జాబితా సరిపోకపోతే జాబితా గెలుస్తుంది.
UID నియమాన్ని అనుసరించి సొరంగ పట్టిక వరకు వెళ్లండి
Android ప్రతి యాప్కు దాని స్వంత Linux వినియోగదారు ID ఇస్తుంది, VPN సేవ UID పరిధులకు సరిపోయే విధాన నియమాలను ఇన్స్టాల్ చేస్తుంది. సరిపోయే ట్రాఫిక్ డిఫాల్ట్ మార్గం tun పరికరాన్ని సూచించే రూటింగ్ పట్టికకు పంపబడుతుంది. పట్టిక సంఖ్య ప్రతి VPN ఇన్స్టాన్స్కు కేటాయించబడుతుంది, కాబట్టి మళ్లీ కనెక్ట్ అయిన తర్వాత లేదా రెండవ VPN ప్రొఫైల్ సృష్టించిన తర్వాత అది మారుతుంది.
నియమాల అవుట్పుట్ మ్యాప్. ప్రతి పంక్తి ఒక శోధన పట్టికను పేర్కొంటుంది, ఆ పట్టిక సరిపోయే ప్యాకెట్లు సొరంగంలోకి ప్రవేశిస్తాయో లేదో నిర్ణయించే డిఫాల్ట్ మార్గాన్ని ఉంచుతుంది.
adb shell ip rule show
adb shell ip route show table all
adb shell cmd package list packages -U | grep <package>
UID పొందడానికి మొదట మూడవ ఆదేశాన్ని అమలు చేయండి, తర్వాత దాని పరిధిలో ఉన్న నియమాన్ని కనుగొనండి. ఆ నియమం ఒక పట్టిక సంఖ్యను సూచిస్తుంది, మరియు ip route show table <n> ఆ సంఖ్యతో tun పరికరం ద్వారా డిఫాల్ట్ మార్గం ఉందో లేదో చూపుతుంది. పట్టికలో డిఫాల్ట్ లేకపోతే, యాప్ ఎంపికైంది కానీ మార్గం లేదు, అది వేరే వైఫల్యం.
ఈ ఆదేశాలకు డీబగ్ చేయగల బిల్డ్ లేదా adb shell నెట్వర్క్ స్థితిని చదవగల పరికరం అవసరం. ఉత్పత్తి ఫోన్లో ప్యాకేజీ మేనేజర్ ఇప్పటికీ సమాధానం ఇస్తుంది, కానీ రూటింగ్ తనిఖీ తిరస్కరించబడవచ్చు, కాబట్టి సాధ్యమైనది నమోదు చేసి మిగిలినదాన్ని ధృవీకరించనిదిగా పరిగణించండి.
మార్గం యాప్ కాదు, ప్రిఫిక్స్ కోరుతుంది
Builder.addRoute సొరంగం కోసం గమ్య ప్రిఫిక్స్లను కోరుతుంది. 10.0.0.0/8 మాత్రమే జోడించే ప్రొఫైల్ ఆ ప్రిఫిక్స్ను సొరంగం ద్వారా పంపి మిగిలిన ప్రతి గమ్యాన్ని భౌతిక మార్గంలో వదిలివేస్తుంది. ఇది సాధారణ విభజిత సొరంగీకరణ, మరియు నియమాలు ఏ యాప్లను ఎంచుకున్నాయనే దానిపై ఆధారపడదు.
సర్వర్ పంపిన కాన్ఫిగరేషన్ అదే నమూనాను ప్రతిబింబిస్తుంది. వ్యక్తిగత మార్గ పుష్లు ప్రిఫిక్స్లను జోడిస్తాయి, redirect-gateway ఆదేశం డిఫాల్ట్ మార్గాన్ని భర్తీ చేసి సొరంగం కవర్ చేసే యాప్లకు అన్నింటినీ పట్టుకుంటుంది. ఆ ఆదేశాన్ని తీసివేయడం పరికరంలో ఎలాంటి మార్పు లేకుండా పనిచేస్తున్న సొరంగాన్ని ఒక సబ్నెట్కు కుదించగలదు.
అసాధారణ గేట్వే లేదా మెట్రిక్ అర్హతతో పంపిన మార్గం కూడా ఇన్స్టాల్ కాకపోవచ్చు. సాధారణ ప్రిఫిక్స్ రూపాన్ని ఇష్టపడండి మరియు ఫార్వార్డింగ్ మరియు NAT సర్వర్కు వదిలేయండి.
సెట్టింగ్ మార్చడానికి ముందు ఖండనను చదవండి
సొరంగం కవర్ చేసిన ప్రక్రియలు మరియు కోరిన గమ్యాల ఖండనను మోస్తుంది. ప్రచురిత ప్రిఫిక్స్ల వెలుపల చిరునామా అడిగే కవర్ చేసిన యాప్ భౌతిక నెట్వర్క్ ద్వారా బయటకు వెళ్తుంది. నిషేధించిన ప్యాకేజీ ఆ ప్రిఫిక్స్ లోపల చిరునామా అడిగినా బయటే ఉంటుంది. రెండూ బగ్ కాదు; రెండూ ఆ రెండు విధానాలు తమ పని చేస్తున్నాయి.
ప్రతి యాప్ VPN సంబంధిత యాప్ను కనెక్టివిటీ లేకుండా కూడా వదిలేయగలదు. on-demand ఆఫ్లో ఉండి సొరంగం కింద ఉన్నప్పుడు, యాప్ ప్రతి యాప్ VPN కు కట్టుబడి ఉంటుంది మరియు ప్రత్యామ్నాయ మార్గం ఉండదు, అది విధాన స్థితి కాదు, పాడైన యాప్లా కనిపిస్తుంది. on-demand ఆన్ చేయడం, లేదా నిర్వహణ ద్వారా సంబంధాన్ని తీసివేయడం, దాన్ని మారుస్తుంది.
| Layer | What it selects | Where to look | Typical mismatch |
|---|---|---|---|
| Package list | Processes | Builder calls or managed configuration | App excluded but expected to be blocked |
| UID policy rule | Which table a UID uses | ip rule show | Tunnel icon on, app still on Wi-Fi |
| Routing table | Destinations for matched traffic | ip route show table <n> | Covered app reaches only one subnet |
| Server push | Prefixes offered to the client | Server route configuration | Tunnel shrinks after a server edit |
ఒకసారి ఒక అక్షాన్ని నిర్ధారణ చేయండి. మొదట అనుమతి లేదా నిషేధాన్ని నిర్ధారించండి, రెండవదిగా ఇన్స్టాల్ చేసిన UID నియమాలు మరియు పట్టికలను చదవండి, చివరగా అదే గమ్యానికి వ్యతిరేకంగా రెండవ యాప్ను పరీక్షించండి. రెండవ యాప్ ఒకే అభ్యర్థనలో ప్రక్రియ ఎంపికను గమ్య ఎంపిక నుండి వేరు చేస్తుంది.
ఫలితాన్ని యాప్, గమ్యం మరియు పట్టిక సంఖ్యగా రాయండి. తదుపరి మార్పు సంరక్షించాల్సినది అదే త్రికం.