Ecranul VPN din Android afișează un singur rând cu un nume, o pictogramă de cheie și poate un comutator mereu activ. Rareori afișează punctul final, politica rutelor, serverele DNS sau acreditările care fac conexiunea să funcționeze, pentru că într-un tunel bazat pe aplicație acestea aparțin aplicației. Consecința practică este o întrebare de runbook, nu una filozofică: înainte de a edita un fișier descărcat sau de a căuta un depozit central de profiluri, aflați care componentă deține setarea pe care vreți să o schimbați.

Identificați mai întâi tipul conexiunii

Există cel puțin trei aranjamente pe același ecran de setări. O aplicație poate folosi VpnService pentru a construi o interfață virtuală și a deține protocolul și configurația privată, inclusiv o aplicație locală de filtrare fără ieșire la distanță. Android poate furniza și un profil IKEv2 de platformă prin Ikev2VpnProfile, disponibil de la API 30, unde platforma păstrează mai mult din profil. Iar o aplicație de furnizor poate prezenta propria listă de servere și poate compune setările intern.

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

Prima comandă arată rețeaua VPN activă și proprietățile legăturii acesteia, adică starea aplicată. Dacă rândul numește un pachet pe care îl recunoașteți, începeți cu vizualizarea profilului din acea aplicație, nu cu ecranul de sistem.

Notați proprietarul și domeniul profilului

Notați patru fapte înainte de a schimba ceva: pachetul proprietar, dacă conexiunea se află în profilul personal sau în cel de lucru, numele profilului sau al conexiunii așa cum îl afișează aplicația, și cine îl administrează. Proprietarul unui dispozitiv poate furniza un VPN de profil de lucru pe care un utilizator al profilului personal nu îl poate edita, iar aceeași aplicație instalată de două ori vă oferă doi proprietari independenți.

Acest pas previne cea mai frecventă oră pierdută, și anume editarea unui profil care nu este cel conectat. Aplicațiile păstrează adesea mai multe profiluri, iar cel activ este o proprietate a aplicației, nu a rândului Android.

Comparați starea solicitată, primită și aplicată

Sunt trei etape diferite, iar o discrepanță între ele vă spune ce componentă trebuie reparată.

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

Etapa aplicată este cea pe care o puteți observa fără să aveți încredere în jurnalul cuiva. Comparați serverele DNS și rutele din proprietățile legăturii active cu cele pe care le declară profilul; dacă diferă, serverul a trimis ceva sau aplicația a aplicat o politică la care nu vă așteptați.

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

Numele interfețelor diferă între aplicații, așa că întâi listați interfețele și citiți-o pe cea apărută când tunelul s-a conectat. O rută prezentă în editorul aplicației dar absentă aici nu a fost niciodată aplicată; o rută prezentă aici dar absentă din editor a venit de altundeva.

Editați artefactul pe care proprietarul îl citește cu adevărat

Pentru un profil OpenVPN importat, aplicația păstrează de obicei propria copie. Editarea ulterioară a fișierului descărcat inițial nu schimbă următoarea conexiune; folosiți editorul documentat al aplicației sau reimportați și confirmați care profil este activ acum. Aceasta este diferența dintre a schimba un fișier și a schimba o configurație.

Aplicațiile furnizorilor compun adesea setările dintr-o listă de servere în loc să scrie un fișier editabil de utilizator. Absența unui buton de export nu este dovada că VPN-ul este fals, iar un fișier exportat poate omite chei legate de dispozitiv sau material de înregistrare de care alt dispozitiv ar avea nevoie. Tratați exportul și importul ca operațiuni separate cu propriile condiții.

Scrieți nota de suport fără a expune secrete

O notă utilă numește aplicația și profilul exacte, setarea care pare greșită și dovezile din fiecare etapă. De exemplu: acest profil primește o adresă DNS privată de la server, dar aplicația de lucru vizată nu își poate rezolva serviciul, iar proprietățile legăturii aplicate arată acel resolver în timp ce editorul profilului arată altul.

Țineți acreditările în afara notei. Rootarea dispozitivului pentru a căuta în spațiul privat al aplicației nu este necesară pentru a identifica proprietarul, iar o cale ghicită către directorul de date nu este o interfață acceptată. Dacă răspunsul necesită octeți pe care doar aplicația îi vede, cereți proprietarului un export de diagnostic în loc să improvizați unul.

Când lucrul este gata, închideți bucla: confirmați numele profilului activ, recitiți starea aplicată și deconectați-vă o dată pentru a verifica dacă modificarea supraviețuiește unei reconectări. O setare care există doar în editor nu a fost implementată.

Articole similare