Iniciar o OpenVPN por SSH inicia-o na máquina remota, no contexto de execução dessa máquina. Isso torna-o numa alteração da rede remota e não num simples premir de botão remoto. Os dois modos sensatos são uma sessão supervisionada em primeiro plano e um serviço próprio, e têm preparação, credenciais e comportamento em caso de falha diferentes.

Dois modos, um perfil

Ambos os modos consomem o mesmo perfil e ambos alteram o encaminhamento no anfitrião. O que difere é quem está presente quando arranca, e o que acontece depois de a sessão terminar.

ModeUseful forWhat it needs
Supervised foreground sessionA connection with a human watching and able to typeA usable terminal, a reviewed profile and recovery access
Managed serviceAn unattended lifecycle that starts without a loginOwned configuration, supported credential delivery and restart policy

O modo em primeiro plano destina-se a uma ligação supervisionada em que alguém está presente. O modo serviço destina-se a uma ligação que deve subir sem ninguém com sessão iniciada. Misturá-los, deixando um processo em primeiro plano a correr e ativando ao mesmo tempo um serviço no mesmo perfil, é a avaria mais comum que aqui se causa a si próprio.

O que é realmente a sessão em primeiro plano

Um processo OpenVPN em primeiro plano deve continuar a correr enquanto o túnel está ativo. Initialization Sequence Completed significa que a inicialização terminou, não que deva esperar pelo regresso de um prompt. Uma interface gráfica de ambiente de trabalho esconde esse trabalho prolongado atrás de uma janela, e é exatamente por isso que as pessoas esperam que o comando SSH se comporte da mesma forma. Não se comporta.

Verifique o acesso da aplicação separadamente. Um terminal ocupado e uma linha de registo não provam nem sucesso nem falha.

O que um serviço sem supervisão precisa

Um serviço arranca com a sua própria conta, diretório de trabalho e restrições de sistema de ficheiros, e tudo isso difere da sua shell. Use caminhos explícitos e propriedade adequada em vez de confiar em onde estava por acaso. Dê à unidade uma política de reinício que realmente queira, porque um ciclo de ligação sem recuo enche um registo e irrita a contraparte. Depois verifique que sobe após um reinício e não após o seu próximo início de sessão.

O MFA interativo quebra o caso sem supervisão por conceção. Se o perfil exigir um código escrito por uma pessoa, não é um serviço sem supervisão, e um código de utilização única armazenado não é um desenho de credenciais. Decida isso deliberadamente em vez de o descobrir no arranque.

As credenciais são quatro entradas diferentes

O manual do OpenVPN separa a entrada de consola, os ficheiros de credenciais, as frases-chave de chave privada e a interação orientada pela gestão. Um par de nome de utilizador e palavra-passe é uma coisa, e a frase-chave de uma chave cifrada é outra. Uma interface de gestão que fornece credenciais a pedido é a terceira. Escolha o mecanismo que corresponde ao seu desenho de autenticação em vez de concatenar tudo num único ficheiro porque isso funcionou uma vez.

Proteja os perfis e os registos que transportam identidade ou material privado. A conta de serviço lê-os, e também qualquer pessoa com a pertença ao grupo correta.

Um proprietário, e um caminho de regresso

Preserve o seu caminho de administração SSH antes de ativar uma rota de túnel ampla. Uma configuração de túnel completo com um ponto final que morre pode deixar a máquina inalcançável, e a reparação exige então uma consola que não preparou. Uma consola fora de banda aprovada ou uma política deliberada de regresso de gestão é o seguro.

Escolha um único proprietário da configuração para a operação rotineira. Um serviço automático e um processo em primeiro plano que competem pelas mesmas interfaces, rotas e estado do resolver produzem falhas que parecem um problema do fornecedor. Pare uma execução supervisionada com a sua interrupção normal, e uma gerida através do seu gestor em vez de matar todos os processos chamados openvpn.

A distinção que vale a pena registar é simples: uma execução supervisionada pode depender da sua sessão, e um serviço sem supervisão não.

Artigos relacionados