comment démarrer automatiquement openvpn (client) sur ubuntu cli?

16

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

sudo openvpn client.ovpn

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

Comment puis-je faire ceci?

waspinator
la source

Réponses:

22
  1. Téléchargez le OpenVPNConfigFile.ovpn. Notez que vous pouvez renommer le fichier comme vous le souhaitez.

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

  3. cd /etc/openvpn dossier et entrez sudo nano yourserver.txt

    your_server_user_name
    your_server_passowrd
    

    Sauver et fermer

  4. sudo nano OpenVPNConfigFile.ovpn

    Trouvez auth-user-passet ajoutez à yourserver.txtcôté pour qu'il devienne

    auth-user-pass yourserver.txt
    

    Cela vous permettra de sauter la saisie de vos informations d'identification chaque fois que vous démarrez la connexion openvpn

  5. Renommer OpenVPNConfigFile.ovpnenOpenVPNConfigFile.conf

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

    Décommenter AUTOSTART="all"

  7. sudo service openvpn start

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

Robert Polson
la source
5
Si vous utilisez systemd, vous devrez l'exécuter systemctl daemon-reloadavant de redémarrer le service
Mario Campa
6

le openvpn package est livré avec un script init /etc/init.d/openvpn. Ce script configure automatiquement la connexion pour chaque .conffichier (attention à l'extension) dans /etc/openvpn.

Trouvé cela sur la base d'informations 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 initscript. Une fois exécuté, l'initscript recherchera les fichiers de configuration .conf dans / etc / openvpn et, s'il est trouvé, démarrera un démon OpenVPN distinct pour chaque fichier.

Vašek Purchart
la source
2

Ce serait bien d'avoir une manière non pirate de le faire, mais cela devra faire pour l'instant.

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

nano /etc/init.d/myopenvpn

2) Insérez dans myopenvpn et enregistrez:

# 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

waspinator
la source
2

Je suis resté 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 en utilisant 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 vpn, par exemple my_express_vpn_amsterdam_2 . ovpn

déplacer cela /etc/openvpn/et le renommer pour terminer en .conf

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

Votre fournisseur VPN vous fournira un nom d'utilisateur et un mot de passe pour vous connecter via openvpn. Enregistrez le nom d'utilisateur puis le mot de passe chacun sur leur 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-passet 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 config! Démarrez openvpn comme ceci

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

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

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

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

Configurer openvpn pour s'exécuter en tant que service systemd

La configuration fournie avec openvpn a été cassée, je l'ai donc supprimée et j'en ai créé 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 %iest utilisé comme caractère générique afin que ce service puisse être utilisé pour plusieurs configurations vpn. Configurez-le pour le amsterdam-2.conffichier que nous avons créé plus tôt

sudo systemctl start [email protected]

le service systemd devrait maintenant fonctionner sur le vpn amsterdam. vérifier son statut comme ça

sudo systemctl status [email protected]

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

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

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

Comment démarrer le service client OpenVPN sur Ubuntu 15.04

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

roo2
la source