Fermer une fenêtre de terminal n’est pas la même chose que fermer un tunnel, et tuer un processus n’est pas la même chose qu’arrêter un service. Sous Linux, la commande qui déconnecte réellement dépend de quel composant a démarré la connexion et en possède donc le cycle de vie. La comparaison ci-dessous couvre les quatre dispositions que vous rencontrerez le plus probablement, et l’identifiant dont chacune a besoin.

Clients au premier plan et clients démonisés

Un client lancé à la main dans un terminal appartient à ce terminal. Ctrl+C délivre une interruption, le client démonte son interface et le tunnel se termine. Rien d’autre n’a besoin d’être prévenu.

Un client lancé via un wrapper de shell et laissé en arrière-plan n’appartient à personne en particulier, et c’est le cas où les gens se tournent vers killall. Trouvez d’abord le processus, confirmez que sa ligne de commande mentionne le profil voulu, puis envoyez le signal d’arrêt normal. Un processus supervisé tué sous son superviseur sera simplement redémarré, c’est pourquoi identifier le propriétaire compte plus que choisir un signal. N’envoyez un signal au groupe de processus que lorsque vous avez confirmé qu’aucun autre tunnel ne le partage.

SIGUSR1 n’est pas une déconnexion ; il demande au client de redémarrer le tunnel.

Instances systemd

Quand une unité possède la connexion, l’unité est l’objet à arrêter. Les instances de modèle comme openvpn-client@office portent le nom du profil, et arrêter la cible de modèle au lieu de l’instance peut affecter chaque client de l’hôte.

systemctl list-units 'openvpn-client@*'
systemctl stop [email protected]

Lisez l’ExecStart de l’unité lorsque vous n’êtes pas sûr du profil chargé par l’instance.

Une unité activée reviendra au prochain démarrage, ce qui est une décision distincte de l’arrêter maintenant. Désactivez-la seulement après avoir décidé que la connexion ne doit pas revenir, et consignez cette décision là où le prochain administrateur la trouvera.

Profils NetworkManager

Un profil géré par NetworkManager n’est pas un processus auquel envoyer un signal. Le gestionnaire possède le cycle de vie, et l’objet sur lequel agir est la connexion active, identifiée par UUID plutôt que par nom d’affichage. Lire d’abord la liste active montre aussi si un second tunnel tourne sous un nom que vous n’attendiez pas.

nmcli connection show --active
nmcli connection down uuid actual-uuid

Les noms d’affichage se répètent, et le nom d’un fichier de profil n’est pas son identifiant, alors copiez l’UUID depuis la liste. Si la connexion revient aussitôt, quelque chose l’active : une entrée secondaries sur une connexion de base, un script dispatcher ou un indicateur de connexion automatique. Arrêter la connexion du gestionnaire est la bonne première étape, et la réactivation est la question suivante. Ne supprimez pas le profil pour arrêter la réactivation, car cela retire aussi les identifiants dont vous pourriez avoir besoin demain.

La référence des commandes du gestionnaire documente comment une cible down est choisie.

Sessions OpenVPN 3

OpenVPN 3 Linux utilise un modèle de sessions plutôt qu’un processus par tunnel. Vous inspectez les sessions que le service connaît, puis vous agissez sur un chemin de session. Le chemin est l’identifiant, et il n’est pas interchangeable avec un nom de configuration.

openvpn3 sessions-list
openvpn3 session-manage --path /net/openvpn/v3/sessions/... --disconnect

Déconnecter toutes les sessions est une action différente, et elle doit être délibérée.

Le même hôte peut héberger des sessions de plusieurs utilisateurs, alors listez avant d’agir et confirmez le propriétaire de la session que vous êtes sur le point de terminer.

Ce qu’il faut vérifier ensuite

Vérifiez trois choses après n’importe lequel de ces arrêts : la liste des connexions actives ne contient plus le tunnel, l’interface a disparu, et une recherche de route pour une adresse interne ne sélectionne plus un périphérique de tunnel. Décidez ensuite ce qui se passe au prochain démarrage.

ip -brief address
ip route get 10.8.0.1

Supprimer une interface à la main n’arrête pas le propriétaire, et cela laisse le nettoyage à moitié fait.

Déconnecter maintenant, empêcher le prochain démarrage automatique et autoriser ensuite le trafic non VPN sont trois choix distincts. Rendez chacun explicite.

Articles similaires