Après quelques jours sur Google, je ne parviens pas à trouver la bonne réponse à ma question. Après avoir lu beaucoup de possibilités de script, OpenVPN est opérationnel.
J'ai un client sous Debian 7.8, avec OpenVPN 2.2.1 x86_64-linux-gnu.
La connexion fonctionne très bien et tout va bien. Mais - je dois monter des lecteurs NFS, puis la connexion est établie ("up" - je suppose).
Mais - alors j'essaie de démarrer un script, je rencontre cette erreur:
Tue Jun 23 10:44:55 2015 /usr/share/openvpn/script-to-start.sh tun0 1500 1542 192.168.2.6 192.168.2.5 init
Tue Jun 23 10:44:55 2015 WARNING: Failed running command (--up/--down): could not execute external program
Tue Jun 23 10:44:55 2015 Exiting
J'ai ajouté les paramètres dans le fichier de configuration:
script-security 2
up /usr/share/openvpn/script-to-start.sh
down /usr/share/openvpn/script-to-stop.sh
Voir le fichier de paramètres complet ici .
Le script que j'essaye de lancer (juste pour tester maintenant) est:
#/bin/bash
grep vpn /var/log/syslog > /home/USERNAME/test.txt
clear
echo "Good morning, world."
( Mise à jour 2017: - La marque "!" Est manquante dans la ligne #/bin/bash-line. Ne copiez/collez pas la ligne ci-dessus, car c'était le problème)
J'ai aussi testé avec "#!/Bin/sh", juste pour être sûr. Après tout, j'ai testé les autorisations et la propriété:
Comme vous pouvez le constater, j’ai ajouté "script-security 2" avant les commandes "up" et "down". OpenVPN s'exécute en tant que root et est lancé par un script init.d, mais même si j'essaie de l'exécuter avec la commande complète, j'obtiens la même erreur.
Voir l'exemple ci-dessous (avec et sans Sudo):
Sudo openvpn --remote SERVERDOMAIN --dev tun1 --ifconfig 192.168.2.2 192.168.2.1 --tls-client --ca /etc/openvpn/easy-rsa/keys/ca.crt --cert /etc/openvpn/easy-rsa/keys/TITLE.crt --key /etc/openvpn/easy-rsa/keys/TITLE.key --reneg-sec 60 --verb 5 --script-security 2 --up /usr/share/openvpn/script-to-start.sh
Si je lance moi-même le maudit petit script, avec SU et Sudo, tout se passe sans heurts.
Le fait est que je dois exécuter cette commande pour monter quelques lecteurs NFS, mais pour le moment je suis verrouillé. J'ai donc besoin d'aide ici. J'ai essayé sur un forum danois sans succès.
Sudo mount 192.168.2.1:/media/usb1/sync /home/USERNAME/sync
Les manuels en ligne ne sont pas très utiles - et maintenant, j'ai besoin de votre aide.
J'ai rencontré le même problème, heureusement j'ai trouvé une solution.
Voici les choses que j'ai vérifiées:
grep
devrait être /bin/grep
; vous pouvez trouver le chemin complet en tapant which
devant votre commande).script-security 2 system
à la placeJuste pour que ce soit clair: j'ai oublié le "!" (point d'exclamation). C'est tout expliquer.
#!/bin/bash