[Frage] [7390] openVPN-Konfiguration Fehlermeldung

hssuhle

Neuer User
Mitglied seit
16 Mai 2005
Beiträge
174
Punkte für Reaktionen
0
Punkte
0
Beim Starten des openVPN-Servers bekomme ich:
Code:
/mod/etc/default.openvpn/openvpn_conf: eval: line 1: 01: not found
/mod/etc/default.openvpn/openvpn_conf: eval: line 1: 02: not found
/mod/etc/default.openvpn/openvpn_conf: line 1: can't create /var/tmp/openvpn/clients_openvpn/: Is a directory
/mod/etc/default.openvpn/openvpn_conf: line 1: can't create /var/tmp/openvpn/clients_openvpn/: Is a directory
Starting openvpn ... failed.
Weiteres Problem:
Trotz Auswahl von "Authentifizierungsmethode: Zertifikate" bekomme ich kein Eingabefeld für den privaten Schluessel der Box mit der Begründung, den benötige man ja nur für die Authentifizierung mit Zertifikaten... Funny.

Kann mir bitte jemand helfen?

Dankeschön!

hssuhle
 
Zuletzt bearbeitet:

RalfFriedl

IPPF-Urgestein
Mitglied seit
22 Apr 2007
Beiträge
12,343
Punkte für Reaktionen
1
Punkte
0
Was steht denn in /mod/etc/default.openvpn/openvpn_conf, und was wird angezeigt, wenn man es mit "sh -x /mod/etc/default.openvpn/openvpn_conf" aufruft?
 

hssuhle

Neuer User
Mitglied seit
16 Mai 2005
Beiträge
174
Punkte für Reaktionen
0
Punkte
0
Ich hänge beides mal als attachment an, ok?
 

Anhänge

RalfFriedl

IPPF-Urgestein
Mitglied seit
22 Apr 2007
Beiträge
12,343
Punkte für Reaktionen
1
Punkte
0
Du hast Leerzeichen in den Namen der Clients.
Wenn Du willst, kannst Du einen Patch dafür erstellen, mit dem das korrigiert wird.
 

hssuhle

Neuer User
Mitglied seit
16 Mai 2005
Beiträge
174
Punkte für Reaktionen
0
Punkte
0
So eine einfache Lösung! Danke!

Dann bastele ich mir wohl am einfachsten neue Zertifikate...

Vielen Dank für die Hilfe!

Komisch nur, dass es mit älteren Versionen klaglos geklappt hat. Naja, egal.

Schönen Gruß!

hssuhle
 

MaxMuster

IPPF-Promi
Mitglied seit
1 Feb 2005
Beiträge
6,932
Punkte für Reaktionen
1
Punkte
36
Ich denke, das ist nicht korrekt bzw nicht ausreichend. Mein Ansatz wäre:

Code:
--- openvpn_conf.ori	2012-01-22 21:25:31.185364782 +0100
+++ openvpn_conf	2012-01-22 21:35:25.265365354 +0100
@@ -146,7 +146,7 @@
 			while [ $client -le "$CLIENTS_DEFINED" ]
 			do	
 				eval C_IP$client=$actcip
-				eval C_NAME$client=$actcname
+				eval C_NAME$client=\"$actcname\"
 				eval C_NET$client=\"$actcnet\"
 				actcip=${restip%%:*}
 				restip=${restip#*:}
@@ -162,12 +162,12 @@
 			while [ $client -le "$CLIENTS_DEFINED" ]
 			do
 				eval net=\$C_NET$client
-				eval name=\$C_NAME$client
+				eval name=\"\$C_NAME$client\"
 				eval ip=\$C_IP$client
-				echo "ifconfig-push $ip $BOX_MASK"  > $CCD/$name
+				echo "ifconfig-push $ip $BOX_MASK"  > "$CCD/$name"
 				if [ "$net" != "-" ]; then
 					echo -e "route $net $ip" | sed "s/[[:space:]]*;[[:space:]]*/ ${ip}\nroute /g" >> $CONFFILE
-					echo -e "iroute $net" | sed "s/[[:space:]]*;[[:space:]]*/\niroute /g" >> $CCD/$name
+					echo -e "iroute $net" | sed "s/[[:space:]]*;[[:space:]]*/\niroute /g" >> "$CCD/$name"
 				fi
 				if [ "$CLIENT2CLIENT" = "yes" ]; then
 					i=1
@@ -175,7 +175,7 @@
 						if [ $i -ne $client ]; then
 							eval cnet=\$C_NET$i 
 							eval cip=\$C_IP$i
-							[ "$cnet" != "-"  ] && echo -e "push \"route $cnet $cip\"" | sed "s/[[:space:]]*;[[:space:]]*/ ${cip}\"\npush \"route /g" >> $CCD/$name
+							[ "$cnet" != "-"  ] && echo -e "push \"route $cnet $cip\"" | sed "s/[[:space:]]*;[[:space:]]*/ ${cip}\"\npush \"route /g" >> "$CCD/$name"
 						fi
 						i=$((1+$i))
 					done

ich versuche das später/morgen mal...
 

RalfFriedl

IPPF-Urgestein
Mitglied seit
22 Apr 2007
Beiträge
12,343
Punkte für Reaktionen
1
Punkte
0
Die eval Anweisungen sollten so bleiben, wie sie sind.
Die Anführungszeichen um "$CCD/$name" sind richtig, wobei ein Schrägstrich im Namen auch nicht gut wäre. Spricht etwas dagegen, diese Namen einfach durch zu nummerieren?
 

MaxMuster

IPPF-Promi
Mitglied seit
1 Feb 2005
Beiträge
6,932
Punkte für Reaktionen
1
Punkte
36
Welche "evals" genau sollten wie bleiben?

Die Namen sind ja quasi "vorgegeben", es sind die "common names" aus dem Zertifikat (ich hatte nie ge-/bedacht, dass leerzeichen "zulässig" sind).
Wenn da ein Schrägstrich drin wäre, müsste der natürlich korrekter Weise auch noch escaped werden...

Bisher hat sich aber noch niemand beschwert, vermutlich weil solche "Sonderfälle" doch eher unüblich sind. Und ich missbrauche zudem auch noch # und : als Trennzeichen in der COnfig, so dass auch diese als Namensteil entfallen.
 

RalfFriedl

IPPF-Urgestein
Mitglied seit
22 Apr 2007
Beiträge
12,343
Punkte für Reaktionen
1
Punkte
0
Alle evals sollen so bleiben, wie sie jetzt im Trunk sind.
Es gibt kein Escape für einen Schrägstrich im Dateinamen. Allenfalls kann man die Verzeichnis anlegen, die für die Datei notwendig sind.
Ist es wirklich notwendig, dass die Dateien so heißen wie das Zertifikat? OpenSSL verwendet normalerweise einen Hash, um passenden Zertifikate zu finden.
 

MaxMuster

IPPF-Promi
Mitglied seit
1 Feb 2005
Beiträge
6,932
Punkte für Reaktionen
1
Punkte
36
Ist es wirklich notwendig, dass die Dateien so heißen wie das Zertifikat?
Ich wüsste keine Alternative. OpenVPN schaut bei einer Verbindung nach, ob die Datei "<ClientConfigDir>/<common name>" existiert und liest daraus die Befehle für diesen Client.:

Code:
After a connecting client has been authenticated, OpenVPN will look in this directory 
for a file having the same name as the client's X509 common name. [...]
Damit bin ich indirekt auf "legale Dateinamen" als möglich CNs angewiesen...
 

hssuhle

Neuer User
Mitglied seit
16 Mai 2005
Beiträge
174
Punkte für Reaktionen
0
Punkte
0
Habe gerade neu ausgecheckt - keine Fehlermeldung wegen des Leerzeichens.

AAAAABER:

Ich kann den privaten Schlüssel der Box immer noch nicht über das Webinterface eingeben:
Code:
Private Key (OpenVPN)

Der private Schlüssel für diese Instanz. Wird nur für den Betrieb mit Zertifikaten benötigt.

[COLOR="red"]Fehler: Unbekannter Typ 'text '[/COLOR]
Könntet Ihr das bitte auch noch reparieren? Das wäre cool!
 

MaxMuster

IPPF-Promi
Mitglied seit
1 Feb 2005
Beiträge
6,932
Punkte für Reaktionen
1
Punkte
36
Ich habe dazu gestern hier nachgefragt, ist aber wohl untergegangen, weil es nicht die Hauptsache in dem Thread ist...

Könntest du bitte mal die Ausgabe von "cat /etc/default.openvpn/box_key.def " posten?
Und dann noch die von:
Code:
modunreg file openvpn 'box_key' 'Private Key' 0 "box_key"
sh -x /usr/bin/modreg file openvpn 'box_key' 'Private Key' 0 "box_key"
EDIT: Wer lesen kann ..... ;-) In dem Thread steht ja auch schon was. Ich schaue es mir mal an.
 
Zuletzt bearbeitet:

hssuhle

Neuer User
Mitglied seit
16 Mai 2005
Beiträge
174
Punkte für Reaktionen
0
Punkte
0
Aaaaalso:
Die Ausgabe von modunreg ist "Totenstille"
Die anderen beiden hänge ich an:
 

Anhänge

MaxMuster

IPPF-Promi
Mitglied seit
1 Feb 2005
Beiträge
6,932
Punkte für Reaktionen
1
Punkte
36
Also, ich weiß jetzt, dass der Fehler kommt, weil beim Aufruf des Skriptes, was die Seite erzeugt (/usr/lib/mww/page.d/file/edit_body.sh) der CONFIG_TYPE nicht 'text' sondern scheinbar 'text ' ist (Leerzeichen am Ende).
Aber in der Config steht es ja richtig drin, also
Code:
CONFIG_TYPE='text'
Das irritiert mich...

Kommt der Fehler bei irgendeiner anderen Seite auch? Also entweder bei den anderen OpenVPN Files oder unter Freetz->rc_custom oder so?
 
Zuletzt bearbeitet:

hssuhle

Neuer User
Mitglied seit
16 Mai 2005
Beiträge
174
Punkte für Reaktionen
0
Punkte
0
Ja, das ist mir auch aufgefallen.
Gerade noch einmal (zur Sicherheit) nachgesehen. Das Leerzeichen ist aber genau so drin.
 

MaxMuster

IPPF-Promi
Mitglied seit
1 Feb 2005
Beiträge
6,932
Punkte für Reaktionen
1
Punkte
36
Könntest du das bitte mal ausführen? Gibt es da was als Ergebnis (nur *.def Dateien sind "wichtig")?
Code:
grep -r "text " /mod/etc/default.*/*
 

hssuhle

Neuer User
Mitglied seit
16 Mai 2005
Beiträge
174
Punkte für Reaktionen
0
Punkte
0
neee. Nicht wirklich...

Code:
[email protected]:/var/mod/root# grep -r "text " /mod/etc/default.*/*
/mod/etc/default.webcfg/webcfg_conf:# protect file servers.php to be viewed in clear text via URL with a fantasy password
 

MaxMuster

IPPF-Promi
Mitglied seit
1 Feb 2005
Beiträge
6,932
Punkte für Reaktionen
1
Punkte
36
Noch eine Bitte. Ändert sich was, wenn du das so machst? Wir dann die Datei angezeigt?
Code:
sed 's%chmod [^\;]*; %% '  /etc/default.openvpn/box_key.def  > /tmp/box_key.def

mount -o bind  /tmp/box_key.def /etc/default.openvpn/box_key.def
Wie ist das mit den anderen "Dateien", gehen die?
 

Zurzeit aktive Besucher

Keine Mitglieder online.
3CX

Statistik des Forums

Themen
235,885
Beiträge
2,067,230
Mitglieder
356,872
Neuestes Mitglied
Machsgut