Pare a conexão OpenVPN certa: primeiro plano, systemd ou NM
O comando que desconecta um túnel depende de quem o iniciou. Compare os proprietários de primeiro plano, systemd, NetworkManager e OpenVPN 3 antes de enviar um sinal.
Fechar uma janela de terminal não é o mesmo que fechar um túnel, e matar um processo não é o mesmo que parar um serviço. No Linux, o comando que realmente desconecta depende de qual componente iniciou a conexão e, portanto, possui seu ciclo de vida. A comparação abaixo cobre as quatro disposições que você provavelmente encontrará, e o identificador de que cada uma precisa.
Clientes em primeiro plano e clientes daemonizados
Um cliente iniciado à mão num terminal pertence a esse terminal. Ctrl+C entrega uma interrupção, o cliente desmonta sua interface e o túnel termina. Nada mais precisa ser avisado.
Um cliente iniciado por um wrapper de shell e deixado em segundo plano não pertence a ninguém em particular, e é o caso em que as pessoas recorrem ao killall. Encontre o processo primeiro, confirme que sua linha de comando menciona o perfil desejado e envie o sinal de terminação normal. Um processo supervisionado morto sob seu supervisor simplesmente será reiniciado, por isso identificar o proprietário importa mais do que escolher um sinal. Envie o sinal ao grupo de processos apenas quando tiver confirmado que nenhum outro túnel o compartilha.
SIGUSR1 não é uma desconexão; ele pede ao cliente que reinicie o túnel.
Instâncias do systemd
Quando uma unidade possui a conexão, a unidade é o objeto a ser parado. Instâncias de modelo como openvpn-client@office carregam o nome do perfil, e parar o alvo do modelo em vez da instância pode afetar todos os clientes do host.
systemctl list-units 'openvpn-client@*'
systemctl stop [email protected]
Leia o ExecStart da unidade quando não tiver certeza de qual perfil a instância carregou.
Uma unidade habilitada voltará na próxima inicialização, o que é uma decisão separada de pará-la agora. Desabilite-a somente depois de decidir que a conexão não deve voltar, e registre essa decisão onde o próximo administrador a encontre.
Perfis do NetworkManager
Um perfil gerenciado pelo NetworkManager não é um processo ao qual você possa enviar um sinal. O gerenciador possui o ciclo de vida, e o objeto sobre o qual agir é a conexão ativa, identificada por UUID e não pelo nome de exibição. Ler primeiro a lista ativa também mostra se há um segundo túnel em execução com um nome que você não esperava.
nmcli connection show --active
nmcli connection down uuid actual-uuid
Os nomes de exibição se repetem, e o nome de um arquivo de perfil não é seu identificador, então copie o UUID da listagem. Se a conexão voltar imediatamente, algo a está ativando: uma entrada secondaries numa conexão base, um script dispatcher ou um sinalizador de conexão automática. Parar a conexão do gerenciador é o primeiro passo correto, e a reativação é a próxima pergunta. Não exclua o perfil para parar a reativação, porque isso também remove as credenciais que você pode precisar amanhã.
A referência de comandos do gerenciador documenta como um alvo down é selecionado.
Sessões do OpenVPN 3
O OpenVPN 3 Linux usa um modelo de sessões em vez de um processo por túnel. Você inspeciona as sessões que o serviço conhece e depois age sobre um caminho de sessão. O caminho é o identificador, e não é intercambiável com um nome de configuração.
openvpn3 sessions-list
openvpn3 session-manage --path /net/openvpn/v3/sessions/... --disconnect
Desconectar todas as sessões é uma ação diferente, e deve ser deliberada.
O mesmo host pode manter sessões de vários usuários, então liste antes de agir e confirme o proprietário da sessão que você está prestes a encerrar.
O que verificar depois
Verifique três coisas após qualquer uma dessas paradas: a lista de conexões ativas não contém mais o túnel, a interface desapareceu, e uma consulta de rota para um endereço interno não seleciona mais um dispositivo de túnel. Depois decida o que acontece na próxima inicialização.
ip -brief address
ip route get 10.8.0.1
Remover uma interface à mão não para o proprietário, e deixa a limpeza pela metade.
Desconectar agora, impedir a próxima inicialização automática e permitir depois o tráfego que não é VPN são três escolhas separadas. Torne cada uma explícita.