Android ekran VPN-a prikazuje jedan red s imenom, ikonom ključa i možda prekidačem za stalno uključivanje. Rijetko prikazuje krajnju tačku, politiku ruta, DNS servere ili akreditive koje omogućavaju vezu, jer u tunelu zasnovanom na aplikaciji one pripadaju aplikaciji. Praktična posljedica je pitanje za runbook, a ne filozofsko: prije uređivanja preuzete datoteke ili traženja centralnog spremišta profila, otkrijte koja komponenta posjeduje postavku koju želite promijeniti.

Najprije odredite vrstu veze

Na istom ekranu postavki postoje najmanje tri rasporeda. Aplikacija može koristiti VpnService da izgradi virtuelni interfejs i posjeduje protokol i privatnu konfiguraciju, uključujući lokalnu aplikaciju za filtriranje bez udaljenog izlaza. Android također može obezbijediti platformski IKEv2 profil kroz Ikev2VpnProfile, dostupan od API 30, gdje platforma drži veći dio profila. A aplikacija provajdera može prikazati vlastitu listu servera i sastaviti postavke interno.

adb shell dumpsys connectivity | grep -i -A12 "VPN"
adb shell cmd connectivity list-owners 2>/dev/null || true

Prva naredba prikazuje aktivnu VPN mrežu i svojstva njenog linka, što je primijenjeno stanje. Ako red navodi paket koji prepoznajete, počnite od vlastitog prikaza profila te aplikacije, a ne od sistemskog ekrana.

Zabilježite vlasnika i obim profila

Zapišite četiri činjenice prije bilo kakve promjene: paket vlasnik, da li veza živi u ličnom ili radnom profilu, naziv profila ili veze kako ga aplikacija prikazuje, i ko njime upravlja. Vlasnik uređaja može obezbijediti VPN radnog profila koji korisnik ličnog profila ne može uređivati, a ista aplikacija instalirana dvaput daje vam dva nezavisna vlasnika.

Ovaj korak sprečava najčešće izgubljeni sat, a to je uređivanje profila koji nije povezani. Aplikacije često drže nekoliko profila, a aktivni je svojstvo aplikacije, ne reda u Androidu.

Uporedite zatraženo, primljeno i primijenjeno stanje

To su tri različite faze, a nesklad među njima govori vam koju komponentu treba popraviti.

StageWhere to lookWhat it proves
RequestedThe app's profile editor or imported fileWhat the owner intends to use
ReceivedSanitized app log of server-supplied optionsWhat the peer actually pushed
AppliedLink properties and routes after connectWhat the device is really using

Primijenjena faza je ona koju možete posmatrati bez povjerenja u nečiji dnevnik. Uporedite DNS servere i rute u svojstvima aktivnog linka s onima koje profil tvrdi; ako se razlikuju, server je nešto poslao ili je aplikacija primijenila politiku koju niste očekivali.

adb shell ip addr show tun0
adb shell ip route show table all | head -40

Nazivi interfejsa se razlikuju među aplikacijama, zato prvo izlistajte interfejse i pročitajte onaj koji se pojavio kada se tunel povezao. Ruta koja postoji u uređivaču aplikacije ali ovdje nedostaje nikada nije primijenjena; ruta koja je ovdje ali nedostaje u uređivaču došla je odnekud drugdje.

Uredite artefakt koji vlasnik zaista čita

Za uvezeni OpenVPN profil aplikacija obično drži vlastitu kopiju. Kasnije uređivanje prvobitno preuzete datoteke ne mijenja sljedeću vezu; koristite dokumentovani uređivač aplikacije ili ponovo uvezite i potvrdite koji je profil sada aktivan. To je razlika između mijenjanja datoteke i mijenjanja konfiguracije.

Aplikacije provajdera često sastavljaju postavke s liste servera umjesto da pišu datoteku koju korisnik može uređivati. Odsustvo dugmeta za izvoz nije dokaz da je VPN lažan, a izvezena datoteka može izostaviti ključeve vezane za uređaj ili materijal za registraciju koji bi drugom uređaju trebao. Tretirajte izvoz i uvoz kao odvojene operacije sa vlastitim preduslovima.

Napišite napomenu za podršku bez otkrivanja tajni

Korisna napomena navodi tačnu aplikaciju i profil, postavku koja izgleda pogrešno i dokaze iz svake faze. Na primjer: ovaj profil prima privatnu DNS adresu od servera, ali predviđena radna aplikacija ne može razriješiti svoju uslugu, a primijenjena svojstva linka pokazuju taj resolver dok uređivač profila pokazuje drugi.

Držite akreditive izvan napomene. Rootovanje uređaja radi pretrage privatnog spremišta aplikacije nije potrebno za identifikaciju vlasnika, a pretpostavljena putanja do direktorija s podacima nije podržan interfejs. Ako odgovor traži bajtove koje samo aplikacija vidi, zatražite od vlasnika dijagnostički izvoz umjesto da ga improvizujete.

Kada je posao završen, zatvorite petlju: potvrdite naziv aktivnog profila, ponovo pročitajte primijenjeno stanje i jednom se odspojite da provjerite preživljava li promjena ponovno povezivanje. Postavka koja postoji samo u uređivaču nije primijenjena.

Povezani članci