web-dev-qa-db-fra.com

Comment démarrer automatiquement OpenVPN (client) sur Ubuntu Cli?

J'utilise Ubuntu 12.04 64bit. J'ai un fichier *.ovpn qui fonctionne si je tape:

Sudo openvpn client.ovpn

Maintenant, je voudrais démarrer openvpn lorsque je démarre l'ordinateur.

Comment puis-je faire ceci?

14
waspinator
  1. Téléchargez le OpenVPNConfigFile.ovpn. Notez que vous pouvez renommer le fichier comme bon vous semble.

  2. Déplacez le fichier ovpn vers /etc/openvpn

  3. cd /etc/openvpn et entrez Sudo nano yourserver.txt

    your_server_user_name
    your_server_passowrd
    

    Sauver et fermer

  4. Sudo nano OpenVPNConfigFile.ovpn

    Trouvez auth-user-pass et ajoutez yourserver.txt à côté pour qu'il devienne

    auth-user-pass yourserver.txt
    

    Cela vous permettra de ne pas entrer vos identifiants chaque fois que vous démarrez une connexion openvpn

  5. Renommez OpenVPNConfigFile.ovpn en OpenVPNConfigFile.conf

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

    Uncomment AUTOSTART="all"

  7. Sudo service openvpn start

    Vous devriez voir un message disant que vous êtes connecté. La connexion sera établie à chaque démarrage de votre ordinateur.

20
Robert Polson

Le package openvpn est fourni avec un script d'initialisation /etc/init.d/openvpn. Ce script configure automatiquement la connexion pour chaque fichier .conf (attention à l'extension) dans /etc/openvpn.

Trouvé ceci basé sur l'information ici: https://openvpn.net/index.php/open-source/documentation/howto.html#startup

Si vous installez OpenVPN via un package RPM ou DEB sous Linux, le programme d'installation configurera un script d'initiation. Une fois exécuté, l'initscript recherchera les fichiers de configuration .conf dans/etc/openvpn et, le cas échéant, lancera un démon OpenVPN distinct pour chaque fichier.

6
Vašek Purchart

J'ai été un peu coincé à ce sujet et j'ai fini par écrire toutes les instructions pour le configurer manuellement avec systemd.

Cela a fonctionné pour moi avec Ubuntu 16.10 et openvpn 2.3.11

Configuration de votre vpn pour fonctionner à partir de bash

Ces exemples utilisent expressvpn mais la plupart fonctionneraient de la même manière

Téléchargez le fichier de configuration ovpn de votre fournisseur de vpn, par exemple. my_express_vpn_amsterdam_2 . ovpn

déplacez-le vers /etc/openvpn/ et renommez-le afin qu'il se termine par . conf

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

Votre fournisseur de VPN vous fournira un nom d'utilisateur et un mot de passe pour vous connecter via openvpn. Enregistrez le nom d'utilisateur et mot de passe chacun sur sa propre ligne

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

maintenant, éditez /etc/openvpn/amsterdam-2.conf recherchez une ligne qui dit auth-user-pass et remplacez-la par le chemin d'accès à votre fichier d'informations d'identification.

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

Testez votre configuration! Commencez openvpn comme ça

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

openvpn devrait se connecter sans demander le nom d'utilisateur ou le mot de passe

Supprimer la configuration de service existante (endommagée) pour openvpn

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

Configurez openvpn pour s’exécuter en tant que service systemd

La configuration fournie avec openvpn était cassée, je l’ai donc retirée et en ai créée une nouvelle basée sur cette réponse

Créer un service systemd pour openvpn

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

ajoutez cette config:

[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

le %i est utilisé comme caractère générique afin que ce service puisse être utilisé pour plusieurs configurations de vpn. Configurez-le pour le fichier amsterdam-2.conf créé précédemment.

Sudo systemctl start [email protected]

le service systemd devrait maintenant fonctionner sur le vpn d’amsterdam. vérifier son statut comme si

Sudo systemctl status [email protected]

vous devriez voir plusieurs lignes de sortie se terminer par Initialization Sequence Completed et votre vpn devrait être en cours d'exécution.

J'espère que cela t'aides! lecture connexe:

https://unix.stackexchange.com/questions/206058/how-to-start-2fa-using-openvpn-with-systemd/206490#20649

Comment démarrer le service client OpenVPN sur Ubuntu 15.04

https://unix.stackexchange.com/questions/148990/using-openvpn-with-systemd/149003#149003?newreg=53ca53879fcc489f94304f91bbc82ab

2
roo2

Il serait bien d’avoir une façon un peu pirate de le faire, mais cela devra être fait pour le moment.

1) Créez le fichier myopenvpn dans /etc/init.d/

nano /etc/init.d/myopenvpn

2) Insérer dans myopenvpn et enregistrer:

# 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

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

2
waspinator