Durch den Parameter learn-address in der Serverkonfigurationsdatei wird der Server angewiesen beim Verbindungsaufbau, bei Verlust der Verbindung und bei erneuter Anfrage ein Skript auszuführen. Die Syntax: learn-address ./learn_address_script.sh

Dem Skript werden beim Aufruf folgende Parameter übergeben:

  • Verbindungsaufbau(add): add IP-Adresse CommonName
  • Erneuter Verbindungsaufbau(update): update IP-Adresse CommonName
  • Verlust der Verbindung(delete): delete IP-Adresse

Gestern erhielt ich aber OpenVPN plötzlich immer folgende Fehlermeldung:

openvpn_execve: external program may not be called due to setting of –script-security level
script failed: external program fork failed

Mein Learn-Skript wurde nicht mehr aufgerufen. Ich habe mir nämlich ein kleines Skript gebaut, was anhand des CommonName spezielle iptables Regeln für den jeweiligen VPN-User setzt. Dieses Problem tirtt auf, weil der Parameter script-security standardmäßig den Wert 1 hat und damit nur vordefinierte Programme wie z.B. ifconfig, ip, route oder netsh aufgerufen werden dürfen. Ein Workaround ist diesen Parameter auf den Wert 2 zu setzen und damit den Aufruf aller(!) benutzerdefinierten Skripte zu erlauben. Dazu wird folgende Zeile in der Server-Konfiguration ergänzt: script-security 2

Was denkst du?


Zustimmung zur Datenspeicherung lt. DSGVO