¿Cómo ejecutar múltiples scripts cuando se establece openvpn?

¿Cómo ejecutar múltiples scripts cuando se establece openvpn?

estoy usandoUbuntu 12.04para conectarse a un servidor openvpn.

Dos guiones,actualización-resolv-confyvpn-up.sh, en /etc/openvpn debe ejecutarse cuando se establezca la conexión.

Los siguientes comandos se agregan al archivo de configuración.cliente.ovpnpara hacer que los dos scripts se ejecuten cuando openvpn se conecte y se detengan cuando openvpn se desconecte:

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

Sin embargo, durante la conexión sólo se ejecuta el primer script. Y cada vez que tengo que ejecutar el scriptvpn-up.shindividualmente a mano. Entonces, quiero saber cómo hacer que ambos funcionen cuando se establece el túnel openvpn.

Respuesta1

Un truco rápido sería llamar al segundo script desde el final del último:

Simplemente agregue lo siguiente al final del script '/etc/openvpn/update-resolv-conf':

/etc/openvpn/vpn-up.sh

Estoy seguro de que la gente aquí proporcionará una forma más elegante de hacer esto.

Respuesta2

Solo para referencia. Si tiene algunos scripts y el tiempo no es crucial, también puede usar otro parámetro para ejecutar 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

Respuesta3

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

información relacionada