como iniciar automaticamente o openvpn (client) no ubuntu cli?

16

Estou usando o Ubuntu 12.04 64bit. Eu tenho um *.ovpnarquivo que funciona se eu digitar:

sudo openvpn client.ovpn

Agora eu gostaria de iniciar openvpnquando inicializar o computador.

Como posso fazer isso?

waspinator
fonte

Respostas:

22
  1. Faça o download do OpenVPNConfigFile.ovpn. Observe que você pode renomear o arquivo para o que quiser.

  2. Mova o arquivo ovpn para /etc/openvpn

  3. cd /etc/openvpn pasta e insira sudo nano yourserver.txt

    your_server_user_name
    your_server_passowrd
    

    Salvar e fechar

  4. sudo nano OpenVPNConfigFile.ovpn

    Encontre auth-user-passe adicione yourserver.txtpróximo a ele para que ele se torne

    auth-user-pass yourserver.txt
    

    Isso permitirá que você pule a inserção de suas credenciais sempre que iniciar a conexão openvpn

  5. Renomeie OpenVPNConfigFile.ovpnparaOpenVPNConfigFile.conf

    sudo mv OpenVPNConfigFile.ovpn OpenVPNConfigFile.conf
    
  6. sudo nano /etc/default/openvpn

    Descomentar AUTOSTART="all"

  7. sudo service openvpn start

    Você deverá ver uma mensagem dizendo que está conectado. A conexão será estabelecida toda vez que você iniciar o computador.

Robert Polson
fonte
5
Se você estiver executando systemd você precisará executar systemctl daemon-reloadantes de reiniciar o serviço
Mario Campa
6

O openvpnpacote vem com um script init /etc/init.d/openvpn. Este script configura automaticamente a conexão para todos .confos arquivos (lembre-se da extensão) /etc/openvpn.

Encontrei isso com base nas informações aqui: https://openvpn.net/index.php/open-source/documentation/howto.html#startup

Se você instalar o OpenVPN por meio de um pacote RPM ou DEB no Linux, o instalador configurará um initscript. Quando executado, o initscript irá procurar por arquivos de configuração .conf em / etc / openvpn e, se encontrado, iniciará um daemon OpenVPN separado para cada arquivo.

Vašek Purchart
fonte
2

Seria bom ter uma maneira un hacker de fazer isso, mas isso terá que ser feito por enquanto.

1) Crie o arquivo myopenvpn em /etc/init.d/

nano /etc/init.d/myopenvpn

2) Insira no myopenvpn e salve:

# OpenVPN autostart on boot script

start on runlevel [2345]
stop on runlevel [!2345]

respawn

exec /usr/sbin/openvpn --status /var/run/openvpn.client.status 10 --cd /etc/openvpn --config /etc/openvpn/client.conf --syslog openvpn

FONTE: http://www.hackerway.ch/2012/12/11/how-to-auto-start-openvpn-client-in-debian-6-and-ubuntu-12-04/#comment-79

waspinator
fonte
2

Fiquei um pouco preso nisso e acabei escrevendo todas as instruções para configurá-lo manualmente com o systemd.

Isso funcionou para mim usando o Ubuntu 16.10 e o openvpn 2.3.11

Configurando seu vpn para executar a partir do bash

Esses exemplos usam expressvpn, mas a maioria funcionaria da mesma maneira

Faça o download do arquivo de configuração ovpn do seu provedor de VPN, por exemplo, my_express_vpn_amsterdam_2 .ovpn

mova isso para /etc/openvpn/e renomeie-o para terminar em .conf

sudo mv ~/Downloads/my_express_vpn_amsterdam_2.ovpn /etc/openvpn/amsterdam-2.conf

Seu provedor de VPN fornecerá um nome de usuário e uma senha para conectar-se através do openvpn. Salve o nome de usuário e senha cada um em sua própria linha

sudo vim /etc/openvpn/express-vpn-crednetials.txt
# add these lines
YOUR_VPN_USERNAME
YOUR_VPN_PASSWORD
# save the file

agora edite, /etc/openvpn/amsterdam-2.conf procure uma linha que diga auth-user-passe substitua-a pelo caminho para seu arquivo de credenciais

auth-user-pass /etc/openvpn/express-vpn-crednetials.txt

Teste sua configuração! Inicie o openvpn assim

sudo openvpn --config /etc/openvpn/amsterdam-2.conf

O openvpn deve se conectar sem pedir nome de usuário ou senha

Remova a configuração de serviço existente (quebrada) do openvpn

sudo rm /etc/systemd/system/multi-user.target.wants/openvpn.service

Configure o openvpn para executar como um serviço systemd

A configuração que veio com o openvpn foi quebrada, então eu a removi e criei uma nova baseada em nesta resposta

Criar serviço systemd para openvpn

sudo vim /usr/lib/systemd/system/openvpn@service

adicione esta configuração:

[Unit]
Description=OpenVPN Robust And Highly Flexible Tunneling Application On %I
After=syslog.target network.target

[Service]
PrivateTmp=true
Type=forking
PIDFile=/var/run/openvpn/%i.pid
ExecStart=/usr/sbin/openvpn --daemon --writepid /var/run/openvpn/%i.pid --cd /etc/openvpn/ --config %i.conf

[Install]
WantedBy=multi-user.target

o %ié usado como um curinga para que este serviço possa ser usado para várias configurações de VPN. Configure para o amsterdam-2.confarquivo que criamos anteriormente

sudo systemctl start [email protected]

o serviço systemd agora deve estar em execução no vpn de amsterdam. verifique seu status assim

sudo systemctl status [email protected]

você deve ver várias linhas de saída terminadas em Initialization Sequence Completede seu vpn deve estar em execução.

Espero que isto ajude! leitura relacionada:

/unix/206058/how-to-start-2fa-using-openvpn-with-systemd/206490#206490

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

/unix/148990/using-openvpn-with-systemd/149003#149003?newreg=53ca53879fcc489f94304f91bbc82ab3

roo2
fonte