Como iniciar o serviço de cliente OpenVPN no Ubuntu 15.04

21

Posso iniciar o OpenVPN e apontá-lo para o arquivo de configuração e tudo funciona bem, como:

sudo openvpn /etc/openvpn/myvpn.conf

mas quando tento iniciar o serviço com

sudo /etc/init.d/openvpn start

Tudo o que recebo é a saída no syslog:

Jun 23 21:02:30 pc systemd[1]: Starting OpenVPN service...
Jun 23 21:02:30 pc systemd[1]: Started OpenVPN service.

Mas está mentindo para mim, não há serviço openvpn em execução:

gk@pc:/etc/openvpn$ ps -aux | grep openvpn
gk   15456  0.0  0.0  13688  2128 pts/0    S+   21:18   0:00 grep --color=auto openvpn

Nenhum outro processo openvpn em execução. Como posso iniciar o serviço?

Observo com alguma alegria que dentro de /lib/systemd/system/openvpn.service existe:

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/true
ExecReload=/bin/true
WorkingDirectory=/etc/openvpn

Tenho certeza que / bin / true NÃO é meu aplicativo cliente openvpn. É por isso que o cliente openvpn não funciona na linha de comando do Ubuntu 15.04?

user296916
fonte

Respostas:

37

É por isso que o cliente openvpn não funciona na linha de comando do Ubuntu 15.04?

Não. O motivo é que você não leu o comentário na parte superior desse arquivo de unidade e está chamando um rcscript do System 5 diretamente. Não chame rcscripts do System 5 diretamente, especialmente em um sistema em que o System 5 rcnão é usado , como o Ubuntu versão 15.

Chamar indiretamente por meio do servicecomando também está errado no caso do OpenVPN.

O OpenVPN é um serviço de modelo no systemd. Os serviços são nomeados . Portanto, você deve iniciar sua instância comopenvpn@config.service/etc/openvpn/myvpn.conf

systemctl start [email protected]

Leitura adicional

JdeBP
fonte
Ok, obrigado pela sua resposta. Eu não sabia que o Ubuntu está seguindo a maneira do fedora de lidar com serviços agora. Parece haver muito pouca documentação sobre como iniciar / parar serviços no 15.04. De fato, por mais que eu pesquise no Google, não consigo encontrar nenhum. É possível, de alguma forma, iniciá-lo com algo como "systemctl start openvpn" e não passar o nome da configuração?
user296916
systemd newbie here ... Qual é o arquivo de unidade que você está falando? É freedesktop.org/software/systemd/man/systemd.unit.html ?
precisa
É aquele a quem o questionador fornece o nome do caminho completo da pergunta. Possui comentários explicativos no início.
JdeBP
4
Apenas para sua informação, mas não há comentários em nenhum desses arquivos no Ubuntu 15 para dar qualquer indicação de que o que eu estava fazendo estava errado. Existe realmente muito pouca documentação para indicar que o systemctl é o método correto a ser usado agora e, de fato, existe uma ampla documentação que sugere que o /etc/init.d/xxxx deve usar o systemctl nos bastidores e deve ser transparente para os usuários, para que os scripts existentes nem todos sejam quebrados.
user296916
2
Você tem um erro de digitação: systemctl start [email protected]deveria ser systemctl start openvpn@myvpn.
Bryan Larsen