Démarrer le client OpenVPN automatiquement au démarrage

34

J'essaie de faire en sorte qu'OpenVPN démarre automatiquement au démarrage. Aujourd'hui, je dois taper manuellement

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

suivi du nom d'utilisateur et du mot de passe. Y at-il un bon moyen de faire cette automatique au démarrage?

utilisateur280409
la source

Réponses:

42

Modifier /etc/default/openvpn. Appuyez simplement sur Ctrl+ Alt+ Tsur votre clavier pour ouvrir Terminal. Lorsqu'il s'ouvre, exécutez les commandes ci-dessous:

sudo gedit /etc/default/openvpn

Décommentez la AUTOSTART="all"ligne. Sauver et fermer. Redémarrez votre système.

image

Mitch
la source
(i) Comment peut-on démarrer un VPN spécifique de cette façon? (ii) Qui fournit l'authentification pour une connexion initiée de cette manière (peut-il établir des connexions sans que la combinaison nom d'utilisateur-mot de passe soit stockée en texte brut)? (iii) Si possible, les méthodes cli sont préférables (permet une implémentation sur un serveur sans serveur). Je peux remplacer nanopour gedit, mais je ne peux pas utiliser nm-applet pour les informations d' identification de magasin dans le trousseau de clés.
Jonathan Y.
@ JonathanY. Jetez un coup d'œil à ces ressources disponibles, ici et ici . Vous pouvez également envisager de poser une nouvelle question.
Mitch
6
Infiniment reconnaissant. Autant que je puisse dire, la réponse à (i) (ce qui est tout à fait dans le cadre de cette question) est que vous AUTOSTART="all"essayez de démarrer chaque .conffichier /etc/openvpn(j'aimerais bien avoir une confirmation, cependant). Une réponse à (ii) est également raisonnablement limitée à cette question - vous ne pouvez pas établir automatiquement une connexion VPN à moins que les secrets ne soient disponibles sans la saisie de l'utilisateur (le trousseau étant préférable au texte brut pour des raisons évidentes). J'admets que (iii) est extracurriculaire et pourrait bien mériter une nouvelle question. Aucune de ces réponses ne se trouve dans ces liens, à ce que je puisse voir.
Jonathan Y.
Comme l'indique le commentaire dans l'image, la valeur par défaut d'AUTOSTART est en fait "tout". Cette modification n'est par conséquent pas nécessaire, à mon avis.
Yves B
1
@YvesB La valeur par défaut est "Tous" uniquement lorsque AUTOSTART est décommenté et vide
GuSuku
9

Si vous êtes sur systemd (16.04), configurez AUTOSTART = "all" et que cela ne commence pas encore, faites attention à ceci:

> # 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)

Juste faire un

systemctl daemon-reload

puis redémarrez le service

 sudo service openvpn restart
Erb
la source
Parfait, merci beaucoup.
pylover
8

Vous pouvez mettre auth-user-pass filenamedans votre anonine.ovpnfilenameest le fichier avec le nom d' utilisateur / mot de passe sur 2 lignes.

Assurez-vous qu'il filenameest correctement sécurisé, car il contiendra un nom d'utilisateur / mot de passe en clair.

C'est 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.

Vous pouvez également ajouter votre certificat à votre anonine.ovpnajout de cette façon:

<ca>
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
</ca>
jstsmn
la source
3

Si un nom d'utilisateur / mot de passe n'est pas requis pour la connexion, renommez les fichiers .ovpn pour qu'ils portent l'extension .conf.

OpenVPN devrait se connecter au démarrage, même sans autostart = all.

Si un nom d'utilisateur / mot de passe est requis,

éditer le fichier .conf

modifier auth-user-pass nom-mot-de-passe-utilisateur

Créez un fichier contenant:

username
password

Si vous souhaitez vous connecter avec Network Manager, assurez-vous d’abord:

sudo apt-get install network-manager-openvpn

Assurez-vous que votre Ubuntu est au moins 14.04. Cela ne fonctionne pas le 12.04.

Si vous n'avez pas votre ca.crt, client.crt, etc., extrayez-les de .conf.

Avec Network Manager, créez une nouvelle connexion VPN ou importez votre conf.

Ajoutez les certificats et ta.key.

Itinéraires, utilisez la connexion uniquement pour les ressources de son réseau.

Modifiez votre connexion Internet avec le gestionnaire de réseau. Choisissez Connect with VPN , puis choisissez votre connexion VPN.

Yandi Ongkojoyo
la source
0

Bien que cela ne présente peut-être aucun intérêt pour l'OP, j'ai été frustré par le fait que ce service ne démarre pas avant la connexion, que ce soit sous forme graphique ou via l'un des boutons Ctrl + Alt + F #. Je me suis finalement rendu compte que ma machine ne se connecterait au wifi que lorsque je me connecterais. Combiner les autres réponses ici avec les conseils standard à exécuter sudo update-rc.d openvpn defaultset avec la première réponse à cette autre question a fonctionné pour moi. Peut-être que cela pourrait aider un autre Googler.

tsbertalan
la source
0

Pour moi le

auth-user-pass filename

n'a pas fonctionné

utilisation

askpass /etc/openvpn/filename

Et seulement le mot de passe sur la première ligne

Cela a fonctionné et maintenant openvpn commence au démarrage

commandes pour vérifier si openvpn fonctionne:

systemctl status openvpn@"your vpn user name"

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

pour vérifier votre ip (il doit être différent de l'ip externe de votre routeur)

sudo service openvpn stop

sudo service openvpn start

pour vérifier votre configuration sans avoir à redémarrer tout le temps.

underxristof
la source