Iniciando o cliente OpenVPN automaticamente na inicialização


34

Estou tentando fazer com que o OpenVPN inicie automaticamente na inicialização. Hoje eu tenho que digitar manualmente

sudo openvpn --client --config $HOME/openvpn/anonine.ovpn --ca $HOME/openvpn/anonine.ca.crt 

seguido pelo nome de usuário e senha. Existe uma boa maneira de tornar isso automático na inicialização?

Respostas:


42

Edit /etc/default/openvpn. Basta pressionar Ctrl+ Alt+ Tno teclado para abrir o Terminal. Quando abrir, execute o (s) comando (s) abaixo:

sudo gedit /etc/default/openvpn

Remova o comentário da AUTOSTART="all"linha. Salvar e fechar. Reinicie seu sistema.

imagem


(i) Como alguém pode iniciar uma VPN específica dessa maneira? (ii) Quem fornece autenticação para uma conexão iniciada dessa maneira (pode iniciar conexões sem que a combinação de nome de usuário e senha seja armazenada em texto sem formatação)? (iii) Se possível, os métodos cli são preferíveis (permite a implementação em um servidor sem cabeça). I pode substituir nanopara gedit, mas eu não posso usar nm-applet para armazenar credenciais no chaveiro.
Jonathan Y.

@JonathanY. Dê uma olhada nesses recursos disponíveis, Aqui e Aqui . Você também pode querer fazer uma nova pergunta.
Mitch

6
Muito grato. Tanto quanto eu posso dizer a resposta para (i) (que está bem dentro do escopo desta pergunta) é que AUTOSTART="all"tenta iniciar todos os .confarquivos /etc/openvpn(eu adoraria ter confirmação). Uma resposta para (ii) também tem um escopo razoavelmente definido com essa pergunta - você não pode iniciar automaticamente uma conexão VPN, a menos que os segredos estejam disponíveis sem a entrada do usuário (o keychain é preferível ao texto sem formatação por razões óbvias). Admito que (iii) é extracurricular e pode muito bem merecer uma nova pergunta. Nenhum deles é respondido nesses links, que eu posso ver.
Jonathan Y.

Como afirma o comentário na imagem, o padrão para AUTOSTART é na verdade "todos". Consequentemente, esta edição não é necessária, na minha opinião.
Yves B

1
@YvesB padrão é "todos" apenas quando AUTOSTART é descomentada e vazio
gusuku

9

Se você estiver no systemd (16.04), configurou AUTOSTART = "all" e ainda não está começando, preste atenção a isso:

> # If you're running systemd, changing this variable will
> # require running "systemctl daemon-reload" followed by
> # a restart of the openvpn service (if you removed entries
> # you may have to stop those manually)

Basta fazer um

systemctl daemon-reload

e depois reinicie o serviço

 sudo service openvpn restart

Perfeito, muito obrigado.
pylover 25/10

8

Você pode colocar auth-user-pass filenameno seu local anonine.ovpnonde filenameestá o arquivo com nome de usuário / senha em 2 linhas.

Verifique se filenameestá devidamente protegido, porque ele conterá nome de usuário / senha simples.

Isto é de openvpn --help:

Client options (when connecting to a multi-client server):

--auth-user-pass [up] : Authenticate with server using username/password.
                  up is a file containing username/password on 2 lines,
                  or omit to prompt from console.

Você também pode adicionar seu certificado ao anonine.ovpnadicioná-lo desta maneira:

<ca>
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
</ca>

3

Se um nome de usuário / senha não for necessário para conectar, renomeie os arquivos .ovpn para ter uma extensão de .conf.

O OpenVPN deve se conectar na inicialização, mesmo sem a inicialização automática = tudo.

Se for necessário um nome de usuário / senha,

edite o arquivo .conf

editar auth-user-pass user-password-filename

Crie um arquivo contendo:

username
password

Se você deseja se conectar ao Network Manager, faça o seguinte:

sudo apt-get install network-manager-openvpn

Verifique se o seu Ubuntu é pelo menos 14.04. Isso não funciona no 12.04.

Se você não possui seu ca.crt, client.crt, etc, extraia-o do .conf.

Com o Network Manager, crie uma nova conexão VPN ou importe sua conf.

Adicione os certificados e ta.key.

Rotas, use a conexão apenas para recursos em sua rede.

Edite sua conexão com a Internet com o gerenciador de rede. Escolha conectar com VPN e , em seguida, escolha sua conexão VPN.


0

Embora possa não ser do interesse do OP, fiquei frustrado por este serviço não ter iniciado até o login - gráfico ou um dos CTRL + Alt + F # TTYs. Acabei percebendo que minha máquina só se conectaria ao wifi quando eu fiz o login. Combinando as outras respostas aqui com o conselho padrão para executar sudo update-rc.d openvpn defaults, e com a primeira resposta nessa outra pergunta funcionou para mim. Talvez isso possa ajudar outro Googler.


0

Para mim o

auth-user-pass filename

não funcionou

usar

askpass /etc/openvpn/filename

E só tem a senha na linha superior

Funcionou e agora o openvpn inicia na inicialização

comandos para verificar se o openvpn está funcionando:

systemctl status openvpn@"your vpn user name"

wget -qO- http://ipecho.net/plain ; echo

para verificar seu ip (ele deve ser diferente do ip externo do seu roteador)

sudo service openvpn stop

sudo service openvpn start

para verificar sua configuração sem reiniciar o tempo todo.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.