Pages : 1
#1 Le 31/05/2016, à 17:03
- eirtal
Script Openvpn
Bonjour à tous,
Suite à des problèmes avec network-manager depuis le passage en 16.04, je désirais faire un script de lancement d'Openvpn associé à une application dans le menu/dans un lanceur.
Etant débutant, je me heurte à certaines complications dans les boucles et dans les variables de sortie des commandes "tubées".
J'aimerai que le script affiche, par zenity, une demande quand à l'exécution du VPN, qu'ensuite soit Openvpn soit lancé (soit qu'il ne le soit pas avec un message informatif), avec un message d'attente temporaire, et si il y a une erreur un message d'erreur, ou bien, après avoir testé l'ip extérieure et tant que celle-ci est différente de celle de mon serveur openvpn, recommencer le test, jusqu'à afficher un message de connexion établie.
Par la suite, pouvoir tester toutes les minutes si la connexion est effective ou afficher un message d'alerte.
Voici où j'en suis, avec la très forte impression que le script en "reste" à la commande tubée après la commande de connexion à openvpn.
Auriez-vous des pistes ou éclairages pour me permettre de rendre effectif ce script? Merci par avance.
#!/bin/bash
ipvpn="x.x.x.x"
zenity --question --title "Openvpn" --text "Voulez-vous exécuter le VPN?" --height "150" --width "250"
case $? in
0)
ps -aux | grep [o]penvpn >/dev/null 2>&1 || sudo openvpn --config ./client.ovpn | zenity --info --timeout "5" --title "Openvpn" --text "Attente de connexion au VPN."
if [ "$?" = 0 ]
then
zenity --error --title "Openvpn" --text "Erreur de connexion au VPN." --height "150" --width "250"
elif [ "$?" =1 ]
then
sleep 5
ipadresse=$(wget -q www.monip.org -O - | iconv -f iso8859-1 -t utf8 | sed -nre 's/^.* (([0-9]{1,3}\.){3}[0-9]{1,3}).*$/\1/p')
while [ $ipadresse != $ipvpn ]
do sleep 5 && ipadresse=$(wget -q www.monip.org -O - | iconv -f iso8859-1 -t utf8 | sed -nre 's/^.* (([0-9]{1,3}\.){3}[0-9]{1,3}).*$/\1/p')
done
zenity --info --title "Openvpn" --text "Vous êtes connecté au VPN."
else
zenity --error --title "Openvpn" --text "Erreur de connexion au VPN." --height "150" --width "250"
fi
;;
1)
zenity --warning --title "Openvpn" --text "Vous êtes connecté sans VPN" --height "150" --width "250"
exit
;;
esac
ipadresse=$(wget -q www.monip.org -O - | iconv -f iso8859-1 -t utf8 | sed -nre 's/^.* (([0-9]{1,3}\.){3}[0-9]{1,3}).*$/\1/p')
until [ $ipadresse != $ipvpn ]
do sleep 60 && ipadresse=$(wget -q www.monip.org -O - | iconv -f iso8859-1 -t utf8 | sed -nre 's/^.* (([0-9]{1,3}\.){3}[0-9]{1,3}).*$/\1/p')
done
zenity --warning --title "Openvpn" --text "Vous avez été déconnecté du VPN" --height "150" --width "250"
exit
Hors ligne
#2 Le 07/06/2016, à 03:34
- JPlaroche
Re : Script Openvpn
bonjour
moi je fais ça
cd /etc/openvpn
sudo openvpn stralfors.ovpn
[sudo] Mot de passe de ******** :
Tue Jun 7 04:27:45 2016 OpenVPN 2.3.10 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [MH] [IPv6] built on Feb 2 2016
Tue Jun 7 04:27:45 2016 library versions: OpenSSL 1.0.2g-fips 1 Mar 2016, LZO 2.08
Tue Jun 7 04:27:45 2016 WARNING: No server certificate verification method has been enabled. See [url]http://openvpn.net/howto.html#mitm[/url] for more info.
Enter Private Key Password: ************
Tue Jun 7 04:28:41 2016 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
******
Tue Jun 7 04:28:47 2016 OPTIONS IMPORT: timers and/or timeouts modified
Tue Jun 7 04:28:47 2016 OPTIONS IMPORT: --ifconfig/up options modified
Tue Jun 7 04:28:47 2016 OPTIONS IMPORT: route options modified
....... jusqu'au message
Tue Jun 7 04:28:47 2016 Initialization Sequence Completed
et ma procedure reste tel que
cela me permet de garder la laison
et d'appeler mon remotedesktop pour mettre actif le serveur teamwiever
si ça peut t'aider!!!
Modération : merci à l'avenir d'utiliser les balises code (explications ici).
Dernière modification par cqfd93 (Le 07/06/2016, à 07:12)
depuis 2004 avec Ubuntu
depuis 1976 informaticien Mon site plein d'information pour les programmeurs http://www.ombrebleu.com
Hors ligne
#3 Le 07/06/2016, à 20:33
- eirtal
Re : Script Openvpn
Si je ne me trompe, c'est a priori, simplement lancer la commande d'openvpn que tu fais?
Ce qui est déjà mon cas, alors que pour ma part je cherche à en faire un lanceur sans passer par le terminal et un lanceur disons un peu amélioré.
Mais merci de t'être penché sur le sujet.
Hors ligne
#4 Le 07/06/2016, à 21:04
- lynn
Re : Script Openvpn
Bonjour,
Pour faire un lanceur perso, édites-toi un fichier dans le répertoire
~/.local/share/applications
Par exemple
gedit ~/.local/share/applications/mon_lanceur_vpn.desktop
et mets y quelque chose qui ressemble à ça:
[Desktop Entry]
Comment=Démarre la connexion vpn.
Terminal=false
Name=Le nom de ton application
Exec=Le chemin de ton script
Type=Application
Icon=Le chemin de l'icône utilisée pour ton lanceur
Ton lanceur devrait apparaître quand tu fais une recherche (dans le dash pour unity). Personnellement, je relance ma session sinon le lanceur n'apparaît pas immédiatement...
«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»
Coluche
Hors ligne
#5 Le 10/06/2016, à 21:42
- JPlaroche
Re : Script Openvpn
Si je ne me trompe, c'est a priori, simplement lancer la commande d'openvpn que tu fais?
Ce qui est déjà mon cas, alors que pour ma part je cherche à en faire un lanceur sans passer par le terminal et un lanceur disons un peu amélioré.
Mais merci de t'être penché sur le sujet.
non quand je me connect au boulo, je doit ouvrir un VPN sécurisé une fois le vpn lancé je ne le coupe pas
là j'utilise remotdekstop ou teamvierwer (qui lui enregistre le protocole sans que j'intervienne) une fois terminer avec remotedekstop.. je peux refermer la porte .
cela me sert aussi pour lancer le serveur qui répondra a ma connexion et je passe par un tiers qui gère la sécurité (eh oui boulot boulot) . @plus
depuis 2004 avec Ubuntu
depuis 1976 informaticien Mon site plein d'information pour les programmeurs http://www.ombrebleu.com
Hors ligne
Pages : 1