root ń yí padà irú àwọn iṣẹ́ nẹ́tíwọ́kì tí ìlànà kan lè gbìyànjú. Kò fún fọ́nù ní àdírẹ́sì tí gbogbo ènìyàn lè dé, kò dá àfihàn tí ń wọlé pamọ́ ní ọ̀dọ̀ olùpèsè, kò sì pa daemon mọ́ láàyè lẹ́yìn àtúnbí. Tí ẹ bá ń pinnu bóyá fọ́nù Android lè ṣiṣẹ́ gẹ́gẹ́ bí sáfà VPN, ya àwọn ìbéèrè mẹ́ta sọ́tọ̀: ṣé alábàáṣepọ̀ tí a ń retí lè dé ọ̀dọ̀ olùgbọ́ rárá, irú àwòṣe àṣẹ wo ni ìmúṣẹ sáfà nílò, àti kí ni a gbọ́dọ̀ gbé jáde lẹ́yìn tí ọ̀nà ojú ìlà ti dúró.

Ta ni ó gbọ́dọ̀ dé fọ́nù, àti láti ibo

Alábàáṣepọ̀ kan tí ó wà ní LAN kan náà tí a fọwọ́ sí àti alábàáṣepọ̀ kan tí ó wà lórí dátà alágbèéká ń dán àwọn nẹ́tíwọ́kì méjì ọ̀tọ̀ọ̀tọ̀ wò. Kọ́kọ́ pinnu èyí tí a ń retí, nítorí àwọn ìdáhùn kò gbé ara wọn lọ. Ní Wi-Fi, ìrìnàjò tí ń wọlé láìbéèrè sábà nílò àfihàn kan lórí olùdarí òkè àti ọ̀nà gbogbo ènìyàn tí ó ṣe é lò ní ibi tí ó kọjá. Ní nẹ́tíwọ́kì alágbèéká, NAT ní ìpele olùpèsè túmọ̀ sí pé IPv4 tí ń wọlé kì í sábà wà, ohunkóhun tí fọ́nù bá gbà.

Gbólohùn ìpẹ̀yìn yẹn ni ohun tí root kò lè kan. Ògiri iná àdúgbò fọ́nù àti NAT olùpèsè jẹ́ ètò ọ̀tọ̀ọ̀tọ̀, yíyí èkíní padà kò ní ipa lórí èkejì. Àdírẹ́sì ojú ìlà àdáni, àmì dátà alágbèéká tàbí socket tí ń gbọ́rọ̀ kì í ṣe ẹ̀rí ìdé ọ̀dọ̀. Tí ọ̀nà olùpèsè bá ṣì ń pèsè IPv6 tí a lè darí rẹ̀ kárí ayé, ẹ ṣì nílò ìlànà olùgbọ́ àti ògiri iná tí a mọ̀ọ́mọ̀ dá fún un; níní àdírẹ́sì kì í ṣe bí gbígba àwọn ìsopọ̀.

Client pathWhat actually decides reachability
Same LANThe phone's listener and its local firewall
Wi-Fi, from the internetA mapping on the upstream router plus a usable public path beyond it
Cellular IPv4The carrier's NAT, which the handset does not control
Cellular IPv6Address, listener and firewall policy together

Ìránṣẹ́ àti gbígbé jáde jẹ́ àṣeyọrí méjì ọ̀tọ̀ọ̀tọ̀

Ìfọwọ́ sowọ́pọ̀ VPN tí ó parí ń fi hàn pé ọ̀nà ojú ìlà wà. Kò fi hàn pé alábàáṣepọ̀ lè dé LAN tí ó wà lẹ́yìn fọ́nù, bẹ́ẹ̀ ni kò fi hàn pé fọ́nù lè ṣiṣẹ́ gẹ́gẹ́ bí ibi tí a ti ń jáde sí íńtánẹ́ẹ̀tì. Àwọn wọ̀nyí jẹ́ ìṣètò ọ̀tọ̀ọ̀tọ̀ tí a kọ́ lórí ètò àdírẹ́sì inú, àwọn ọ̀nà, ìhùwàsí ìpadà àti ìlànà gbígbé jáde tí ó ní ààlà fún iṣẹ́ tí ẹ fẹ́ ní ti tòótọ́.

Irú ìkùnà jẹ́ ohun tí a lè sọ tẹ́lẹ̀: ìfọwọ́ sowọ́pọ̀ ń ṣàṣeyọrí, alábàáṣepọ̀ fi hàn pé ó ti so, kò sì sí ohun tí ń gbé wọlé. Kí ẹ tó yanjú alábàáṣepọ̀, pinnu ipa wo nínú àwọn ipa méjì tí ẹ ń kọ́. Ìwọlé látọ̀ọ́kè sí ẹ̀rọ kan lórí nẹ́tíwọ́kì fọ́nù àti ìjáde sí íńtánẹ́ẹ̀tì nípasẹ̀ ọ̀nà ojú ìlà kíkún nílò àwọn òfin gbígbé jáde ọ̀tọ̀ọ̀tọ̀, ìfúnni ní méjèèjì nígbà tí ẹ fẹ́ ọ̀kan ń mú ìfarahàn gbòòrò láìfi agbára tí ẹ béèrè kún un.

Àwòṣe àṣẹ jẹ́ àṣàyàn, kì í ṣe root tàbí kò sí nkankan

Daemon OpenVPN àṣà tí ó ń lo ẹ̀rọ TUN kérnéèlì nílò àwọn agbára tí ó bá a mu, ààyè sí ipade ẹ̀rọ àti ìfọwọ́sowọ́pọ̀ láti ìlànà ààbò Android. root kì í ṣe àyọkùrò gbogbogbò láti SELinux; ìlànà tí ó ní àṣẹ ṣì wà lábẹ́ ààlà ìlànà pẹpẹ. Ìdí nìyẹn tí fáìlì bínárì tí ó ń ṣiṣẹ́ dáadáa lórí sáfà Linux lè kùnà lórí fọ́nù láìsí àṣìṣe tí ó yé nípa àwọn ààyè.

Ìmúṣẹ ẹnubodè nínú ààyè olùlò lè ní àwòṣe àṣẹ tí ó yàtọ̀ pátápátá, nítorí náà ìsọ pé gbogbo sáfà VPN lórí Android nílò root gbòòrò jù. Ohun tí root ń rà fún ọ ni agbára láti gbìyànjú àwọn iṣẹ́ púpọ̀ sí i, kì í ṣe ìdánilójú pé a máa gbà wọ́n tàbí pé àbájáde máa dé ọ̀dọ̀.

Ìforúkọsílẹ̀ iṣẹ́ VPN ti Android fúnra rẹ̀ jẹ́ ọ̀nà mìíràn. Ó ń fún àppù ní ojú ìlà alábàáṣepọ̀ tí a ń darí pẹ̀lú ìgbésí ayé tí a ti tójú; kì í ṣe olùgbékalẹ̀ sáfà gbogbogbò, bíbẹ̀rẹ̀ daemon láti tẹ́mínàlì kò sì fún un ní ìdarí àìdúró, ìlànà fún àppù kọ̀ọ̀kan tàbí ọ̀nà ìgbapadà tirẹ̀.

Tí ẹ bá fẹ́ ibi ìjáde, yí ìkọ́lé padà

Nígbà tí èròǹgbà kàn jẹ́ ìjáde íńtánẹ́ẹ̀tì látọ̀ọ́kè nípasẹ̀ fọ́nù, tí kì í ṣe ìbámu pẹ̀lú profáìlì OpenVPN tí ó wà, ipade ìjáde tí a ṣètìlẹ́yìn nínú nẹ́tíwọ́kì ìbòrí ni àpẹẹrẹ tí ó yẹ jù. Tailscale ń ṣàkọsílẹ̀ ipá ipade ìjáde Android pẹ̀lú àwọn ìgbésẹ̀ ìforúkọsílẹ̀, ìfọwọ́sí àti yíyan alábàáṣepọ̀ tirẹ̀.

Pàṣípààrọ̀ náà jẹ́ ojúlówó ó sì yẹ kí a sọ ní kedere: ẹ gba èdè ìbánisọ̀rọ̀ mìíràn, àwòṣe ìgbẹ́kẹ̀lé mìíràn àti ìgbẹ́kẹ̀lé lórí àkọsílẹ̀ àti iṣẹ́ ìṣọ̀kan yẹn. Kò mú kí alábàáṣepọ̀ OpenVPN tí a kò yí padà darapọ̀ mọ́ nẹ́tíwọ́kì ìbòrí, kò sì fún ọ ní olùgbọ́ OpenVPN lórí àdírẹ́sì gbogbo ènìyàn.

Ohun tí ìgbékalẹ̀ ṣì nílò

Ọ̀nà yówù tí ẹ bá yàn, àwọn ìpìlẹ̀ ìṣiṣẹ́ ni ó pinnu bóyá yóò dúró fún ọ̀sẹ̀ kan. Tọ́jú àwọn ẹ̀rí sáfà ní àdáni, pèsè àwọn ìdánimọ̀ alábàáṣepọ̀ ọ̀tọ̀ọ̀tọ̀, kí ẹ sì gbérò fún ìfagilé kí ó tó di pé ẹ nílò rẹ̀. Pinnu bí àwọn ìmúdójúìwọ̀n ṣe ń dé, ohun tí ń jẹ́ kí iṣẹ́ náà máa ṣiṣẹ́ lẹ́yìn àti bí ó ṣe ń bọ̀ sẹ́wọ̀n lẹ́yìn àtúnbí tàbí ìyípadà nẹ́tíwọ́kì.

Yẹra fún àwọn ọ̀nà kúkúrú tí ó dàbí ìrọ̀rùn: fáìlì bínárì aláìyípadà tí ó ti gbó, orúkọ ojú ìlà tí a kọ mọ́ kóòdù àti script ìbẹ̀rẹ̀ tí ó ń pa ìlànà ògiri iná tí ó wà ré. Lẹ́yìn náà gba àbájáde nípasẹ̀ ìdánwò pàtó kan ṣoṣo: alábàáṣepọ̀ látọ̀ọ́kè tí a fọwọ́ sí dé orísun tí a ń retí, àwọn ibi tí a kò gbà kò sí ní ààyè, ẹ̀rọ sì ń padà wá fúnra rẹ̀ lẹ́yìn ìṣẹ̀lẹ̀ ìgbésí ayé tí a ṣètìlẹ́yìn. Ààyè root jẹ́ èròjà kan tí ó ṣeé ṣe nínú àbájáde yẹn, kì í sì í sábà jẹ́ èyí tí ó pinnu.

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