Yíyọ kóńpùtà kuro jẹ́ ìtọ́nisọ́nà ìpín ọ̀nà, kì í ṣe dídínà, nítorí náà àwọn ojú-ìwé tí ó ń gbé wọlé lẹ́yìn tí VPN so pọ̀ ni a retí, kì í ṣe ẹ̀rí ìkùnà. Yíyọkuro náà mú áàpù kúrò nínú ọ̀nà àbẹ̀wò dípò dídínà rẹ̀, ilé-ìṣẹ́ ìbánisọ̀rọ̀ déédéé sì ń gbé ìrìn àjò rẹ̀. Àwọn ìlànà méjì ọ̀tọ̀ọ̀tọ̀ pàdé níbí: ọ̀kan ń yan àwọn ìlànà iṣẹ́, èkejì ń yan àwọn ibi tí a ń lọ. Kíkà wọ́n ní ọ̀nà yẹn ṣàlàyé ìdí tí àmì tí ó so pọ̀ àti áàpù tí ń ṣiṣẹ́ kì í ṣe ìtakora.

Ìdí tí yíyọkuro fi ń pa íńtánẹ́ẹ̀tì mọ́ ní ṣíṣí

VpnService.Builder gba àkójọ àyè tàbí àkójọ ìdínà, kò gba méjèèjì rárá. Àwọn kóńpùtà tí ó wà nínú àkójọ àyè nìkan ni a ń gbà gba ọ̀nà àbẹ̀wò. Àkójọ ìdínà yí ìyẹn padà: gbogbo kóńpùtà yàtọ̀ sí àwọn tí a tò sílẹ̀ ń lo ọ̀nà àbẹ̀wò, àwọn tí a tò sílẹ̀ sì ń di ọ̀nà ti ara mú. Kóńpùtà tí a kò tò sílẹ̀ nínú àkójọ àyè pẹ̀lú wà níta ọ̀nà àbẹ̀wò, nítorí náà yíyọkuro ni ipò déédéé fún ọ̀pọ̀lọpọ̀ áàpù ní ipò yẹn.

Ìyẹn sọ àkọsílẹ̀ ìdínà àdúgbò di ìpinnu ìpín ọ̀nà, kì í ṣe òfin odi iná. Bí ohun tí a béèrè bá ni díddá áàpù lókun láti dé ọ̀gá ilé, ọ̀nà àbẹ̀wò gbọ́dọ̀ bo ó, olùpínà tàbí ìlànà àdúgbò sì gbọ́dọ̀ kọ ìrìn àjò náà. Yíyọ áàpù kúrò nínú ọ̀nà àbẹ̀wò ń yí i nìkan nípa ibi tí ó ń gbé àwọn kóńpùtà rẹ̀.

Ọ̀ràn Play Store ni àpẹẹrẹ àfẹ̀yìntì tí a mọ̀ọ́mọ̀ yàn. Yíyọ kóńpùtà ilé-ìtajà kuro ń jẹ́ kí àwọn ìgbàsílẹ̀ lo ìsopọ̀ tí ó wà nísàlẹ̀ nígbà tí ojú-ìjáde VPN bá dí ìgbékalẹ̀, ó sì fi hàn pé yíyọkuro túmọ̀ sí yíyẹ kúrò, kì í ṣe dídínà.

Ètò kan, àkójọ kan

Olùkọ́ ilé ń ju ìyàsọ́tọ̀ jáde bí a bá lo àwọn ìpè méjèèjì, nítorí náà ètò tí ó wà níwájú rẹ jẹ́ àkójọ àyè tàbí àkójọ ìdínà. Òtítọ́ kan náà ni ó ń pinnu bí a ṣe ń ka gbogbo àkíyèsí tí ó tẹ̀lé. Ṣàyẹ̀wò kóòdù tàbí ìṣètò tí a ń darí ṣáájú tábìlì ìpín ọ̀nà, nítorí àkójọ ni ó ń pinnu ìtumọ̀ ìyókù àwọn ìjáde. Ètò àdàpọ̀ kì í ṣe ipò tí o lè máa wò.

Ìyàtọ̀ náà tún sọ àsọtẹ́lẹ̀ ohun tí áàpù tuntun tí a fi sórí ẹ̀rọ yóò ṣe. Nínú àkójọ àyè ó dúró níta títí ẹnìkan yóò fi kún un, nígbà tí nínú àkójọ ìdínà ó ń darapọ̀ mọ́ ọ̀nà àbẹ̀wò ní àìpé.

Àwọn ìṣètò tí a ń darí ń fi irú yíyàn kan náà hàn lábẹ́ orúkọ kọ́kọ́rọ́ ọ̀tọ̀ọ̀tọ̀, àwọn kọ́nsọ́lù kan sì ń ṣàpèjúwe rẹ̀ gẹ́gẹ́ bí ipò VPN fún áàpù kọ̀ọ̀kan dípò àkójọ. Ìhùwàsí ṣì ń padà sí àwọn ìpè méjì yẹn, nítorí náà tẹ̀lé ìṣètò náà padà dé àkójọ kóńpùtà dípò gbẹ́kẹ̀lé àmì. Bí àmì àti àkójọ kò bá bára mu, àkójọ ni ó ń ṣẹ́gun.

Tẹ̀lé òfin UID dé tábìlì ọ̀nà àbẹ̀wò

Android ń fún áàpù kọ̀ọ̀kan ní ID olùlò Linux tirẹ̀, iṣẹ́ VPN sì ń fi àwọn òfin ìlànà tí ó bá àwọn ìlà UID mu sórí ẹ̀rọ. Ìrìn àjò tí ó bá mu ni a ń rán sí tábìlì ìpín ọ̀nà tí ọ̀nà àìpé rẹ̀ ń tọ́ka sí ẹ̀rọ tun. Nọ́mbà tábìlì ni a ń pín fún ìgbà kọ̀ọ̀kan VPN, nítorí náà ó ń yí padà lẹ́yìn àtúnso pọ̀ tàbí lẹ́yìn ṣíṣe ètò VPN kejì.

Ìjáde àwọn òfin ni maapu. Ìlà kọ̀ọ̀kan ń dárúkọ tábìlì ìwákiri kan, tábìlì yẹn sì ń di ọ̀nà àìpé tí ó ń pinnu bí àwọn kóńpùtà tí ó bá mu yóò wọ inú ọ̀nà àbẹ̀wò.

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

Ṣe àṣẹ kẹta kíákíá láti gba UID, lẹ́yìn náà wá òfin tí ìlà rẹ̀ ní í nínú. Òfin yẹn ń tọ́ka sí nọ́mbà tábìlì kan, àti ip route show table <n> pẹ̀lú nọ́mbà yẹn ń fi hàn bí ọ̀nà àìpé wà nípasẹ̀ ẹ̀rọ tun tàbí rárá. Bí tábìlì kò bá ní àìpé, a ti yan áàpù ṣùgbọ́n kò ní ọ̀nà, ìyẹn ni ìkùnà mìíràn.

Àwọn àṣẹ wọ̀nyí nílò ìkọ́ tí a lè ṣàyẹ̀wò àṣìṣe rẹ̀ tàbí ẹ̀rọ tí adb shell lè ka ipò íńtánẹ́ẹ̀tì lórí. Lórí fọ́nù ìṣelọ́pọ̀ olùdarí kóńpùtà ṣì ń dáhùn, ṣùgbọ́n a lè kọ̀ ìgbéléwọ̀n ìpín ọ̀nà, nítorí náà kọ sílẹ̀ ohun tí o lè ṣe kí o sì ka ìyókù gẹ́gẹ́ bí ohun tí a kò tíì fi hàn.

Ọ̀nà ń béèrè ìpìlẹ̀ ọ̀rọ̀, kì í ṣe áàpù

Builder.addRoute ń béèrè àwọn ìpìlẹ̀ ibi tí a ń lọ fún ọ̀nà àbẹ̀wò. 10.0.0.0/8 Ètò tí ó kàn ń kún un nìkan ń rán ìpìlẹ̀ yẹn gba ọ̀nà àbẹ̀wò, ó sì ń fi gbogbo ibi mìíràn sílẹ̀ lórí ọ̀nà ti ara. Ìyẹn ni ìpín ọ̀nà àbẹ̀wò déédéé, kò sì sinmi lórí irú áàpù tí àwọn òfin yàn.

Ìṣètò tí olùpínà fi ránṣẹ́ ń ṣàfihàn irú àwòṣe kan náà. Àwọn ìtẹ̀jáde ọ̀nà kọ̀ọ̀kan ń kún àwọn ìpìlẹ̀, nígbà tí ìtọ́nisọ́nà redirect-gateway ń rọ́pò ọ̀nà àìpé tí ó sì ń mú gbogbo nǹkan fún àwọn áàpù tí ọ̀nà àbẹ̀wò bo. Yíyọ ìtọ́nisọ́nà yẹn kúrò lè dín ọ̀nà àbẹ̀wò tí ń ṣiṣẹ́ kù sí ìsopọ̀ kékeré kan láìsí ìyípadà kankan lórí ẹ̀rọ.

Ọ̀nà tí a ránṣẹ́ pẹ̀lú ẹnubodè tàbí ìwọ̀n ìdíwọ̀n àìdéédéé lè tún kùnà láti gbé sórí ẹ̀rọ. Yan ìrísí ìpìlẹ̀ tí ó rọrùn kí o sì fi ìránṣẹ́ àti NAT sílẹ̀ fún olùpínà.

Ka ìpàdé náà kí o tó yí ìṣètò padà

Ọ̀nà àbẹ̀wò ń gbé ìpàdé àwọn ìlànà iṣẹ́ tí a bo àti àwọn ibi tí a béèrè. Áàpù tí a bo tí ó béèrè àdírẹ́sì níta àwọn ìpìlẹ̀ tí a tẹ̀ jáde ń jáde gba íńtánẹ́ẹ̀tì ti ara. Kóńpùtà tí a dínà wà níta pàápàá nígbà tí ó béèrè àdírẹ́sì nínú àwọn ìpìlẹ̀ yẹn. Kò sí ọ̀kan nínú àwọn ọ̀ràn méjèèjì tí ó jẹ́ àṣìṣe; méjèèjì ni àwọn ìlànà méjì tí ń ṣe iṣẹ́ wọn.

VPN fún áàpù kọ̀ọ̀kan tún lè fi áàpù tí ó so mọ́ ọn sílẹ̀ láìsí ìsopọ̀. Nígbà tí on-demand wà ní àìtàn, tí ọ̀nà àbẹ̀wò sì wà nísàlẹ̀, áàpù náà ń dúró ní ìdè mọ́ VPN fún áàpù kọ̀ọ̀kan, kò sì ní ọ̀nà àbọ̀, èyí tí ó dà bí áàpù tí ó ti bàjẹ́ dípò ipò ìlànà. Yíyan on-demand tàbí yíyọ ìsopọ̀ kúrò nípasẹ̀ ìṣàkóso ń yí ìyẹn padà.

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

Ṣàyẹ̀wò àròyé kan ní àkókò kan. Kọ́kọ́ jẹ́rìí àyè tàbí ìdínà, kẹ́ẹ̀kejì ka àwọn òfin UID àti àwọn tábìlì tí a fi sórí ẹ̀rọ, ní ìparí dan áàpù kejì wò lórí ibi kan náà. Áàpù kejì ń ya yíyan ìlànà iṣẹ́ sótọ̀ kúrò nínú yíyan ibi nínú ìbéèrè kan ṣoṣo.

Kọ àbájáde sílẹ̀ gẹ́gẹ́ bí áàpù, ibi àti nọ́mbà tábìlì. Àwọn mẹ́ta yẹn ni ohun tí ìyípadà tí ó tẹ̀lé gbọ́dọ̀ pa mọ́.

Àwọn àpilẹ̀kọ tó jọra