PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : You must define CA file (--ca) or PKCS#12 file (--pkcs12)



dralban7
29.12.08, 10:44
Hi,

habe auf ein Linux-Server in meinem LAN openVPN installiert. Gleichzeitig soll ein Windows-Client per VPN darauf zugreifen.

Derzeit ist der Windows-Client auch im selben LAN und openVPN ist auch hier installiert.

Ich bin streng nach der Beschreibung hier vorgegangen, weil das alles noch Neuland für mich ist:
http://wiki.openvpn.eu/index.php/OVPN-Linux

Am Ende meiner Installation und Konfiguration habe ich versucht von meinem Windows-Rechner auf den
Linux-Server per VPN zuzugreifen, erhalte aber diese Meldung:
Options error: You must define CA file (--ca) or PKCS#12 file (--pkcs12)
Use --help for more information.
Press any key to continue...

1. Frage:
Habt ihr eine Idee, was schief läuft?
Muß ich irgendwelche Zertifikate noch auf dem Windows generieren?
Oder hilft der Hinweis in Frage 2 euch weiter?

2. Frage:
Unten seht ihr einen Auszug aus dem http://wiki.openvpn.eu/index.php/OVPN-Linux.
Mich irritiert,daß ich angeblich den "client1_cert.pem" aus dem /etc/ssl/private Verzeichnis des
Serves auf den Client kopieren soll. Das ist mit meinem Newbie-Verständnis schon komisch.
Private sollte doch auf dem Server bleiben, oder?

..........
.......... Auszug aus HowTo ........
..........

Weitere Befehle kann man sich auch noch hier [10] anschauen.
So nun folgende Dateien mit WinSCP [8] auf unseren Clientrechner unter "C:\Prorgamme\OpenVPN\config" kopieren

vpn-ca.pem
client1_cert.pem
client1_key.pem
Client.ovpn




linux-ewtm:~ # ls -la /etc/ssl
total 64
drwxr-xr-x 5 root root 4096 Dec 29 01:54 .
drwxr-xr-x 115 root root 12288 Dec 29 11:30 ..
-rw-r--r-- 1 root root 796 Dec 29 01:48 Client.ovpn
drwxr-xr-x 2 root root 4096 Dec 29 01:34 Zertifikate
drwxr-xr-x 4 root root 12288 Dec 9 23:30 certs
-rw-r--r-- 1 root root 424 Dec 29 01:41 dh2048.pem
-rw-r--r-- 1 root root 0 Dec 29 01:27 index.txt
-rw-r--r-- 1 root root 9374 Dec 3 07:36 openssl.cnf
drwx------ 2 root root 4096 Dec 29 01:32 private
-rw-r--r-- 1 root root 3 Dec 29 01:34 serial
-rw-r--r-- 1 root root 1623 Dec 29 01:27 vpn-ca.pem


linux-ewtm:~ # ls -la /etc/ssl/private
total 20
drwx------ 2 root root 4096 Dec 29 01:32 .
drwxr-xr-x 5 root root 4096 Dec 29 01:54 ..
-rw-r--r-- 1 root root 1751 Dec 29 01:33 Client1_key.pem
-rw------- 1 root root 1679 Dec 29 01:29 server_key.pem
-rw-r--r-- 1 root root 1766 Dec 29 01:24 vpn-cakey.pem

linux-ewtm:~ # ls -la /etc/ssl/Zer*
total 24
drwxr-xr-x 2 root root 4096 Dec 29 01:34 .
drwxr-xr-x 5 root root 4096 Dec 29 01:54 ..
-rw-r--r-- 1 root root 1298 Dec 29 01:34 Client1_cert.pem
-rw-r--r-- 1 root root 1127 Dec 29 01:33 Client1_csr.pem
-rw-r--r-- 1 root root 1294 Dec 29 01:31 server_cert.pem
-rw-r--r-- 1 root root 1123 Dec 29 01:29 server_csr.pem

Danke.

G
Karl

cane
29.12.08, 11:34
Private sollte doch auf dem Server bleiben, oder?

Nein, das ist der Private Key des Clients.
Tu einfach genau was in der Anleitung steht :)

mfg
cane

dralban7
29.12.08, 12:06
Okay, also muß es doch auf den Client kopiert werden.
Hatte ich nämlich.
Es kommt die gleiche Meldung...
Was kann noch der Fehler sein?

cane
29.12.08, 12:10
Ich denke mal, daß ich das selber geschrieben habe, d.h. das "private" auch beim Server bleiben sollte.

Nein, ein Key ist immer ein Schlüsselpärchen bestehend aus public und private Key, beide müssen zusammen mit dem CA Zertifikat und der OpenVPN Configdatei auf den Client kopiert werden.

--> Die vier von dir fett markierten Keys sind die korrekten :)

mfg
cane

cane
29.12.08, 12:13
Ich denke irgendwelche Pfade stimmen nicht - benutzt Du die GUI unter windows?

mfg
cane

dralban7
29.12.08, 12:55
Hi Cane,

richtig, die 4 von mir fett markierten hatte ich direkt während dem Durchlesen der Anleitung kopiert. Demnach war es richtig, aber es funktionierte nicht mit der Verbindung.

Gehen wir die nächste Frage von dir an:
Gui in Windows.
Ja, benutze ich...

Hast Du eine Idee, ob es daran liegen könnte?

G
Karl

rkauskh
29.12.08, 13:23
Hi

Liegt die GUI auch unter C:\Programme\OpenVPN? Ich denke er findet aufgrund eines falschen Pfades/fehlende Zugriffsrechte die Files nicht. Falls die GUI in einem anderen Verzeichnis liegt, kopier die Files testweise mal dorthin.

dralban7
29.12.08, 23:12
Hi,

habe nun noch einmal die Schlüssel generiert und alles noch einmal nach Anleitung ins config-Verzeichnis meines Windows-Rechner kopiert.

Nun bin ich ein Schritt weiter. Es kam folgende Meldung...
################################################## #
Mon Dec 29 15:02:46 2008 OpenVPN 2.0.9 Win32-MinGW [SSL] [LZO] built on Oct 1 2006
Mon Dec 29 15:02:46 2008 IMPORTANT: OpenVPN's default port number is now 1194, based on an official port number assignment by IANA. OpenVPN 2.0-beta16 and earlier used 5000 as the default port.
Mon Dec 29 15:02:46 2008 WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
Mon Dec 29 15:02:46 2008 Cannot load certificate file c:\Program: error:02001002:system library:fopen:No such file or directory: error:20074002:BIO routines:FILE_CTRL:system lib: error:140AD002:SSL routines:SSL_CTX_use_certificate_file:system lib
Mon Dec 29 15:02:46 2008 Exiting
################################################## #

Aus der Fehlermeldung wird mir klar, daß ich meine Pfade in "Gänsefüßchen" stellen muß. Grund: Ich habe ein englisches Windows und dort ist das Leerzeichen zwischen "Program Files" ein Problem.
Nun habe ich meinen Pfad im "Client.ovpn" folgendermaßen angepasst:
ca "c:\\Program Files\\OpenVPN\\config\\vpn-ca.pem"
cert "c:\\Program Files\\OpenVPN\\config\\Client1_cert.pem"
key "c:\\Program Files\\OpenVPN\\config\\Client1_key.pem"

Alles funktionert.
Bin froh, wenn ich auch was hier im Forum mit einer Lösung beitragen konnte. :)

Danke für eure Hilfen...

G
Karl

dralban7
03.01.09, 12:08
Vielleicht noch eine Frage.

Ich kann mich vom Windows-Client nur dann per OpenVPNGUI anmelden, wenn natürlich auf dem Linux-Server (Suse) der Befehl
openvpn --config /etc/openvpn/Server.ovpn
abgegeben wird, d.h. openvpn läuft.

Will aber, daß VPN automatisch auf dem Server startet.

Ich hatte erst die Idee mit RUNLEVEL und habe da OpenVPN mit YES angegeben, d.h. daß es immer starten soll. Das hilft nicht.

Die Alternative wäre den Befehl openvpn --config /etc/openvpn/Server.ovpn
in /etc/inittab einzutragen.

Wie macht ihr das eigentlich?

Rain_maker
03.01.09, 13:15
Will aber, daß VPN automatisch auf dem Server startet.

Ich hatte erst die Idee mit RUNLEVEL und habe da OpenVPN mit YES angegeben, d.h. daß es immer starten soll. Das hilft nicht.

Dann machst Du wohl was falsch.



~> ps aux|grep -i openvpn |grep -v grep
root 11227 0.0 0.1 4108 988 ? Ss 14:07 0:00 /usr/sbin/openvpn --daemon --writepid /var/run/openvpn/server.pid --config /etc/openvpn/server.conf --cd /etc/openvpn
~> chkconfig -l openvpn
openvpn 0:off 1:off 2:off 3:on 4:off 5:on 6:off


su -c "rcopenvpn status"
Passwort:
Checking for OpenVPN: running
Status written to /var/log/messages


Wie macht ihr das eigentlich?

Wie in der Dokumentation beschrieben.


rpm -ql openvpn |grep README
/usr/share/doc/packages/openvpn/README
/usr/share/doc/packages/openvpn/README.SUSE
/usr/share/doc/packages/openvpn/README.auth-pam
/usr/share/doc/packages/openvpn/README.down-root
/usr/share/doc/packages/openvpn/README.plugins
/usr/share/doc/packages/openvpn/contrib/README
/usr/share/doc/packages/openvpn/contrib/openvpn-fwmarkroute-1.00/README
/usr/share/doc/packages/openvpn/sample-config-files/README
/usr/share/doc/packages/openvpn/sample-keys/README
/usr/share/openvpn/easy-rsa/2.0/README
/usr/share/openvpn/easy-rsa/README
/usr/share/openvpn/easy-rsa/Windows/README.txt

//Edit:


Die Alternative wäre den Befehl openvpn --config /etc/openvpn/Server.ovpn
in /etc/inittab einzutragen.

Oder aber das Konfigurationsfile so zu benennen, daß das Initscript damit etwas anfangen kann.



case "$1" in
start)
echo -n "Starting $DAEMON "

/sbin/modprobe tun &>/dev/null

for conf in $confdir/*.conf; do
pidfile=$piddir/$(basename "${conf%%.conf}").pid
if [ -e "$pidfile" ]; then
killproc -p "$pidfile" -USR2 $openvpn
s=$?
case $s in
0) continue ;; # no an error
7) rm -f "$pidfile" ;; # not running
*) ret=false ; continue ;;
esac
fi

$openvpn --daemon \
--writepid "$pidfile" \
--config "$conf" \
--cd $confdir \
|| ret=false
done

dralban7
03.01.09, 13:46
Ja, da stimmt was nicht.

Ich gehe nämlich über YAST in den Runlevel.
Dort heißt es im Simple-Mode:
openvpn │Yes* │OpenVPN tunnel

Gehe ich in den Expert-Mode, dann ist es komischerweise auf "No":
│openvpn │No │ │ │ │ │3│5│ │ │OpenVPN tunnel

Aktivieren im Expert-Mode nutzt auch nicht.
su -c "rcopenvpn status" zeigt "unused an:
Checking for OpenVPN: unused

Rain_maker
03.01.09, 13:52
Lies mein EDIT.

Deine Konfigurationsdatei wird wegen falschen Namens (Dateiendung) nicht erkannt.

Mit dem Runleveleditor hat das gar nichts zu tun.

Danach



chkconfig openvpn onals root und fertig ist die Laube.

dralban7
03.01.09, 14:43
Danke für deine Hilfe...

Auf jeden Fall funktioniert es so auf der Konsole:
openvpn --config /etc/openvpn/Server.ovpn
Denke, daß ich bei der Idee mit dem Eintrag in /etc/inittab bleibe.

Denn ich denke, daß ich auf dem Schlauch stehe.
Ich habe openVPN über YAST installiert. Ich weiß nicht, welche config-File du meinst. Das sind meine Files.

linux:~ # ls -lh /etc/ssl
total 39K
-rw-r--r-- 1 root root 1.2K Jan 3 06:11 Server.ovpn
drwxr-xr-x 2 root root 176 Jan 3 06:07 Zertifikate
drwxr-xr-x 4 root root 11K Dec 9 23:39 certs
-rw-r--r-- 1 root root 424 Jan 3 06:10 dh2048.pem
-rw-r--r-- 1 root root 0 Jan 3 06:03 index.txt
-rw-r--r-- 1 root root 9.2K Dec 3 07:36 openssl.cnf
drwx------ 2 root root 144 Jan 3 06:05 private
-rw-r--r-- 1 root root 3 Jan 3 06:07 serial
-rw-r--r-- 1 root root 1.7K Jan 3 06:03 vpn-ca.pem

linux:~ # ls -lh /etc/openvpn/
total 4.0K
-rw-r--r-- 1 root root 1.2K Jan 3 06:15 Server.ovpn

Rain_maker
03.01.09, 14:55
Das Initscript erwartet ein Konfigurationsfile, welches auf den Namen .conf endet.

marce
20.01.09, 06:08
#15 als Spam gemeldet.