Une icône VPN verte est une affirmation sur quelque chose, et la question utile est de savoir quoi. Sur un téléphone, elle peut refléter le tunnel d’un client, le transport du réseau actuel ou une seule requête réussie vers une page interne. Ces observations viennent de sources différentes, se rafraîchissent à des rythmes différents et peuvent se contredire sur le même écran. C’est pourquoi une icône peut sembler saine alors que le navigateur devant vous échoue.

Fixez la portée avant de lire la couleur, sinon la couleur répondra à une question que personne n’a posée.

L’icône répond à une question plus étroite que vous ne le pensez

Commencez par une portée déclarée, par exemple le navigateur personnel utilisant le tunnel personnel approuvé. Le tunnel d’un profil professionnel ne répond pas à cette question pour une application personnelle, et une configuration VPN par application peut exclure précisément le navigateur que vous testez. Un client de filtrage local peut afficher connecté sans rien envoyer à une passerelle distante, car son tunnel se termine sur l’appareil.

Sur Android, les rappels réseau derrière un indicateur signalent les transports et les capacités d’un réseau. Un transport VPN indique quel réseau porte le trafic, pas quelles applications ou familles d’adresses l’utilisent.

Construisez la table des états à partir des preuves

Trois ou quatre états suffisent si chacun nomme la preuve qui le sous-tend. Les colonnes ci-dessous partent de ce qui peut être observé plutôt que de la couleur que vous voulez afficher, ce qui empêche une lecture ancienne de devenir une affirmation de succès.

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

La dernière ligne est celle que l’on abandonne en pratique. Un indicateur qui conserve sa dernière valeur quand sa source meurt rapporte l’histoire comme si c’était le présent, et les utilisateurs le lisent comme un état vivant. Étiquetez ce cas comme ancien ou inconnu et choisissez une formulation qui n’implique pas de tunnel. Laissez ensuite l’étiquette changer dès que la source s’arrête.

Vérifiez ce que l’appareil signale réellement

Une lumière physique ou un widget devrait être piloté par une observation prise en charge, pas par une supposition sur le dernier état connu comme bon. Ces commandes Android montrent le transport et la configuration de connexion permanente de la plateforme sans rien installer.

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 clés de connexion permanente indiquent si la plateforme est configurée pour maintenir un tunnel et bloquer le trafic sans lui ; elles n’indiquent pas que le tunnel est actuellement sain. Associez cette lecture de configuration à une sonde fraîche avant que quoi que ce soit ne s’affiche comme connecté.

Si l’observation ne peut pas continuer, l’affichage doit pouvoir le dire. Une lampe reliée à une automatisation qui ne tourne plus est pire qu’aucune lampe, car elle affirme un état que personne ne mesure.

Gardez l’avertissement distinct de l’application forcée

Une automatisation qui détecte une déconnexion se déclenche après l’événement, elle ne peut donc pas être la frontière qui empêche un paquet de s’échapper pendant l’intervalle. Si le retour direct doit être interdit, configurez la politique de blocage de la plateforme et vérifiez-la en coupant délibérément le tunnel. L’indicateur rapporte ; la politique applique.

Une tâche d’avertissement qui désactive des interfaces pour forcer la conformité peut aussi bloquer l’appareil hors de la reconnexion dont il a besoin, produisant une boucle où le tunnel ne revient jamais et où l’avertissement ne se lève jamais.

Décidez ce que l’affichage doit montrer quand l’observateur n’est pas sûr, puis testez ce cas en arrêtant l’observateur. Si la réponse est encore connecté, l’indicateur mesure le passé.

Articles similaires