Unha icona verde de VPN é unha afirmación sobre algo, e a pregunta útil é sobre que. Nun teléfono pode reflectir o túnel dun cliente, o transporte da rede actual ou unha única solicitude exitosa a unha páxina interna. Esas observacións veñen de fontes distintas, actualízanse a ritmos distintos e poden discrepar na mesma pantalla. Por iso unha icona pode parecer saudable mentres o navegador que ten diante falla.

Fixe o alcance antes de ler a cor, ou a cor responderá a unha pregunta que ninguén fixo.

A icona responde a unha pregunta máis estreita do que pensa

Comece cun alcance declarado, como o navegador persoal que usa o túnel persoal aprobado. O túnel do perfil de traballo non responde a esa pregunta para unha aplicación persoal, e unha configuración de VPN por aplicación pode excluír xusto o navegador que está a probar. Un cliente de filtrado local pode mostrarse conectado mentres non envía nada a unha pasarela remota, porque o seu túnel remata no dispositivo.

En Android, as devolucións de rede detrás dun indicador informan de transportes e capacidades dunha rede. Un transporte VPN di que rede leva o tráfico, non que aplicacións ou familias de enderezos o usan.

Constrúa a táboa de estados a partir da evidencia

Tres ou catro estados abondan se cada un nomea a evidencia que hai detrás. As columnas de abaixo parten do que se pode observar e non da cor que quere mostrar, o que impide que unha lectura antiga se converta nunha afirmación de éxito.

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

A última fila é a que se descarta na práctica. Un indicador que conserva o seu valor final cando a súa fonte morre informa da historia como se fose o presente, e os usuarios leno como un estado vivo. Etiquete ese caso como antigo ou descoñecido e escolla unha redacción que non implique un túnel. Despois deixe que a etiqueta cambie en canto a fonte se deteña.

Comprobe que informa realmente o dispositivo

Unha luz física ou un widget deberían guiarse por unha observación compatible, non por unha conxectura sobre o último estado bo coñecido. Estes comandos de Android mostran o transporte e a configuración de conexión permanente da plataforma sen instalar nada.

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

As claves de conexión permanente din se a plataforma está configurada para manter un túnel e bloquear o tráfico sen el; non din que o túnel estea san agora. Combine esa lectura de configuración cunha sonda nova antes de que algo se mostre como conectado.

Se a observación non pode continuar, a pantalla debe poder dicilo. Unha lámpada conectada a unha automatización que xa non se executa é peor que ningunha lámpada, porque afirma un estado que ninguén mide.

Manteña o aviso separado da aplicación forzosa

Unha automatización que detecta unha desconexión actívase despois do suceso, así que non pode ser a fronteira que impide que un paquete escape durante o oco. Se debe prohibirse o retorno directo, configure a política de bloqueo da plataforma e verifíquea apagando o túnel a propósito. O indicador informa; a política aplica.

Unha tarefa de aviso que desactiva interfaces para forzar o cumprimento tamén pode deixar o dispositivo fóra da reconexión que necesita, producindo un bucle no que o túnel nunca volve e o aviso nunca se despexa.

Decida que debe mostrar a pantalla cando o observador non está seguro e despois probe ese caso detendo o observador. Se a resposta segue sendo conectado, o indicador está medindo o pasado.

Artigos relacionados