Android VPN-skjermen viser én rad med et navn, et nøkkelikon og kanskje en alltid på-bryter. Den viser sjelden endepunktet, rutepolicyen, DNS-serverne eller påloggingsinformasjonen som får tilkoblingen til å virke, fordi de i en appbasert tunnel tilhører appen. Den praktiske konsekvensen er et runbook-spørsmål, ikke et filosofisk: før du redigerer en nedlastet fil eller leter etter et sentralt profillager, finn ut hvilken komponent som eier innstillingen du vil endre.

Identifiser først tilkoblingstypen

Det finnes minst tre ordninger på samme innstillingsskjerm. En app kan bruke VpnService til å bygge et virtuelt grensesnitt og eie protokollen og den private konfigurasjonen, inkludert en lokal filtreringsapp uten fjernutgang. Android kan også klargjøre en plattform-IKEv2-profil via Ikev2VpnProfile, tilgjengelig fra API 30, der plattformen holder mer av profilen. Og en leverandørapp kan vise sin egen serverliste og sette sammen innstillingene internt.

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

Den første kommandoen viser det aktive VPN-nettverket og egenskapene til koblingen, altså den anvendte tilstanden. Hvis raden nevner en pakke du kjenner igjen, start med den appens egen profilvisning i stedet for systemskjermen.

Noter eieren og profilens omfang

Skriv ned fire fakta før du endrer noe: den eide pakken, om tilkoblingen ligger i den personlige profilen eller arbeidsprofilen, profilens eller tilkoblingens navn slik appen viser det, og hvem som administrerer den. En enhetseier kan klargjøre en arbeidsprofil-VPN som en bruker av den personlige profilen ikke kan redigere, og den samme appen installert to ganger gir deg to uavhengige eiere.

Dette trinnet hindrer den vanligste bortkastede timen, nemlig å redigere en profil som ikke er den tilkoblede. Apper holder ofte flere profiler, og den aktive er en egenskap ved appen, ikke ved Android-raden.

Sammenlign anmodet, mottatt og anvendt tilstand

Dette er tre forskjellige faser, og et avvik mellom dem forteller deg hvilken komponent du skal rette.

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

Den anvendte fasen er den du kan observere uten å stole på noens logg. Sammenlign DNS-serverne og rutene i egenskapene til den aktive koblingen med dem profilen hevder; hvis de er forskjellige, har serveren sendt noe eller appen anvendt en policy du ikke forventet.

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

Grensesnittnavn varierer mellom apper, så list opp grensesnittene først og les det som dukket opp da tunnelen koblet til. En rute som finnes i appens redigeringsprogram, men mangler her, ble aldri anvendt; en rute som er her, men mangler i redigeringsprogrammet, kom fra et annet sted.

Rediger artefakten eieren faktisk leser

For en importert OpenVPN-profil holder appen vanligvis sin egen kopi. Å redigere den opprinnelig nedlastede filen senere endrer ikke neste tilkobling; bruk appens dokumenterte redigeringsprogram, eller importer på nytt og bekreft hvilken profil som er aktiv nå. Det er forskjellen mellom å endre en fil og å endre en konfigurasjon.

Leverandørappers setter ofte sammen innstillinger fra en serverliste i stedet for å skrive en fil brukeren kan redigere. Fraværet av en eksportknapp er ikke bevis for at VPN-en er falsk, og en eksportert fil kan utelate enhetsbundne nøkler eller registreringsmateriale som en annen enhet ville trengt. Behandle eksport og import som separate operasjoner med egne forutsetninger.

Skriv støttenotatet uten å avsløre hemmeligheter

Et nyttig notat navngir den nøyaktige appen og profilen, innstillingen som ser feil ut, og bevisene fra hver fase. For eksempel: denne profilen mottar en privat DNS-adresse fra serveren, men den tiltenkte arbeidsappen kan ikke slå opp tjenesten sin, og de anvendte koblingsegenskapene viser den resolvertjenesten mens profilredigeringsprogrammet viser en annen.

Hold påloggingsinformasjon utenfor notatet. Det er ikke nødvendig å roote enheten for å søke i appens private lager for å identifisere eieren, og en gjettet sti til datamappen er ikke et støttet grensesnitt. Hvis svaret trenger byte som bare appen ser, be eieren om en diagnostisk eksport i stedet for å improvisere en.

Når arbeidet er ferdig, lukk sløyfen: bekreft navnet på den aktive profilen, les den anvendte tilstanden på nytt, og koble fra én gang for å verifisere at endringen overlever en ny tilkobling. En innstilling som bare finnes i redigeringsprogrammet, er ikke rullet ut.

Relaterte artikler