Detenga la conexión OpenVPN correcta: primer plano, systemd o NM
El comando que desconecta un túnel depende de quién lo inició. Compare los propietarios de primer plano, systemd, NetworkManager y OpenVPN 3 antes de enviar una señal.
Cerrar una ventana de terminal no es lo mismo que cerrar un túnel, y matar un proceso no es lo mismo que detener un servicio. En Linux, el comando que realmente desconecta depende de qué componente inició la conexión y, por tanto, posee su ciclo de vida. La comparación siguiente cubre las cuatro disposiciones que más probablemente encontrará, y el identificador que necesita cada una.
Clientes en primer plano y demonizados
Un cliente iniciado a mano en una terminal pertenece a esa terminal. Ctrl+C entrega una interrupción, el cliente desmonta su interfaz y el túnel termina. No hay que avisar a nada más.
Un cliente iniciado mediante un envoltorio de shell y dejado en segundo plano no pertenece a nadie en particular, y ese es el caso en el que la gente recurre a killall. Busque primero el proceso, confirme que su línea de comandos menciona el perfil que quiere y luego envíe la señal de terminación normal. Un proceso supervisado que se mata bajo su supervisor simplemente se reiniciará, por eso identificar al propietario importa más que elegir una señal. Envíe la señal al grupo de procesos solo cuando haya confirmado que ningún otro túnel lo comparte.
SIGUSR1 no es una desconexión; pide al cliente que reinicie el túnel.
Instancias de systemd
Cuando una unidad posee la conexión, la unidad es el objeto que hay que detener. Las instancias de plantilla como openvpn-client@office llevan el nombre del perfil, y detener el objetivo de plantilla en lugar de la instancia puede afectar a todos los clientes del host.
systemctl list-units 'openvpn-client@*'
systemctl stop [email protected]
Lea el ExecStart de la unidad cuando no esté seguro de qué perfil cargó la instancia.
Una unidad habilitada volverá en el próximo arranque, lo que es una decisión separada de detenerla ahora. Deshabilítela solo después de decidir que la conexión no debe volver, y anote esa decisión donde la encuentre el siguiente administrador.
Perfiles de NetworkManager
Un perfil gestionado por NetworkManager no es un proceso al que pueda enviar una señal. El gestor posee el ciclo de vida, y el objeto sobre el que hay que actuar es la conexión activa, identificada por UUID y no por el nombre visible. Leer primero la lista activa también muestra si hay un segundo túnel en ejecución con un nombre que no esperaba.
nmcli connection show --active
nmcli connection down uuid actual-uuid
Los nombres visibles se repiten, y el nombre de un archivo de perfil no es su identificador, así que copie el UUID del listado. Si la conexión vuelve de inmediato, algo la está activando: una entrada secondaries en una conexión base, un script dispatcher o una marca de conexión automática. Detener la conexión del gestor es el primer paso correcto, y la reactivación es la siguiente pregunta. No elimine el perfil para detener la reactivación, porque eso también borra las credenciales que quizá necesite mañana.
La referencia de comandos del gestor documenta cómo se selecciona un objetivo down.
Sesiones de OpenVPN 3
OpenVPN 3 Linux usa un modelo de sesiones en lugar de un proceso por túnel. Inspecciona las sesiones que conoce el servicio y luego actúa sobre una ruta de sesión. La ruta es el identificador, y no es intercambiable con un nombre de configuración.
openvpn3 sessions-list
openvpn3 session-manage --path /net/openvpn/v3/sessions/... --disconnect
Desconectar todas las sesiones es una acción distinta, y debería ser deliberada.
El mismo host puede alojar sesiones de varios usuarios, así que liste antes de actuar y confirme el propietario de la sesión que está a punto de terminar.
Qué verificar después
Compruebe tres cosas tras cualquiera de estas detenciones: la lista de conexiones activas ya no contiene el túnel, la interfaz ha desaparecido y una consulta de ruta para una dirección interna ya no selecciona un dispositivo de túnel. Después decida qué ocurre en el próximo arranque.
ip -brief address
ip route get 10.8.0.1
Eliminar una interfaz a mano no detiene al propietario, y deja la limpieza a medias.
Desconectar ahora, impedir el próximo arranque automático y permitir después el tráfico que no es VPN son tres elecciones separadas. Haga cada una explícita.