Una icona verda de VPN és una afirmació sobre alguna cosa, i la pregunta útil és sobre què. En un telèfon pot reflectir el túnel d’un client, el transport de la xarxa actual o una única sol·licitud reeixida a una pàgina interna. Aquestes observacions venen de fonts diferents, s’actualitzen a ritmes diferents i poden discrepar a la mateixa pantalla. Per això una icona pot semblar saludable mentre el navegador que teniu davant falla.

Fixeu l’abast abans de llegir el color, o el color respondrà una pregunta que ningú no ha fet.

La icona respon una pregunta més estreta del que penseu

Comenceu amb un abast declarat, com ara el navegador personal que utilitza el túnel personal aprovat. El túnel del perfil de treball no respon aquesta pregunta per a una aplicació personal, i una configuració de VPN per aplicació pot excloure precisament el navegador que proveu. Un client de filtratge local pot mostrar connectat mentre no envia res a una passarel·la remota, perquè el seu túnel acaba al dispositiu.

A Android, les devolucions de xarxa darrere d’un indicador informen de transports i capacitats d’una xarxa. Un transport VPN diu quina xarxa porta el trànsit, no quines aplicacions o famílies d’adreces l’utilitzen.

Construïu la taula d’estats a partir de l’evidència

Tres o quatre estats són suficients si cadascun nomena l’evidència que hi ha darrere. Les columnes de sota comencen per allò que es pot observar i no pel color que voleu mostrar, cosa que evita que una lectura antiga es converteixi en una afirmació d’èxit.

Signal actually observedWhat it establishesWhat remains open
Target client reports an established tunnelThat client believes its tunnel is up, within its own scopeOther apps, other profiles, other address families
Active network exposes a VPN transportSome tunnel carries the current networkWhich app it belongs to and where it exits
Probe to a private host returned fresh dataOne request reached one destination at one timeEverything the probe does not touch
Callbacks stopped or data is older than the refresh windowNothing current is knownAny statement about the tunnel state

L’última fila és la que es descarta a la pràctica. Un indicador que conserva el seu valor final quan la seva font mor informa de la història com si fos el present, i els usuaris ho llegeixen com un estat viu. Etiqueteu aquest cas com a antic o desconegut i trieu una formulació que no impliqui un túnel. Després deixeu que l’etiqueta canviï tan bon punt la font s’aturi.

Comproveu què informa realment el dispositiu

Un llum físic o un giny s’haurien de guiar per una observació compatible, no per una conjectura sobre l’últim estat bo conegut. Aquestes ordres d’Android mostren el transport i la configuració de connexió permanent de la plataforma sense instal·lar res.

adb shell dumpsys connectivity | grep -i -A4 vpn
adb shell settings get secure always_on_vpn_app
adb shell settings get secure always_on_vpn_lockdown
adb shell dumpsys netstats | head -40

Les claus de connexió permanent diuen si la plataforma està configurada per mantenir un túnel i bloquejar el trànsit sense ell; no diuen que el túnel sigui saludable ara. Combineu aquesta lectura de configuració amb una sonda nova abans que res es mostri com a connectat.

Si l’observació no pot continuar, la pantalla ho ha de poder dir. Un llum connectat a una automatització que ja no s’executa és pitjor que cap llum, perquè afirma un estat que ningú no mesura.

Manteniu l’avís separat de l’execució forçosa

Una automatització que detecta una desconnexió s’activa després de l’esdeveniment, així que no pot ser la frontera que impedeix que un paquet escapi durant el buit. Si cal prohibir la tornada directa, configureu la política de bloqueig de la plataforma i verifiqueu-la apagant el túnel deliberadament. L’indicador informa; la política aplica.

Una tasca d’avís que desactiva interfícies per forçar el compliment també pot deixar el dispositiu fora de la reconnexió que necessita, produint un bucle en què el túnel no torna mai i l’avís no s’esborra mai.

Decidiu què ha de mostrar la pantalla quan l’observador no està segur, i després proveu aquest cas aturant l’observador. Si la resposta encara és connectat, l’indicador està mesurant el passat.

Articles relacionats