Perfil VPN d'Android: troba el propietari abans d'editar-lo
La fila de VPN del sistema amaga l'aplicació que posseeix el punt final, les rutes i les claus. Identifica el propietari i després compara l'estat sol·licitat, rebut i aplicat.
La pantalla de VPN d'Android mostra una fila amb un nom, una icona de clau i potser un commutador sempre actiu. Poques vegades mostra el punt final, la política de rutes, els servidors DNS o les credencials que fan funcionar la connexió, perquè en un túnel basat en una aplicació pertanyen a l'aplicació. La conseqüència pràctica és una pregunta de runbook, no filosòfica: abans d'editar un fitxer descarregat o de buscar un magatzem central de perfils, esbrina quin component és el propietari del paràmetre que vols canviar.
Identifica primer el tipus de connexió
Hi ha almenys tres disposicions a la mateixa pantalla de paràmetres. Una aplicació pot utilitzar VpnService per crear una interfície virtual i posseir el protocol i la configuració privada, incloent-hi una aplicació de filtratge local sense sortida remota. Android també pot aprovisionar un perfil IKEv2 de plataforma mitjançant Ikev2VpnProfile, disponible des de l'API 30, on la plataforma reté més part del perfil. I una aplicació de proveïdor pot presentar la seva pròpia llista de servidors i muntar la configuració internament.
adb shell dumpsys connectivity | grep -i -A12 "VPN"
adb shell cmd connectivity list-owners 2>/dev/null || true
La primera ordre mostra la xarxa VPN activa i les propietats del seu enllaç, que és l'estat aplicat. Si la fila esmenta un paquet que reconeixes, comença per la vista de perfil pròpia d'aquella aplicació en lloc de la pantalla del sistema.
Anota el propietari i l'abast del perfil
Anota quatre fets abans de canviar res: el paquet propietari, si la connexió viu al perfil personal o al de treball, el nom del perfil o de la connexió tal com el mostra l'aplicació, i qui l'administra. El propietari d'un dispositiu pot aprovisionar una VPN de perfil de treball que un usuari de perfil personal no pot editar, i la mateixa aplicació instal·lada dues vegades et dona dos propietaris independents.
Aquest pas evita l'hora perduda més habitual, que és editar un perfil que no és el connectat. Les aplicacions sovint guarden diversos perfils, i l'actiu és una propietat de l'aplicació, no de la fila d'Android.
Compara l'estat sol·licitat, rebut i aplicat
Són tres etapes diferents, i una discrepància entre elles et diu quin component cal corregir.
| 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 |
L'etapa aplicada és la que pots observar sense confiar en el registre de ningú. Compara els servidors DNS i les rutes de les propietats de l'enllaç actiu amb els que declara el perfil; si difereixen, el servidor ha enviat alguna cosa o l'aplicació ha aplicat una política que no esperaves.
adb shell ip addr show tun0
adb shell ip route show table all | head -40
Els noms d'interfície difereixen entre aplicacions, així que llista primer les interfícies i llegeix la que va aparèixer quan es va connectar el túnel. Una ruta present a l'editor de l'aplicació però absent aquí no es va aplicar mai; una ruta present aquí però absent de l'editor va venir d'algun altre lloc.
Edita l'artefacte que el propietari llegeix de debò
Per a un perfil OpenVPN importat, l'aplicació acostuma a guardar la seva pròpia còpia. Editar més tard el fitxer descarregat originalment no canvia la propera connexió; fes servir l'editor documentat de l'aplicació, o torna a importar i confirma quin perfil és ara actiu. Aquesta és la diferència entre canviar un fitxer i canviar una configuració.
Les aplicacions de proveïdor sovint munten la configuració a partir d'una llista de servidors en lloc d'escriure un fitxer editable per l'usuari. L'absència d'un botó d'exportació no és prova que la VPN sigui falsa, i un fitxer exportat pot ometre claus lligades al dispositiu o material d'alta que un altre dispositiu necessitaria. Tracta l'exportació i la importació com a operacions separades amb les seves pròpies condicions prèvies.
Escriu la nota de suport sense exposar secrets
Una nota útil anomena l'aplicació i el perfil exactes, el paràmetre que sembla incorrecte i les proves de cada etapa. Per exemple: aquest perfil rep una adreça DNS privada del servidor, però l'aplicació de treball prevista no pot resoldre el seu servei, i les propietats d'enllaç aplicades mostren aquest resolutor mentre l'editor del perfil en mostra un altre.
Mantén les credencials fora de la nota. Fer root al dispositiu per buscar a l'emmagatzematge privat de l'aplicació no és necessari per identificar el propietari, i una ruta suposada al directori de dades no és una interfície suportada. Si la resposta necessita bytes que només veu l'aplicació, demana al propietari una exportació de diagnòstic en lloc d'improvisar-ne una.
Quan la feina estigui feta, tanca el cicle: confirma el nom del perfil actiu, torna a llegir l'estat aplicat i desconnecta una vegada per verificar que el canvi sobreviu a una reconnexió. Un paràmetre que només existeix a l'editor no s'ha desplegat.