A icona de VPN di conectado: que lle di realmente
Unha icona conectada pode significar só o túnel dunha aplicación ou unha sonda exitosa. Defina o alcance, trate as lecturas antigas como descoñecidas e manteña o bloqueo á parte.
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 observed | What it establishes | What remains open |
|---|---|---|
| Target client reports an established tunnel | That client believes its tunnel is up, within its own scope | Other apps, other profiles, other address families |
| Active network exposes a VPN transport | Some tunnel carries the current network | Which app it belongs to and where it exits |
| Probe to a private host returned fresh data | One request reached one destination at one time | Everything the probe does not touch |
| Callbacks stopped or data is older than the refresh window | Nothing current is known | Any 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.