OpenVPN - Verbindungsscript fehlgeschlagen Exitcode 2
Hallo zusammen,
ich habe ein Problem beim Ausführen eines up-Scripts bei OpenVPN, was mich langsam die Nerven kostet.
Hab das Script unter C:\Programme\OpenVPN\config\config1 zusammen mit der Config und den Zertifikaten abgelegt und entsprechend der Anleitung mit XXX_up.bat benannt. (XXX ist der Dateiname der Config ohne Endung )
Eine Verbindung ohne das Script funktioniert einwandfrei. Kaum ist das Script drin, erscheint, wenn er das Script ausführen will folgende Fehlermeldung:
"Verbindungsscript fehlgeschlagen (Exitcodee=2)"
Hatte hier jemand diese Meldung schon mal?
Bitte um Hilfe
Danke im Voraus.
ich habe ein Problem beim Ausführen eines up-Scripts bei OpenVPN, was mich langsam die Nerven kostet.
Hab das Script unter C:\Programme\OpenVPN\config\config1 zusammen mit der Config und den Zertifikaten abgelegt und entsprechend der Anleitung mit XXX_up.bat benannt. (XXX ist der Dateiname der Config ohne Endung )
Eine Verbindung ohne das Script funktioniert einwandfrei. Kaum ist das Script drin, erscheint, wenn er das Script ausführen will folgende Fehlermeldung:
"Verbindungsscript fehlgeschlagen (Exitcodee=2)"
Hatte hier jemand diese Meldung schon mal?
Bitte um Hilfe
Danke im Voraus.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 337942
Url: https://administrator.de/contentid/337942
Ausgedruckt am: 19.11.2024 um 15:11 Uhr
17 Kommentare
Neuester Kommentar
Hallo Dante2191,
versuch es mal mit einem ganz banalen Skriptinhalt, beispielsweise
<codetype="plain">@echo off
REM mal mit und ohne REM pruefen
REM echo Alles ist gut> d:\ergebnis.txt
exit /b 0
nur um auszuschließen, dass der Fehler nicht im Skript liegt.
Falls das nichts bringt, dann poste bitte eine zensierte Version Deiner Config-Datei.
Gruß Frank
Zitat von @Dante2191:
Hab das Script unter C:\Programme\OpenVPN\config\config1 zusammen mit der Config und den Zertifikaten abgelegt
Eine Verbindung ohne das Script funktioniert einwandfrei. Kaum ist das Script drin, erscheint, wenn er das Script ausführen will folgende Fehlermeldung:
"Verbindungsscript fehlgeschlagen (Exitcodee=2)"
Hab das Script unter C:\Programme\OpenVPN\config\config1 zusammen mit der Config und den Zertifikaten abgelegt
Eine Verbindung ohne das Script funktioniert einwandfrei. Kaum ist das Script drin, erscheint, wenn er das Script ausführen will folgende Fehlermeldung:
"Verbindungsscript fehlgeschlagen (Exitcodee=2)"
versuch es mal mit einem ganz banalen Skriptinhalt, beispielsweise
<codetype="plain">@echo off
REM mal mit und ohne REM pruefen
REM echo Alles ist gut> d:\ergebnis.txt
exit /b 0
nur um auszuschließen, dass der Fehler nicht im Skript liegt.
Falls das nichts bringt, dann poste bitte eine zensierte Version Deiner Config-Datei.
Gruß Frank
Hallo Dante2191,
ergänzend zum Bisherigen:
Ich hab jetzt mal rumprobiert.
Ich habe also keine Idee was da bei Dir schief läuft, es sei denn die Ursache läge im Skript.
Schöner ist es mit Up und Down in der Config, da man dort wahlfrei ist, was Ort und Namen des Skriptes angeht.
Dabei ist
Wenn ich das Up- (und Down-) Skript in der Config definiere, also an eine funktionierende Config diese Zeilen anhänge funktioniert es auch.
Wichtig
Auch wenn man die Skripte mit Pfad angibt, so ist bei deren Ausführung der Config-Ordner von OpenVPN das aktuelle Verzeichnis für das Skript.
Sich dessen bewusst, muss man entweder alle pfadrelevanten Dinge mit absoluten Pfadangaben versehen
oder
dafür sorgen, dass das aktuelle Verzeichnis ist, was man gerne hätte.
In meinem Beispiel-Skript wechsel ich Laufwerk und Pfad, hin zum Skript-Ablageort und prüfen anschließend, ob das auch funktioniert hat.
MeinUp.cmd
Mein Beispiel-Skript enthält den Aufruf eines externen Befehls (
Wenn ich in der Config
<code type=plain">Mon May 22 15:44:23 2017 us=183212 WARNING: External program may not be called unless '--script-security 2' or higher is enabled. See --help text or man page for detailed info.
Mit
<code type=plain">C:\Program Files\Test\MeinDown.cmd OpenVPN xxxx xxxx 192.168.xxx.xxx 255.255.255.0 init
Welche Version von OpenVPN nutzt Du?
Per Kommandozeile oder mit OpenVPN-GUI?
Welche Betriebssystem nutzt Du? XP?
Gruß Frank
ergänzend zum Bisherigen:
Ich hab jetzt mal rumprobiert.
XXX_up.bat
und XXX_down.bat
funktioniert bei mir ohne dass sie in der Config erwähnt werden und ohne irgendwo script-security n
eingetragen zu haben.Ich habe also keine Idee was da bei Dir schief läuft, es sei denn die Ursache läge im Skript.
Schöner ist es mit Up und Down in der Config, da man dort wahlfrei ist, was Ort und Namen des Skriptes angeht.
Dabei ist
script-security n
aber relevant.Wenn ich das Up- (und Down-) Skript in der Config definiere, also an eine funktionierende Config diese Zeilen anhänge funktioniert es auch.
...
...
script-security 2
# Skripte mit Pfadangabe
up "C:\\Program Files\\Test\\MeinUp.cmd"
down "C:\\Program Files\\Test\\MeinDown.cmd"
# Alternativ die Skripte ohne Pfadangabe
# up MeinUp.cmd
# down MeinDown.cmd
Wichtig
Auch wenn man die Skripte mit Pfad angibt, so ist bei deren Ausführung der Config-Ordner von OpenVPN das aktuelle Verzeichnis für das Skript.
Sich dessen bewusst, muss man entweder alle pfadrelevanten Dinge mit absoluten Pfadangaben versehen
oder
dafür sorgen, dass das aktuelle Verzeichnis ist, was man gerne hätte.
In meinem Beispiel-Skript wechsel ich Laufwerk und Pfad, hin zum Skript-Ablageort und prüfen anschließend, ob das auch funktioniert hat.
MeinUp.cmd
@echo off
::Wechsel zu Laufwerk und Pfad des Skriptes
cd /d "%~dp0"
::Prüfen ob's geklappt hat
for /f "tokens=*" %%p in ('cd') do set aktuellerpfad=%%p
echo Ich bin jetzt hier:
echo Aktueller Pfad: %aktuellerpfad%
if "%aktuellerpfad%\" == "%~dp0" goto machwas
goto fehler
:fehler
echo Hier lief was schief.
pause
:goto ende
:machwas
echo Jetzt geht's los...
echo Ich bin up>>up.txt
notepad up.txt
goto ende
:ende
Mein Beispiel-Skript enthält den Aufruf eines externen Befehls (
notepad
).Wenn ich in der Config
script-security 0
oder script-security 1
eintrage konnt keine Verbindung zustande und im Log finde ich diese Zeile:<code type=plain">Mon May 22 15:44:23 2017 us=183212 WARNING: External program may not be called unless '--script-security 2' or higher is enabled. See --help text or man page for detailed info.
Mit
script-security 2
kommt die Verbindung zustande, die Skripte werden ausgeführt und im Log findet das eine kurze Erwähnung.<code type=plain">C:\Program Files\Test\MeinDown.cmd OpenVPN xxxx xxxx 192.168.xxx.xxx 255.255.255.0 init
Welche Version von OpenVPN nutzt Du?
Per Kommandozeile oder mit OpenVPN-GUI?
Welche Betriebssystem nutzt Du? XP?
Gruß Frank
Hallo Dante2191,
Darf ich davon ausgehen, dass die Verbindung erfolgreich aufgebaut wird, wenn Du die Skripte auskommentierst?
Mal ins Blaue:
Nimm das Wort
Es ist zwar nett, wenn Du per Doppelklick auf die cmd auch sehen kann, dass die gewünscht Textausgabe kommt, aber die Verbindung wird erst aufgebaut, wenn die cmd abgearbeitet/beendet/geschlossen ist.
Gruß Frank
Darf ich davon ausgehen, dass die Verbindung erfolgreich aufgebaut wird, wenn Du die Skripte auskommentierst?
...
script-security 2
; up Logon.cmd
; down Logoff.cmd
Zitat von @Dante2191:
Ergebnis: Fenster öffnet sich und er will die Verbindung herstellen. Ausgegeben wird folgendes und "hängt" mit der letzten Zeile
Mein Logon/-off Script hab ich so abgewandelt, dass lediglich eine Textausgabe kommt. Also eigentlich ganz einfach
Ergebnis: Fenster öffnet sich und er will die Verbindung herstellen. Ausgegeben wird folgendes und "hängt" mit der letzten Zeile
Mein Logon/-off Script hab ich so abgewandelt, dass lediglich eine Textausgabe kommt. Also eigentlich ganz einfach
Mal ins Blaue:
Nimm das Wort
pause
aus Deiner cmd.Es ist zwar nett, wenn Du per Doppelklick auf die cmd auch sehen kann, dass die gewünscht Textausgabe kommt, aber die Verbindung wird erst aufgebaut, wenn die cmd abgearbeitet/beendet/geschlossen ist.
Gruß Frank
Hallo Dante2191,
Was ist damit?
Falls es das nicht ist...
Wie wo beschrieben, wie hier:
Du solltest übrigens entweder dem vorgegebenen Namensmuster zur automatischen Zuordnung/Ausführung folgen ala
Letzteres ist zu bevorzugen und wäre mit
Versuch's mal mit OpenVPN 2.4.1 x86_64-w64-mingw32 auch wenn das wahrscheinlich das Problem nicht löst.
Mit welchen Rechten ist denn der User ausgestattet, der die OpenVPN-GUI startet?
Gruß Frank
Zitat von @Dante2191:
Mein Logon/-off Script hab ich so abgewandelt, dass lediglich eine Textausgabe kommt. Also eigentlich ganz einfach
Mein Logon/-off Script hab ich so abgewandelt, dass lediglich eine Textausgabe kommt. Also eigentlich ganz einfach
Was ist damit?
Falls es das nicht ist...
Wie wo beschrieben, wie hier:
Zitat von @Dante2191:
Variante 1: mit Logon_up.cmd/Logon_up.bat
Variante 2: mit script-security 2 und Up.cmd/.bat Down.cmd/.bat
Die OVPN-Config sieht so aus:
Weder die Variante 1 noch 2 passt zur OVPN-Config.Variante 1: mit Logon_up.cmd/Logon_up.bat
Variante 2: mit script-security 2 und Up.cmd/.bat Down.cmd/.bat
Die OVPN-Config sieht so aus:
...
script-security 2
up Logon.cmd
down Logoff.cmd
Du solltest übrigens entweder dem vorgegebenen Namensmuster zur automatischen Zuordnung/Ausführung folgen ala
XXX_up.bat
oder einen abweichenden Namen wählen und den dann in der Config angeben.Letzteres ist zu bevorzugen und wäre mit
Logon.cmd
erfüllt, aber dann muss die Datei auch so heißen.Versuch's mal mit OpenVPN 2.4.1 x86_64-w64-mingw32 auch wenn das wahrscheinlich das Problem nicht löst.
Mit welchen Rechten ist denn der User ausgestattet, der die OpenVPN-GUI startet?
Gruß Frank
Hallo Dante2191,
Im Ersten wird das Skript vermutlich gestartet, aber es beendet sich nicht und OpenVPN wartet auf die Beendigung.
Im Zweiten scheitert die Ausführung des Skripts und das vermutlich ohne dass das Skript überhaupt gestartet wird.
Was sind die Unterschiede in Deiner Config, die mal zu dem einen und mal zu dem anderen Ergebnis führen?
Setz mal bewusst wieder (lediglich) eine Pause ein und schau nach, ob im Taskmanager eine cmd.exe auftaucht, die Du dort dann abschießen müsstest.
Wir reden hier die ganze Zeit über den OpenVPN-Client und dessen Config oder über den OpenVPN-Server und dessen Config?
Gruß Frank
Zitat von @Dante2191:
Ergebnis: Fenster öffnet sich und er will die Verbindung herstellen. Ausgegeben wird folgendes und "hängt" mit der letzten Zeile
...
Fehler im Log "WARNING: Failed running command (--up/--down): returned error code 2"
Das sind zwei unterschiedliche Ergebnisszenarien.Ergebnis: Fenster öffnet sich und er will die Verbindung herstellen. Ausgegeben wird folgendes und "hängt" mit der letzten Zeile
...
Fehler im Log "WARNING: Failed running command (--up/--down): returned error code 2"
Im Ersten wird das Skript vermutlich gestartet, aber es beendet sich nicht und OpenVPN wartet auf die Beendigung.
Im Zweiten scheitert die Ausführung des Skripts und das vermutlich ohne dass das Skript überhaupt gestartet wird.
Was sind die Unterschiede in Deiner Config, die mal zu dem einen und mal zu dem anderen Ergebnis führen?
Setz mal bewusst wieder (lediglich) eine Pause ein und schau nach, ob im Taskmanager eine cmd.exe auftaucht, die Du dort dann abschießen müsstest.
@echo off
pause
Wir reden hier die ganze Zeit über den OpenVPN-Client und dessen Config oder über den OpenVPN-Server und dessen Config?
Gruß Frank
Hallo Dante2191,
Das sind zwei unterschiedliche Ergebnisszenarien.
Im Ersten wird das Skript vermutlich gestartet, aber es beendet sich nicht und OpenVPN wartet auf die Beendigung.
Im Zweiten scheitert die Ausführung des Skripts und das vermutlich ohne dass das Skript überhaupt gestartet wird.
Was sind die Unterschiede in Deiner Config, die mal zu dem einen und mal zu dem anderen Ergebnis führen?
Zitat von @Dante2191:
naja das Skript unterscheidet sich eigentlich lediglich durch den up/down-Befehl und die Angabe der Script-Security. Ansonsten wird daran nix verändert.
Könntest Du dazu etwas konkreter werden?
Ergebnisszenario 1:
CMD wird gestartet, aber beendet sich nicht. Es gibt keine Fehlermeldung aber Verbingsunglog "hängt".
Ergebnisszenario 2:
CMD wird gestartet oder nicht. Es kommt die Fehlermeldung "...error code 2".
Welche Einstellungen führen zu welchem Ergebnisszenario?
Gruß Frank
Zitat von @Dante2191:
Ergebnis: Fenster öffnet sich und er will die Verbindung herstellen. Ausgegeben wird folgendes und "hängt" mit der letzten Zeile
...
Fehler im Log "WARNING: Failed running command (--up/--down): returned error code 2"
Zitat von @Pedant:Ergebnis: Fenster öffnet sich und er will die Verbindung herstellen. Ausgegeben wird folgendes und "hängt" mit der letzten Zeile
...
Fehler im Log "WARNING: Failed running command (--up/--down): returned error code 2"
Das sind zwei unterschiedliche Ergebnisszenarien.
Im Ersten wird das Skript vermutlich gestartet, aber es beendet sich nicht und OpenVPN wartet auf die Beendigung.
Im Zweiten scheitert die Ausführung des Skripts und das vermutlich ohne dass das Skript überhaupt gestartet wird.
Was sind die Unterschiede in Deiner Config, die mal zu dem einen und mal zu dem anderen Ergebnis führen?
naja das Skript unterscheidet sich eigentlich lediglich durch den up/down-Befehl und die Angabe der Script-Security. Ansonsten wird daran nix verändert.
Könntest Du dazu etwas konkreter werden?
Ergebnisszenario 1:
CMD wird gestartet, aber beendet sich nicht. Es gibt keine Fehlermeldung aber Verbingsunglog "hängt".
Ergebnisszenario 2:
CMD wird gestartet oder nicht. Es kommt die Fehlermeldung "...error code 2".
Welche Einstellungen führen zu welchem Ergebnisszenario?
Gruß Frank