Android VPN profil: pronađite vlasnika pre uređivanja
Red VPN-a u sistemu skriva aplikaciju koja poseduje krajnju tačku, rute i ključeve. Identifikujte vlasnika, zatim uporedite traženo, primljeno i primenjeno stanje.
Android ekran VPN-a prikazuje jedan red sa imenom, ikonom ključa i možda prekidačem za stalno uključivanje. Retko 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 posledica je pitanje za runbook, a ne filozofsko: pre uređivanja preuzete datoteke ili traženja centralnog skladišta profila, otkrijte koja komponenta poseduje postavku koju želite da promenite.
Najpre odredite vrstu veze
Na istom ekranu postavki postoje najmanje tri rasporeda. Aplikacija može da koristi VpnService za izgradnju virtuelnog interfejsa i posedovanje protokola i privatne konfiguracije, uključujući lokalnu aplikaciju za filtriranje bez udaljenog izlaza. Android takođe može da obezbedi platformski IKEv2 profil kroz Ikev2VpnProfile, dostupan od API 30, gde platforma drži veći deo profila. A aplikacija provajdera može da prikaže sopstvenu listu servera i sastavi 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 primenjeno stanje. Ako red navodi paket koji prepoznajete, počnite od sopstvenog prikaza profila te aplikacije, a ne od sistemskog ekrana.
Zabeležite vlasnika i obim profila
Zapišite četiri činjenice pre bilo kakve promene: 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 da obezbedi VPN radnog profila koji korisnik ličnog profila ne može da uređuje, a ista aplikacija instalirana dva puta daje vam dva nezavisna vlasnika.
Ovaj korak sprečava najčešći 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 traženo, primljeno i primenjeno stanje
To su tri različite faze, a nesklad među njima vam govori koju komponentu treba popraviti.
| Stage | Where to look | What it proves |
|---|---|---|
| Requested | The app's profile editor or imported file | What the owner intends to use |
| Received | Sanitized app log of server-supplied options | What the peer actually pushed |
| Applied | Link properties and routes after connect | What the device is really using |
Primenjena faza je ona koju možete da posmatrate bez poverenja u bilo čiji dnevnik. Uporedite DNS servere i rute u svojstvima aktivnog linka sa onima koje profil tvrdi; ako se razlikuju, server je nešto poslao ili je aplikacija primenila 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 ovde nedostaje nikada nije primenjena; ruta koja je ovde ali nedostaje u uređivaču došla je odnekud drugde.
Uredite artefakt koji vlasnik zaista čita
Za uvezeni OpenVPN profil aplikacija obično drži sopstvenu kopiju. Kasnije uređivanje prvobitno preuzete datoteke ne menja sledeću vezu; koristite dokumentovani uređivač aplikacije ili ponovo uvezite i potvrdite koji je profil sada aktivan. To je razlika između menjanja datoteke i menjanja konfiguracije.
Aplikacije provajdera često sastavljaju postavke sa liste servera umesto da pišu datoteku koju korisnik može da uređuje. Odsustvo dugmeta za izvoz nije dokaz da je VPN lažan, a izvezena datoteka može da izostavi ključeve vezane za uređaj ili materijal za registraciju koji bi drugom uređaju trebao. Tretirajte izvoz i uvoz kao odvojene operacije sa sopstvenim 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 primer: ovaj profil prima privatnu DNS adresu od servera, ali predviđena radna aplikacija ne može da razreši svoju uslugu, a primenjena svojstva linka pokazuju taj razrešivač dok uređivač profila pokazuje drugi.
Držite akreditive izvan napomene. Rootovanje uređaja radi pretrage privatnog skladišta aplikacije nije potrebno za identifikaciju vlasnika, a pretpostavljena putanja do direktorijuma sa podacima nije podržan interfejs. Ako odgovor traži bajtove koje vidi samo aplikacija, zatražite od vlasnika dijagnostički izvoz umesto da ga improvizujete.
Kada je posao završen, zatvorite petlju: potvrdite naziv aktivnog profila, ponovo pročitajte primenjeno stanje i jednom se odspojite da proverite da li promena preživljava ponovno povezivanje. Postavka koja postoji samo u uređivaču nije primenjena.