Ọ̀rọ̀ VPN tí a kọ́ sínú ẹ̀rọ lórí Android ń bo nnkan méjì tí kò ní ìbáṣepọ̀: ìmúṣẹ ìlànà kan tí ẹ̀rọ pẹpẹ ń ṣiṣẹ́ ní orúkọ rẹ, àti irú ètò tí olùdá pinnu láti fi hàn. Ìwọ̀nyí kì í ṣe nnkan kan náà, kò sì sí ọ̀kan nínú wọn tí ó ń dá àbò bo pé ọ̀nà abẹ́lẹ̀ jẹ́ ti olùmúlò tí àwọn ètò í ṣe nílò rẹ̀. Ìṣètò ń ṣẹlẹ̀ nínú olùmúlò pàtó kan pẹ̀lú àpò ìpè pàtó kan, gbogbo nnkan tó ń tẹ̀lé sì ń jogún ipò yẹn. Ka ìlà ẹ̀tọ́ ìní kí o tó ka ojú ètò.

Ohun tí ẹ̀rọ pẹpẹ ń kọ́ fún ọ

Láti Android 11 ẹ̀rọ pẹpẹ ti ń ṣí ìṣètò VPN nípasẹ̀ VpnManager. Ètò í tí a fọwọ́ sí ń ṣàpèjúwe profáìlì IKEv2 kan, ẹ̀rọ pẹpẹ sì ń darí ìpààrọ̀ IPsec àti IKE fúnra rẹ̀, nítorí náà ètò í kò fi ọwọ́ kan àwọn pákẹ́tì rárá. Ìyẹn ni ìyàtọ̀ pàtàkì láti ètò í VPN tí ó kọ ara rẹ̀, tí ó ń mú VpnService ṣẹ́ àti kọ́ ọ̀nà abẹ́lẹ̀ nínú ìlana tirẹ̀.

val profile = Ikev2VpnProfile.Builder(serverAddress, identity)
    .setAuthUsernamePassword(user, secret, rootCa)
    .build()
getSystemService(VpnManager::class.java).provisionVpnProfile(profile)

Ìpè tó wà lókè jẹ́ àwòrán ìrísí kì í ṣe àkójọ láti dà, olùkọ́ náà ní ọ̀pọ̀ oríṣi ìjẹ́rìí, wọ́n yàtọ̀ ní ìbámu pẹ̀lú ìpele API, profáìlì náà sì tún gbé ohun èlò ìgbẹ́kẹ̀lé fún ìwé-ẹ̀rí sáfà. Ohun tí ó ṣe pàtàkì fún ìbéèrè ẹ̀tọ́ ìní kò gbòòrò tó ìkọ̀ọ́.

Ànímọ́ méjì ń jáde láti inú àbá yìí. Profáìlì jẹ́ dátà, nítorí náà olùṣàkóso lè ṣètò rẹ̀ dípò kíkọ pẹ̀lú ọwọ́. Ọ̀nà abẹ́lẹ̀ sì jẹ́ nẹ́tíwọ́kì ẹ̀rọ pẹpẹ, nítorí náà ó ń farahàn sí àwọn ètò í gẹ́gẹ́ bí nẹ́tíwọ́kì tí ó ní gbígbé VPN kì í ṣe sọ́kẹ́tì ètò í mìíràn.

Ẹ̀tọ́ ìní ni olùmúlò, lẹ́yìn náà àpò

Ọ̀pọ̀ olùmúlò Android jẹ́ ìpínyà gidi, kì í ṣe àmì. Profáìlì iṣẹ́ jẹ́ olùmúlò ọ̀tọ̀ tí ó ní àwọn àpò tí ó fi sórí ara rẹ̀, dátà ètò í tirẹ̀, keystore tirẹ̀ àti àwọn ìdìgbòlù ìgbẹ́kẹ̀lé tirẹ̀. Ọ̀nà kan náà tí a fi sórí ibi méjèèjì jẹ́ ẹ̀dá méjì pẹ̀lú àmì olùmúlò tí ó yàtọ̀, kódà nígbà tí àwọn àmì olùgbétò àti orúkọ ọjà bá jọra.

A ń kọ ìṣètò náà sí àpò ìpè nínú olùmúlò yẹn. Nítorí náà ètò í ìṣètò tí ń ṣiṣẹ́ nínú profáìlì àdáni ń dá ọ̀nà abẹ́lẹ̀ àdáni, àwọn ètò í iṣẹ́ nínú profáìlì iṣẹ́ kò sì rí nnkan kankan nínú rẹ̀. Ìdàkejì náà sì tọ́, ìdí niyẹn tí ọ̀nà abẹ́lẹ̀ profáìlì iṣẹ́ kò fi hàn sí àwọn ètò í àdáni láìsí ìlànà pàtó tí ó sọ bẹ́ẹ̀ kọ́.

Olùdarí ìlànà ẹ̀rọ lè ṣètò ní orúkọ profáìlì tí a ń ṣàkóso, èyí sì ṣàlàyé àkọsílẹ̀ tí ẹnikẹ́ni nínú ọ́fíìsì kò rántí ẹni tí ó dá a. Tí o bá ń ṣàyẹ̀wò fọ́nù kan, òun ni ẹni tí ó ṣe é ṣe kí ó ni profáìlì tí ó ti di ewú, kì í sì ṣe iṣẹ́ rẹ láti parẹ́ rẹ̀ gẹ́gẹ́ bí ìdánwò.

Ẹnubodè mẹ́ta kí pákẹ́tì tó gbéra

Ẹnubodè àkọ́kọ́ ni àṣẹ: ìṣàkóso gbọdọ̀ fàyè gba VPN pátápátá, àwọn ìgbékalẹ̀ kan sì ń dín irú rẹ̀ àti wíwà rẹ̀ kù. Èkejì ni ìdánimọ̀: ìwé-ẹ̀rí oníbàárà tàbí àwọn ẹ̀rí gbọdọ̀ wà nínú olùmúlò tí ó ni profáìlì, nítorí ìwé-ẹ̀rí tí a gbé wọlé keystore àdáni kò hàn sí profáìlì iṣẹ́.

Ẹ̀kẹta ni ìfọwọ́sí àti ìlànà. Olùmúlò sábà ń fọwọ́ sí ìsopọ̀ nígbà àkọ́kọ́ tí a bá lò ó, olùṣàkóso sì lè tún fi í mọ́lẹ̀ gẹ́gẹ́ bí ẹni tí ń ṣiṣẹ́ nígbà gbogbo, tí ó bá yẹ pẹ̀lú títìpa kí ìrìn kò lè jáde kúrò nínú ọ̀nà abẹ́lẹ̀. Àwọn ètò yẹn ń pinnu ohun tí ó ṣẹlẹ̀ nígbà tí ọ̀nà abẹ́lẹ̀ bá ṣubú, ìyẹn sì ni apá tí àwọn olùmúlò ń kíyèsí.

Ìwọ̀n ni ibi tí àwọn mẹ́tẹ̀ẹ̀ta ń pàdé. Profáìlì ń pinnu ẹnubodè àti ìdánimọ̀, nígbà tí ìpele ìlànà ń pinnu àwọn ètò í wo ni ó lè lo ọ̀nà abẹ́lẹ̀ àti bóyá a ń fipá mú ìrìn gba inú rẹ̀. Nítorí náà fọ́nù méjì tí ó ní àdírẹ́sì ẹnubodè kan náà lè hu ìwà tí ó yàtọ̀ pátápátá.

Ìdí tí ìsopọ̀ àdáni kò fi bo àwọn ètò í iṣẹ́

Ìrìn láti ètò í iṣẹ́ ń dà nínú olùmúlò iṣẹ́, ìlànà nẹ́tíwọ́kì tí ó wà lábẹ́ lílò sì ni èyí tí ó wà nínú olùmúlò yẹn. Ọ̀nà abẹ́lẹ̀ tí a dá nínú profáìlì àdáni kò gbé e, bó ti wù kí àmì náà dára tó. Òtítọ́ kan yẹn ń ṣàlàyé ọ̀pọ̀ jùlọ ìròyìn tí olùmúlò fi ń búra pé VPN ti so pọ̀ ṣùgbọ́n ètò í pàtó kan kò tíì dé iṣẹ́ inú.

Yíyanjá orúkọ ń tẹ̀lé ààlà kan náà. Àfikún DNS àdáni àti ìdìgbòlù ìgbẹ́kẹ̀lé jẹ́ ti olùmúlò kọ̀ọ̀kan, nítorí náà orúkọ olùgbàlejò inú tí ó ń yanjá nínú profáìlì àdáni lè kùnà nínú profáìlì iṣẹ́ kódà pẹ̀lú ọ̀nà abẹ́lẹ̀ tí ó dà bíi deede, nítorí ìlànà olùyánjá àti ibi ìpamọ́ CA jẹ́ nnkan ọ̀tọ̀.

Ṣàyẹ̀wò lórí ìforúkọsílẹ̀ gidi, kì í ṣe fọ́nù yàrá ìdánwò

Lórí ẹ̀rọ, kọ́kọ́ dámọ̀ ẹni tí ó ni àkọsílẹ̀ náà: olùmúlò wo, àpò wo, àti bóyá profáìlì náà wá láti ọ̀dọ̀ olùpèsè ẹ̀rọ pẹpẹ tàbí láti ètò í tí ń mú iṣẹ́ VPN tirẹ̀ ṣẹ́. Lẹ́yìn náà jẹ́rìí pé ìdánimọ̀ tí profáìlì ń retí wà ní tòótọ́ nínú keystore olùmúlò yẹn.

Dán ìyípo ìgbésí ayé wò, kì í ṣe ìsopọ̀ nìkan. Wọlé, ṣí ibi ìpamọ́ ẹ̀rí, jẹ́ kí profáìlì iṣẹ́ dúró fún àárọ̀, lẹ́yìn náà mú un padà wá kí o sì ṣàyẹ̀wò bóyá ọ̀nà abẹ́lẹ̀ ń padà wá láìsí títẹ̀ pẹ̀lú ọwọ́. Profáìlì iṣẹ́ tí ń pa nígbà tí àkókò iṣẹ́ bá kọjá ń gbé ọ̀nà abẹ́lẹ̀ rẹ̀ lọ, ìyẹn sì jẹ́ ìwà tí a retí kì í ṣe àìsàn, níwọ̀n bí a ti kọ ipò àìsí tí a retí sílẹ̀.

Níkẹyìn, dán ètò í iṣẹ́ fúnra rẹ̀ wò lòdì sí ojú-ìparí inú tí a mọ̀, kí o sì fi wé àbájáde profáìlì àdáni. Àwọn méjèèjì lè yàtọ̀; ohun tí kò gbọdọ̀ yàtọ̀ ni àwòrán ẹ̀tọ́ ìní. Tí ọ̀nà abẹ́lẹ̀ bá jẹ́ ti olùmúlò tí kò tọ́, fífún ìwé-ẹ̀rí ní tuntun kò ní tún un ṣe.

Má ṣe fipá mú ọ̀ràn náà nípa ṣíṣe àwọn ìgbésẹ̀ ètò tí ó farasin láti fi àkójọ hàn, má sì ṣe dà àwọn kọ́kọ́rọ́ àdáni láàrin àwọn profáìlì kí ìsopọ̀ lè hàn. Ìtọ́kasí VpnManager ń ṣàlàyé ohun tí ẹni tí ń pè lè ṣètò; tí ọ̀nà tí a fọwọ́ sí kò bá ní ọ̀ràn rẹ nínú, ìyẹn jẹ́ ìpinnu olùṣàkóso kì í ṣe ìṣòro ètò.

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