8 votes

Comment exécuter plusieurs scripts lorsque openvpn s'établit ?

J'utilise ubuntu 12.04 pour se connecter à un serveur openvpn.

Deux scripts, update-resolv-conf y vpn-up.sh dans /etc/openvpn doit être exécuté lorsque la connexion est établie.

Les commandes suivantes sont ajoutées au fichier configure client.ovpn pour que les deux scripts s'exécutent quand openvpn se connecte et s'arrêtent quand openvpn se déconnecte :

script-security 2
up /etc/openvpn/update-resolv-conf
up /etc/openvpn/vpn-up.sh
down /etc/openvpn/vpn-down.sh
down /etc/openvpn/update-resolv-conf

Cependant, lors de la connexion, seul le premier script est exécuté. Et chaque fois que je dois exécuter le script vpn-up.sh individuellement à la main. Je veux donc savoir comment les faire fonctionner tous les deux lorsque le tunnel openvpn est établi ?

10voto

STEEL Points 380

Pour mémoire. Si vous avez quelques scripts et que le timing n'est pas crucial, vous pouvez aussi utiliser un autre paramètre pour exécuter les scripts.

Script Order of Execution

--up
Executed after TCP/UDP socket bind and TUN/TAP open.
--tls-verify
Executed when we have a still untrusted remote peer.
--ipchange
Executed after connection authentication, or remote IP address change.
--client-connect
Executed in --mode server mode immediately after client authentication.
--route-up
Executed after connection authentication, either immediately after, or some number of seconds after as defined by the --route-delay option.
--client-disconnect
Executed in --mode server mode on client instance shutdown.
--down
Executed after TCP/UDP and TUN/TAP close.
--learn-address
Executed in --mode server mode whenever an IPv4 address/route or MAC address is added to OpenVPN's internal routing table.
--auth-user-pass-verify
Executed in --mode server mode on new client connections, when the client is still untrusted.

https://openvpn.net/index.php/open-source/documentation/manuals/65-openvpn-20x-manpage.html

7voto

Peter Jenkins Points 448

Un hack rapide serait d'appeler le 2ème script à partir de la fin du dernier :

Ajoutez simplement ce qui suit à la fin du script de '/etc/openvpn/update-resolv-conf' :

/etc/openvpn/vpn-up.sh

Je suis sûr que d'autres personnes ici présentes trouveront une façon plus élégante de le faire.

1voto

Adam Chovanec Points 11
up '/bin/bash -c "/etc/openvpn/update-resolv-conf; /etc/openvpn/vpn-up.sh"'

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X