GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Wie führe ich ein Skript aus, nachdem Openvpn erfolgreich verbunden wurde?

Wie kann ich OpenVPN ein Skript zuordnen, damit es ausgeführt wird, wenn das VPN erfolgreich verbunden ist?

Beste Antwort

network-manager-openvpn keine solche Funktionalität bietet, müssen Sie openvpn verwenden direkt.

Übergeben Sie --script-security 2 --up /path/to/your/script dazu beim Anschließen. Wenn Sie eine Konfigurationsdatei verwenden, die sich unter /etc/openvpn/ befindet , hängen Sie die nächsten Zeilen an Ihre Konfigurationsdatei an:

script-security 2
# run /etc/openvpn/up.sh when the connection is set up
up /etc/openvpn/up.sh

Von der OpenVPN-Manpage:

--script-security level [method]
              This  directive offers policy-level control over OpenVPN’s usage
              of external programs and scripts.  Lower level values  are  more
              restrictive,  higher  values  are more permissive.  Settings for
              level:

              0 -- Strictly no calling of external programs.
              1 -- (Default) Only call built-in executables such as  ifconfig,
              ip, route, or netsh.
              2  --  Allow  calling  of  built-in executables and user-defined
              scripts.
              3 -- Allow passwords to be passed to scripts  via  environmental
              variables (potentially unsafe).
       --up cmd
              Shell  command  to run after successful TUN/TAP device open (pre
              --user UID change).  The up  script  is  useful  for  specifying
              route  commands  which  route  IP  traffic  destined for private
              subnets which exist at the other end of the VPN connection  into
              the tunnel.
Script Order of Execution
       --up   Executed after TCP/UDP socket bind and TUN/TAP open.
       --down Executed after TCP/UDP and TUN/TAP close.

Es gibt noch weitere Ereignisse zur Skriptausführung, diese sind auf der Handbuchseite zu finden.

Erstellen Sie /etc/openvpn/up.sh , und geben Sie ihm Ausführungsberechtigungen (z. B. 755 oder 700). Beispielinhalt zum Hinzufügen einer IPv6-Adresse und -Route (zu Bildungszwecken angezeigt, nicht direkt kopieren):

#!/bin/sh
# add an IPv6 address to device $dev (environment variable)
ip -6 addr add 2001:db8::1:2/112 dev $dev
# and the IPv6 route for this net using gateway 2001:db8::1
ip -6 route add 2001:db8::1:0/112 via 2001:db8::1 dev $dev

Beachten Sie, dass dies up ist Skript wird als root ausgeführt. Wenn Sie keinen User angegeben haben und Group -Einstellung führt OpenVPN Skripte wie down aus auch als root.


Ubuntu
  1. Ubuntu – Wie kann Pam_exec das Skript als aktueller Benutzer ausführen?

  2. So führen Sie „find -exec {};?

  3. Wie führt man Skriptdateien (.sh) in einem neuen Terminal aus, nachdem man sich über SSH mit dem Ubuntu 16.04-Server verbunden hat?

  4. Wie man ein Skript ausführt??

  5. Führen Sie das Bash-Skript nach der Anmeldung aus

So führen Sie ein Skript beim Booten in Debian 11 aus

So erstellen und führen Sie ein Shell-Skript in Ubuntu 20.04 LTS aus

So führen Sie Shell-Skript als Systemd-Dienst in Linux aus

So führen Sie ein Python-Skript in PHP aus

So führen Sie ein Bash-Skript aus

Skript beim Start?