Tunnelili iliyogawanywa kwa wateja wa hotspot si kutenga kwa kila programu
Kutenga programu moja kutoka VPN hubadilisha simu pekee. Kompyuta ya mkononi iliyounganishwa inahitaji kanuni yake ya uelekezaji, inayolinganishwa kwa chanzo, lengwa na NAT.
Mahitaji mawili yanayosikika sawa hayafanani: «tenga programu hii kutoka VPN» na «tuma lengwa hili moja nje ya VPN kwa kompyuta ya mkononi kwenye hotspot yangu». La kwanza hubadilisha jinsi soketi kwenye simu inavyochagua mtandao. La pili lazima libadilishe uamuzi wa uelekezaji kwa pakiti iliyokuja kutoka kifaa kingine baada ya simu kuikubali tayari. Kuchanganya mawili ndiko kunakofanya mteja wa hotspot kuishia na msamaha ambao daima ulihusu kivinjari cha simu yenyewe pekee.
Maswali mawili yanamilikiwa na mifumo midogo miwili
Android huweka kando mtandao wa programu na tethering. Soketi za programu hupewa mtandao na mkusanyiko wa muunganisho, na programu ya VPN huamua ni soketi zipi zake zinaingia kwenye handaki. Pakiti zinazoelekezwa kutoka mteja aliyeunganishwa hushughulikiwa na mfumo mdogo wa tethering, ambao huliza netd njia, kanuni za sera na tafsiri kwenye kiolesura cha chini.
Kutenga kwa kila programu hupimwa programu inapofungua soketi. Pakiti inayoelekezwa haifikii kamwe ukaguzi huo, kwa sababu haikutoka kwenye soketi ya programu kwenye kifaa hiki. Hiyo ndiyo sababu yote kwa nini mipangilio miwili haiwezi kuchukua nafasi ya mwingine, na hii si hitilafu katika yoyote kati yao.
Kutenga kwa kila programu hubadilisha nini hasa
Mjengaji wa VpnService anaweza kutaja pakiti zinazobaki nje ya handaki kwa addDisallowedApplication, au kutaja pakiti pekee zinazoruhusiwa ndani kwa addAllowedApplication. Programu hizo hufungua soketi kwenye mtandao wa msingi huku VPN ikiendelea kumiliki njia chaguo-msingi kwa kila kitu kingine.
Wigo ni sahihi: soketi za pakiti yenyewe, kwenye kifaa hiki, kwa muda wote handaki iko juu. Haisemi chochote kuhusu trafiki inayoelekezwa, chochote kuhusu kifaa cha pili na chochote kuhusu pakiti ambazo mfumo hutuma kwa niaba ya tethering.
Pia si udhibiti wa lengwa. Kutenga kivinjari hakutengi kila anwani ambayo kivinjari hicho hufikia, ikiwemo ile uliyotaka kuiacha ndani ya handaki. Mahitaji yanapotaja lengwa badala ya programu, kichaguzi cha programu ni chombo kisichofaa kwa muundo wake.
Pakiti iliyounganishwa inaonekanaje kwa simu
Pakiti ya mteja hufika kwenye kiolesura cha hotspot ikiwa na anwani ya chanzo ya faragha iliyotolewa na simu, tuseme 192.168.43.20, na lengwa la umma. Kuielekeza, simu inahitaji njia kuelekea kiungo cha juu na kanuni ya tafsiri ili majibu yapate njia ya kurudi, kwa sababu anwani ya faragha ya mteja haina maana kwenye mtandao wa selula.
Android huonyesha hilo kwa kanuni za sera zinazochagua jedwali la uelekezaji, na netd hujenga upya majedwali na kanuni husika mitandao na VPN vinapobadilika. Namba ya jedwali, kipaumbele cha kanuni au jina la kiolesura lililonakiliwa kutoka chapisho la jukwaa, au kutoka modeli hiyo hiyo katika toleo la zamani, haliweki umiliki wa kudumu. Ujenzi huo upya pia ni sababu kwa nini kanuni iliyoandikwa kwa mkono inaweza kufanya kazi saa moja na kusimama baada ya muunganisho unaofuata.
Sera gani inahitajika hasa kwa msamaha wa hotspot
Andika uamuzi kama chanzo, lengwa na njia inayokusudiwa kabla ya kugusa kanuni. Umbo la chini kabisa kwa lengwa moja lililoidhinishwa linaonekana hivi:
| Source | Destination | Intended path |
|---|---|---|
| One authorized hotspot client | One approved public service address | Ordinary cellular uplink |
| The same client | All other covered destinations | Shared VPN |
| The phone's own apps | Their existing destinations | Unchanged phone policy |
Mielekeo yote miwili lazima ikamilike. Tawi la moja kwa moja linahitaji njia inayoweza kutumika kupitia kiungo cha juu cha selula kinachotokea kuwa cha sasa; tawi la VPN linahitaji njia ya handaki pamoja na ruhusa ya kuelekeza. Tafsiri yoyote ya chanzo lazima ilingane na tokeo ulilochagua, kwa sababu NAT inayotumika kwenye kiolesura cha handaki huonyesha anwani ya handaki na si ile ya selula, na hapo njia ya kurudi haiwiani na njia ya kutoka.
Majibu lazima yafikie mteja huyohuyo wa chini kupitia hali inayofuatiliwa au njia iliyo wazi, na kihesabu cha pakiti zinazotoka hakithibitishi chochote kati ya hivyo. Weka pia usafirishaji wa nje wa VPN wenyewe nje ya wigo wa msamaha, vinginevyo pakiti za kubeba handaki hurithi sera iliyoandikwa kwa ombi la wavuti la mteja.
Anwani moja iliyonaswa si lengwa
Anwani moja ya IPv4 iliyosomwa kutoka kivinjari ni picha ya muda. Huduma kubwa hujibu kutoka anycast au kutoka seti inayozunguka ya anwani za ukingo, nyingi zina tabaka mbili, na mtiririko wa kuingia unaweza kugusa wenyeji wa uthibitishaji na telemetria ambao ukurasa hauonyeshi kamwe. Msamaha uliojengwa kuzunguka anwani uliyoiona kwa bahati huvunjika mara ijayo huduma inaposawazisha mzigo.
Tumia anwani zilizoandikwa za mmiliki wa huduma, au masafa anayoyachapisha, na zingatia familia zote mbili za anwani. Ikiwa hitaji haliwezi kuonyeshwa kama seti thabiti, huenda ni swali la sera kwa huduma na si hila ya uelekezaji kwenye simu.
Thibitisha kutoka upande wa chini
Ukaguzi tatu, kwa mpangilio huu: huduma iliyochaguliwa kutoka kompyuta ya mkononi, lengwa la kawaida ambalo lazima libaki ndani ya VPN, na programu ya simu ambayo lazima ibaki bila kuathiriwa. Kisha rudia baada ya muunganisho na baada ya mabadiliko ya kiungo cha juu, kwa sababu hapo ndipo majedwali ya sera hujengwa upya.
Ikiwa utekelezaji wa kushiriki wa simu hauwezi kushikilia mkataba huo katika muunganisho upya, hamisha sera teule kwenye kipanga njia cha chini kinachotumika badala ya kukusanya kanuni za root kwenye kifaa. Kipanga njia kinaweza kuonyesha ulinganifu wa chanzo na lengwa na mmiliki thabiti, na nyaraka za moduli ya tethering ndiyo rejea sahihi ya kile simu inachofanya hasa.