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?

user280409
fonte

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

Mitch
fonte
(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
Erb
fonte
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>
jstsmn
fonte
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.

Yandi Ongkojoyo
fonte
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.

tsbertalan
fonte
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.

underxristof
fonte