Android VPN aplikazioka: aplikazio bat baztertzeak ez du blokeatzen
Pantailan ikusten den aplikazioko zerrenda tunel-jabe bakar batena da, eta aplikazio bat baztertzeak tunel horren inguruan bideratzen du, ez sareaz kanpo. Hasi han.
Bi pertsonek galdera bera egiten dute eta bateraezinak diren erantzunak jasotzen dituzte, leku ezberdinetan daudelako. Batek sistemaren VPN ezarpenen pantaila irekita du eta aplikazioen zerrenda bat editatzen ari da. Besteak VpnService.Builder.addDisallowedApplication() idazten du editore batean. Biek aplikazioko VPN iragazki deitzen diote. Horietako batek soilik dauka deskribatzen ari den kontrola, eta batek ere ez du ezer blokeatzen.
Hasi erabiltzaileak ikusten duen pantailan
Ireki Ezarpenak, aurkitu VPN sarrera eta begiratu benetan aktibo dagoen konexioa. Bezeroak aplikazioko zerrenda bat eskaintzen badu, zerrenda hori bezeroaren tunelarena da. Plataformak ez du API orokorrik argitaratzen aplikazio arrotz batek beste VPN baten aplikazio-hautaketa irakurri edo aldatu ahal izateko, beraz bigarren aplikazio batek ezin du zerrenda hori konpondu erabiltzailearentzat.
Hau da ibilbideko lehen sardea. Instalatutako VPNak ezarpen hori ez badu, ez dago ezer inguruan programatzeko: funtzioa tunelaren jabe den produktuan falta da. Badu, konponbide zuzena pantaila horretan dago, ireki dezakeen pertsonak eginda.
Jarraitu paketea tunel batera
Zure aplikazioak tunel bat eraikitzen duenean, TUN interfaze bat sortzen du eta zein aplikazioren trafikoa sartzen den adierazten du. Kidetasun-deiak interfazea ezarri aurretik gertatzen dira, eta ondoren arau-multzoa finkatuta geratzen da saio horretarako:
val builder = VpnService.Builder()
builder.addAddress("10.8.0.2", 32)
builder.addRoute("0.0.0.0", 0)
builder.addDisallowedApplication("com.example.bypass")
val tun = builder.establish() // membership decided hereDei horiek zure aplikazioak sortu berri duen tunelari aplikatzen zaizkio eta ez beste ezeri. Ez dira gailu osoko politika, ez dira beste bezeroentzat irauten, eta ezin dute inoren VPNera iritsi. Eraikitzailearen dei batek salbuespena jaurtitzen duenean paketea ebatzi ezin delako, interfazea ez da inoiz ezartzen, eta hori hutsegite garbia da, ez isila.
Zergatik zirudien bazterketak blokeo bat
Baztertutako aplikazio bat zure tunelaren inguruan bideratzen da azpiko sarera. Hori blokeatzearen kontrakoa da: trafikoa gailutik irteten da oraindik, zuk kontrolatzen duzun interfazetik kanpo. Su-hesi estiloko aplikazio batek alderantzizkoa egiten du. Aplikazioaren trafikoa bere tunelera onartzen du eta gero paketeak baztertu edo aurrera eramatera ukatzen du, beraz interfazea bera da eta politikaren norabidea alderantzikatuta dago.
Alderantzitze horren atzeko lana ez da konfigurazio-bandera bat. Tunelaren deskribatzailetik IP paketeak irakurtzen dituzu, fluxuz fluxu erabakitzen duzu, eta socket babestu batetik aurrera eramaten dituzu edo botatzen dituzu. Kudeatzen ez duzun guztia gelditu egiten da, eta horregatik erdi amaitutako tunel bat sare hautsia bezala ikusten da, iragazki funtzional bat bezala beharrean. Zure helburua blokeoa bada, aurreikusi paketeen kudeaketa, aurreko planoko zerbitzu bat eta sailkatu ezin duzun trafikoarentzako politika idatzi bat.
Zer hausten da zeuk eraikitzen duzunean
Androidek, oro har, VPN aktibo bakarra onartzen du aldi berean, beraz zure iragazteko tunelak eta pribatutasun tunelak leku beragatik lehiatzen dute, produktuek kateatzea onartzen ez badute. Beti aktibo dagoen VPNak konexioak blokeatuta huts egiteko modua aldatzen du, eta hemen garrantzitsua da: tunelera sartu ezin den trafikoa botatzen da zuzenean bidali beharrean, eta hori da ihesak saihesteko diseinu batek nahi duena eta arazketa saio batek gutxitan espero duena.
Paketeen ikusgaitasuna da bigarren tranpa. Aplikazio baten pakete-izena ebazteak NameNotFoundException errorearekin huts egin dezake, eta Android bertsio berriagoetan ikus ditzakezun paketeen multzoa deklaratu dituzun kontsulten araberakoa da. Kudeatu salbuespena izen guztiak ebazten direla suposatu beharrean, eta irakurri berriro zerrenda aplikazioak instalatu edo kentzen direnean, betiko cachean gorde beharrean.
Kudeatutako gailuek hirugarren jabe bat gehitzen dute. Enpresako mugikortasun politikak aplikazioko VPN bat edo beti aktiboko profila ezar dezake, eta aplikazio arrunt batek ezin du gainidatzi. Egiaztatu gailua kudeatuta dagoen zure kodea araztu aurretik, kasu horretan aldatzen saiatzen ari zaren zerrenda ezin baitute editatu telefonoa duen inork.
Probatu zuk kontrolatzen duzun aplikazio batekin
Ez probatu iragazi nahi duzun aplikazioarekin. Erabili sare-jokabidea behatu dezakezun bigarren aplikazio bat, eta egiaztatu haren trafikoa zure tunelatik irteten den helburukoak egiten ez duen bitartean. Biak barruan geratzen badira, politikak funtzionatzen du eta helburua baztertuta dago; bat ere irteten ez bada, tunela bera dago gaizki eta aplikazioen zerrenda ez da arazoa.
Gero erabaki hiru gauzetatik zein eraikitzen ari zaren. Aplikazioko tunela eraikitzailearen APIa da, zerrenda zure profilaren parte dela. Gailuko su-hesia paketeen kudeaketa gehi defenda dezakezun bizi-ziklo bat da. Inoren VPNa aldatzea ez da onartutako bide bat inola ere, eta han erantzun zintzoa da ezarpena produktu horrena dela.