Að útiloka pakka er leiðbeining um leiðsögn, ekki lokun, svo síðurnar sem hlaðast eftir að VPN tengist eru væntanlegar en ekki sönnun um bilun. Útilokunin fjarlægir appið úr göngunni í stað þess að loka henni, og venjulega netið ber umferð hennar. Hér mætast tvær aðskildar stefnur: önnur velur ferla, hin velur áfangastaði. Að lesa þær í þeirri röð skýrir hvers vegna tengt tákn og app sem virkar eru ekki mótsögn.

Hvers vegna útilokun heldur netinu opnu

VpnService.Builder tekur annaðhvort leyfislista eða bannlista, aldrei bæði. Aðeins pakkar á leyfislista fara í gegnum gönguna. Bannlisti snýr því við: sérhver pakki nema þeir skráðu notar gönguna, og hinir skráðu halda líkamlegu leiðinni. Pakki sem ekki er skráður undir leyfislista er líka utan göngunnar, svo útilokun er eðlilegt ástand fyrir flest app í þeim ham.

Það gerir staðbundna bannfærslu að ákvörðun um leiðsögn, ekki reglu í eldvegg. Ef krafan er að koma í veg fyrir að app nái hýsli verður gangan að ná yfir það og þjónninn eða staðbundin stefna að hafna umferðinni. Að fjarlægja app úr göngunni breytir aðeins hvaða tengi ber pakkana hennar.

Play Store-tilfellið er venjulega viljandi dæmið. Að útiloka pakka verslunarinnar leyfir niðurhalinu að nota undirliggjandi tengingu þegar útgangur VPN truflar flutning, og sýnir að útilokun þýðir framhjáhlaup en ekki lokun.

Eitt prófíl, einn listi

Byggirinn kastar undantekningu ef bæði köllin eru notuð, svo prófíllinn fyrir framan þig er annaðhvort leyfis- eða bannlisti. Sú eina staðreynd ræður því hvernig lesa skal hverja síðari athugun. Athugaðu kóðann eða stýrðu stillinguna á undan leiðatöflunni, því listinn ræður því hvað restin af úttakinu þýðir. Blendingsprófíll er ekki ástand sem hægt er að horfa á.

Munurinn spáir einnig fyrir um hvað nýuppsett app mun gera. Undir leyfislista helst hún utan við þar til einhver bætir henni við, en undir bannlista gengur hún í gönguna sjálfgefið.

Stýrðar stillingar sýna sama val undir mismunandi lyklanöfnum, og sumar stjórnborðir lýsa því sem VPN-ham fyrir hverja app frekar en sem lista. Hegðunin gengur samt út á þessi tvö köll, svo rekja stillinguna aftur að pakkalistanum í stað þess að treysta merkimiðanum. Ef merkimiðinn og listinn stangast á vinnur listinn.

Fylgdu UID-reglunni að töflu göngunnar

Android gefur hverju appi sitt eigið Linux-notandaaðkenni, og VPN-þjónustan setur upp stefnureglur sem passa við UID-bil. Umferð sem passar er send í leiðatöflu þar sem sjálfgefin leið bendir á tun-tækið. Tölunni er úthlutað fyrir hvert VPN-tilvik, svo hún breytist eftir endurtengingu eða eftir að önnur VPN-stilling er búin til.

Úttak reglnanna er kortið. Sérhver lína nefnir leitartöflu, og sú tafla geymir sjálfgefnu leiðina sem ákvarðar hvort passandi pakkar komast í gönguna.

adb shell ip rule show
adb shell ip route show table all
adb shell cmd package list packages -U | grep <package>

Keyrðu þriðju skipunina fyrst til að fá UID, finndu síðan regluna sem bilið hennar inniheldur. Sú regla bendir á töflunúmer, og ip route show table <n> með þeirri tölu sést hvort sjálfgefin leið liggur í gegnum tun-tækið. Ef taflan hefur enga sjálfgefna leið er appið valið en hefur enga leið, sem er önnur tegund bilunar.

Þessar skipanir þurfa byggingu sem hægt er að kemba eða tæki þar sem adb shell getur lesið netástand. Á framleiðslusíma svarar pakkastjórnandinn enn, en leiðskoðunin getur verið hafnað, svo skráðu það sem þú getur og meðhöndlaðu restina sem óstaðfesta.

Leið krefst forskeytis, ekki apps

Builder.addRoute krefst áfangaforskeyta fyrir gönguna. Prófíll sem bætir aðeins við 10.0.0.0/8 sendir það forskeyti í gegnum gönguna og skilur sérhvern annan áfangastað eftir á líkamlegu leiðinni. Það er venjuleg skipt göngulagning, og hún er óháð því hvaða app reglurnar völdu.

Stilling sem ýtt er frá þjóninum endurspeglar sama líkan. Einstakar leiðarýtingar bæta við forskeytum, en redirect-gateway-fyrirmæli koma í stað sjálfgefnu leiðarinnar og grípa allt fyrir appin sem gangan nær yfir. Að fjarlægja þau fyrirmæli getur minnkað virka göngu í eitt undirnet án nokkurrar breytingar á tækinu.

Ýtt leið með óvenjulegu gátt eða mælikvarða getur einnig mistekist að setjast upp. Veldu hina einföldu forskeytisform og láttu þjóninn sjá um áframsendingu og NAT.

Lestu sniðið áður en þú breytir stillingu

Gangan ber snið yfirvarinna ferla og krafinna áfangastaða. Yfirvarið app sem biður um vistfang utan birtu forskeytanna fer út um líkamlega netið. Bannaður pakki helst utan við jafnvel þegar hann biður um vistfang innan þeirra forskeyta. Hvort tveggja er ekki villa; bæði eru stefnurnar tvær að sinna sínu verki.

VPN fyrir hverja app getur líka skilið tengt app eftir án nettengingar. Þegar on-demand er slökkt og gangan er niðri helst appið bundið við VPN fyrir hverja app og hefur ekkert varaleið, sem lítur út eins og bilað app frekar en stefnuástand. Að kveikja á on-demand eða fjarlægja tenginguna í gegnum stjórnun breytir því.

LayerWhat it selectsWhere to lookTypical mismatch
Package listProcessesBuilder calls or managed configurationApp excluded but expected to be blocked
UID policy ruleWhich table a UID usesip rule showTunnel icon on, app still on Wi-Fi
Routing tableDestinations for matched trafficip route show table <n>Covered app reaches only one subnet
Server pushPrefixes offered to the clientServer route configurationTunnel shrinks after a server edit

Greindu einn ás í einu. Staðfestu leyfi eða bann fyrst, lestu uppsettu UID-reglurnar og töflurnar næst, og prófaðu annað app gegn sama áfangastað síðast. Annað appið aðgreinir ferlaval frá áfangastöðvali í einni beiðni.

Skrifaðu niðurstöðuna sem app, áfangastað og töflunúmer. Einmitt þessi þrennd er það sem næsta breyting verður að varðveita.

Tengdir greinar