Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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

eirtal a écrit :

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