TAP tàbí TUN? Àwọn oníbàárà OpenVPN lórí Android àti àwọn sáfà tí ó ní afárá
TAP ń gbé àwọn férémù Ethernet, TUN ń gbé àwọn pákẹ́tì IP, àti pé ohun èlò Android ń gba irú èkejì nìkan. Fi àwọn méjèèjì wé, kí o sì tún ẹ̀gbẹ́ sáfà ṣe.
Profáìlì tí ó ń ṣiṣẹ́ lórí kọ̀mpútà àgbéǹgbà ń kùnà lórí fọ́nù. Ìgbésẹ̀ tí ó hàn gbangba ni láti yí ọ̀rọ̀ kan padà nínú ìṣètò oníbàárà. Ọ̀rọ̀ yẹn kò ní ṣèrànwọ́, nítorí pé àwọn ìpẹ̀kun méjèèjì kò ń sọ̀rọ̀ nípa irú ìrìnàjò kan náà.
TAP ń gbé àwọn férémù Ethernet. TUN ń gbé àwọn pákẹ́tì IP. Ohun èlò VPN Android ń gba ìfarahàn IP, èyí tí ó jẹ́ kí ọ̀kan nínú àwọn ìṣètò méjì ṣeéṣe tí èkejì kò ṣeéṣe, bó ti wù kí ìṣètò náà sọ.
Ìfiwéra náà kúrú, ṣùgbọ́n ó pinnu bóyá o lè tún èyí ṣe lórí fọ́nù tàbí o gbọ́dọ̀ yí iṣẹ́ náà padà.
Irú ọ̀nà méjì pẹ̀lú ẹrù oríṣiríṣi
Ìfarahàn TAP ń hu ìwà bí àdáptà Ethernet. Ó ń gbé férémù, ìyẹn ARP, ìkéde àti ohunkóhun mìíràn tí LAN ń gbé lábẹ́ IP. Èyí ni ó jẹ́ kí afárá ṣeéṣe: ọ̀nà náà ń fẹ̀ àgbègbè ìkéde kan, àwọn oníbàárà sì ń hu ìwà bí ẹni pé wọ́n so mọ́ ẹ̀rọ ìyípadà.
Ìfarahàn TUN ń gbé àwọn pákẹ́tì IP tí a dárúkọ sí i. Kò sí ìpele ìsopọ̀ láti jíròrò, kò sí ARP, kò sí ìkéde. Ìtọ́nà ń pinnu ohun tí ó ń wọ inú ọ̀nà náà, ìṣètò ẹ̀gbẹ́ sáfà sì ń lo àpòlúpòlú orílẹ̀-èdè dípò afárá.
Àwọn ìpẹ̀kun méjèèjì gbọ́dọ̀ fohùn ṣọ̀kan lórí èwo nínú àwọn méjì tí wọ́n ń ṣe. Yíyí dev tap padà sí dev tun ní ẹ̀gbẹ́ kan kò yí iṣẹ́ náà padà; ó ń ṣẹ̀dá oníbàárà tí ó ń retí ọ̀nà tí a tọ́nà àti sáfà tí ó ṣì ń fi férémù ránṣẹ́, ìfọwọ́sowọ́pọ̀ sì lè ṣàṣeyọrí nígbà tí kò sí ohun kan tí ó wúlò tí ó ń kọjá.
Ohun tí Android ń fún ohun èlò náà ní ti gidi
API VpnService ti pẹpẹ ń fún ohun èlò ní ìfarahàn àfọ̀mọ́ fún àwọn pákẹ́tì IP, tí a ṣètò pẹ̀lú àwọn àdírẹ́sì, àwọn ọ̀nà àti MTU. Kò sí àdáptà Ethernet nínú API yẹn, ohun èlò náà kò sì lè dá ọ̀kan.
Ìdí ni pé OpenVPN Connect ń ṣàkọsílẹ̀ àtìlẹ́yìn fún àwọn ìsopọ̀ TUN tí a tọ́nà lórí Android dípò afárá TAP. Àwọn ìbéèrè tí ó wọ́pọ̀ lórí Android ni àlàyé ẹ̀gbẹ́ oníbàárà lórí ààlà yìí, ó sì bá API pẹpẹ mu.
Àwọn irinṣẹ́ nẹ́tíwọ́kì tí ó ní àṣẹ root, fáḿùwéà tí a ṣe àkànṣe tàbí ọjà tí ó ń mú ìpele ìtumọ̀ tí ó ṣe kedere ṣiṣẹ́ jẹ́ àwọn ìṣètò mìíràn. Ọ̀ràn tí ó wọ́pọ̀ ni èyí tí ó yẹ kí a ṣètò fún: ohun èlò tí ó lè gbé fáìlì rẹ wọlé tí ó sì lè ṣiṣẹ́ gẹ́gẹ́ bí olùlò déédé, pẹ̀lú ìfarahàn IP àti kò sí ohun kan lábẹ́ rẹ̀.
Báwo ni ó ṣe máa rí nígbà tí o bá gbìyànjú bí ó ti wù kí ó rí
Ìsopọ̀ máa ń wáyé ní àkókò púpọ̀. Èyí ni ó ń jẹ́ kí ìkùnà náà dàrú: oníbàárà ń jábọ̀ pé ó ti sopọ̀, àkọsílẹ̀ sáfà ń fi alábàákẹ́gbẹ́ hàn, kò sì sí ohun èlò tí ó ń ṣiṣẹ́.
Ìrìnàjò tí a fi ránṣẹ́ sí àdírẹ́sì tí a yàn fún fọ́nù kò dé, nítorí pé sáfà ń gbé férémù kọjá sí àdírẹ́sì MAC tí fọ́nù kò ní rí. Ìwádìí tí ó gbára lé ìkéde wà ní òfìfo. Tí LAN bá gbára lé DHCP nípasẹ̀ afárá, fọ́nù kò ní gba ìyásọ́tọ̀ ní ọ̀nà yẹn, àdírẹ́sì tí a fi ọwọ́ yàn nínú àpòlúpòlú tí a ti ṣe afárá kò sì ṣẹ̀dá ìfarahàn tí ó ṣèé mi.
Àwọn oníbàárà kan kùnà kíákíá, nígbà gbígbé profáìlì wọlé, nígbà tí wọ́n bá rí irú ẹ̀rọ tí wọn kò lè mú ṣiṣẹ́. Àwọn ìwà méjèèjì túmọ̀ sí ohun kan náà, kò sì sí èyí tí a ń tún ṣe nípa fífi ọ̀nà kún, yíyí DNS padà tàbí fífẹ̀ ìwọ̀n àdírẹ́sì ọ̀nà náà.
Ohun tí ẹ̀gbẹ́ sáfà gbọ́dọ̀ yí padà
Àtúnṣe náà jẹ́ ti ẹni tí ó ń ṣiṣẹ́ iṣẹ́ VPN, ó sì sábà jẹ́ àfikún dípò ìṣíkiri. Ṣiṣẹ́ ẹ̀dá OpenVPN kejì pẹ̀lú ẹ̀rọ tí a tọ́nà, àpòlúpòlú oníbàárà tirẹ̀ àti ìṣètò ẹ̀gbẹ́ sáfà tí ó ń pín àwọn àdírẹ́sì tí ó sì ń ti àwọn ọ̀nà tí fọ́nù nílò. Ẹ̀dá afárá tí ó wà tẹ́lẹ̀ ń tẹ̀síwájú láti sin àwọn ẹ̀rọ tí ó nílò Ethernet ní ti gidi.
Àlàyé méjì ni ó ń jẹ́ kí èyí ṣiṣẹ́ ní ìgbà gidi. LAN nílò ọ̀nà ìpadàbọ̀ fún àpòlúpòlú oníbàárà tuntun, tí ó ń tọ́ka sí ẹ̀rọ VPN, bí bẹ́ẹ̀ kọ́ àwọn ìdáhùn kò ní padà wá. Àti pé ògiri iná lórí ẹ̀rọ ọ̀nà gbọ́dọ̀ gbé kọjá láàrin ìfarahàn ọ̀nà àti LAN, ìgbésẹ̀ tí a sábà gbàgbé nígbà tí ìdánwò láti ẹ̀rọ náà fúnra rẹ̀ bá ṣàṣeyọrí.
Tí olùṣiṣẹ́ kò bá lè fi iṣẹ́ kún, àṣàyàn mìíràn ni ẹ̀rọ tí ó lè dara pọ̀ mọ́ afárá, ìyẹn kọ̀mpútà àgbéǹgbà tàbí olùtọ́nà tí ó ń ṣiṣẹ́ ní orúkọ fọ́nù. Ìyẹn jẹ́ ọ̀nà àyíká pẹ̀lú ìnáwó ìṣàkóso tirẹ̀, kì í ṣe ìṣètò Android.
Pinnu láti inú ohun èlò, kì í ṣe láti inú ọ̀nà
Bèèrè ohun tí fọ́nù gbọ́dọ̀ dé ní ti gidi, kí o sì ṣe àwòrán rẹ̀. Pípín fáìlì tàbí ojú-ìwé intranẹ́ẹ̀tì tí a ń dé pẹ̀lú orúkọ tàbí àdírẹ́sì jẹ́ ohun tí IP nílò, ọ̀nà tí a tọ́nà sì ń tẹ́ ẹ lọ́rùn nígbà tí DNS bá yanjú orúkọ náà tí ọ̀nà sì wà. Irinṣẹ́ ìwádìí tí ó ń wo àgbègbè ìkéde àdúgbò kì í ṣe ohun tí IP nílò, kò sì sí ìwọ̀n ìtọ́nà tí yóò fọ́n ọ́n.
| Requirement | Tunnel that satisfies it |
|---|---|
| File server or intranet by hostname | Routed TUN, with working DNS |
| Broadcast or ARP-based discovery | Ethernet bridging, so not an ordinary Android client |
| Multicast delivery | Bridging or an explicit multicast relay |
| One application to one address | Routed TUN, narrowest possible route |
Tábìlì yẹn tún jẹ́ ìbéèrè tí a ó fi ránṣẹ́. Sọ orúkọ ohun èlò, àdírẹ́sì tàbí orúkọ tí ó ń lò, àti bóyá ó gbára lé ìwádìí. Olùṣiṣẹ́ lè ṣiṣẹ́ lórí àpèjúwe yẹn, ohun tí kò sẹ́ni tí ó lè ṣe lórí fọ́nù tí kò sopọ̀.
Níkẹyìn, pa iṣẹ́ TAP mọ́ fún àwọn ẹ̀rọ tí ó nílò rẹ̀ dípò fífipá mú gbogbo oníbàárà láti ṣe àfarawé àdáptà LAN. Iṣẹ́ méjì tí ó ní èròǹgbà tí ó ṣe kedere rọrùn láti tìlẹ́yìn ju ọ̀kan tí ó ń ṣiṣẹ́ ìdajì fún gbogbo ènìyàn.