El icono de VPN dice conectado: qué le dice en realidad
Un icono conectado puede significar solo el túnel de una aplicación o una sonda exitosa. Defina el alcance, trate las lecturas antiguas como desconocidas y mantenga el bloqueo aparte.
Un icono verde de VPN es una afirmación sobre algo, y la pregunta útil es sobre qué. En un teléfono puede reflejar el túnel de un cliente, el transporte de la red actual o una única solicitud exitosa a una página interna. Esas observaciones vienen de fuentes distintas, se actualizan a ritmos distintos y pueden discrepar en la misma pantalla. Por eso un icono puede parecer saludable mientras el navegador que tiene delante falla.
Fije el alcance antes de leer el color, o el color responderá a una pregunta que nadie hizo.
El icono responde a una pregunta más estrecha de lo que cree
Empiece con un alcance declarado, como el navegador personal que usa el túnel personal aprobado. El túnel del perfil de trabajo no responde a esa pregunta para una aplicación personal, y una configuración de VPN por aplicación puede excluir justo el navegador que está probando. Un cliente de filtrado local puede mostrarse conectado mientras no envía nada a una puerta de enlace remota, porque su túnel termina en el dispositivo.
En Android, las devoluciones de red detrás de un indicador informan de transportes y capacidades de una red. Un transporte VPN dice qué red lleva el tráfico, no qué aplicaciones o familias de direcciones lo usan.
Construya la tabla de estados a partir de la evidencia
Tres o cuatro estados bastan si cada uno nombra la evidencia que hay detrás. Las columnas siguientes parten de lo que puede observarse y no del color que quiere mostrar, lo que impide que una lectura antigua se convierta en una 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 |
La última fila es la que se descarta en la práctica. Un indicador que conserva su valor final cuando su fuente muere informa de la historia como si fuera el presente, y los usuarios lo leen como un estado vivo. Etiquete ese caso como antiguo o desconocido y elija una redacción que no implique un túnel. Luego deje que la etiqueta cambie en cuanto la fuente se detenga.
Compruebe qué informa realmente el dispositivo
Una luz física o un widget deberían guiarse por una observación compatible, no por una conjetura sobre el último estado bueno conocido. Estos comandos de Android muestran el transporte y la configuración de conexión permanente de la plataforma sin 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
Las claves de conexión permanente dicen si la plataforma está configurada para mantener un túnel y bloquear el tráfico sin él; no dicen que el túnel esté sano ahora. Combine esa lectura de configuración con una sonda nueva antes de que algo se muestre como conectado.
Si la observación no puede continuar, la pantalla debe poder decirlo. Una lámpara conectada a una automatización que ya no se ejecuta es peor que ninguna lámpara, porque afirma un estado que nadie mide.
Mantenga el aviso separado de la aplicación forzosa
Una automatización que detecta una desconexión se activa después del suceso, así que no puede ser la frontera que impide que un paquete escape durante el hueco. Si debe prohibirse el retorno directo, configure la política de bloqueo de la plataforma y verifíquela apagando el túnel a propósito. El indicador informa; la política aplica.
Una tarea de aviso que desactiva interfaces para forzar el cumplimiento también puede dejar el dispositivo fuera de la reconexión que necesita, produciendo un bucle en el que el túnel nunca vuelve y el aviso nunca se despeja.
Decida qué debe mostrar la pantalla cuando el observador no está seguro y luego pruebe ese caso deteniendo el observador. Si la respuesta sigue siendo conectado, el indicador está midiendo el pasado.