Wie führe ich mehrere Skripte aus, wenn OpenVPN eingerichtet ist?

Wie führe ich mehrere Skripte aus, wenn OpenVPN eingerichtet ist?

ich benutzeUbuntu 12.04um eine Verbindung zu einem OpenVPN-Server herzustellen.

Zwei Skripte,Aktualisierung der AuflösungskonfUndvpn-up.sh, in /etc/openvpn sollte ausgeführt werden, wenn die Verbindung hergestellt ist.

Die folgenden Befehle werden der Konfigurationsdatei hinzugefügtclient.ovpnum die beiden Skripte auszuführen, wenn OpenVPN eine Verbindung herstellt, und zu stoppen, wenn OpenVPN die Verbindung trennt:

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

Allerdings wird während der Verbindung nur das erste Skript ausgeführt. Und jedes Mal muss ich das Skript ausführenvpn-up.sheinzeln von Hand. Ich möchte also wissen, wie ich beide zum Laufen bekomme, wenn ein OpenVPN-Tunnel eingerichtet ist?

Antwort1

Ein schneller Hack wäre, das zweite Skript vom Ende des letzten aus aufzurufen:

Fügen Sie einfach Folgendes am Ende des Skripts „/etc/openvpn/update-resolv-conf“ hinzu:

/etc/openvpn/vpn-up.sh

Ich bin sicher, dass es hier Leute gibt, die einen eleganteren Weg dafür finden.

Antwort2

Nur als Referenz. Wenn Sie mehrere Skripte haben und das Timing nicht entscheidend ist, können Sie auch einen anderen Parameter zum Ausführen von Skripten verwenden.

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

Antwort3

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

verwandte Informationen