panguu
Goto Top

Fragen zu OpenVPN unter OpenWRT

Hi Leute,

ich möchte OpenVPN einrichten zwischen zwei WRT54G Routern und halte mich dabei an diese Anleitung hier:

http://wiki.openwrt.org/doc/howto/vpn.openvpn?s=openvpn

Jedoch habe ich einige Fragen offen, mit der Hoffnung einige hilfreiche Antworten zu finden.

1.) Es heißt in Punkt 4. bei Build-Certificates:
Copy the important files to the /etc/openvpn directory, so that they are duplicated
cd /etc/easy-rsa/keys
cp ca.crt ca.key dh1024.pem server.crt server.key /etc/openvpn/

Muss ich tatsächlich von /etc/easy-rsa/keys die Schlüssel nach /etc/openvpn/ reinkopieren?? Würde es denn nicht funktionieren, wenn ich in meiner /etc/config/openvpn einfach eingebe:

option ca /etc/easy-rsa/keys/ca.crt
option cert /etc/easy-rsa/keys/server.crt
option key /etc/easy-rsa/keys/server.key
option dh /etc/easy-rsa/keys/dh1024.pem

Normalerweise sollte doch der OpenVPN daemon direkt aus diesem Verzeichnis lesen können, oder nicht?

2.) Da steht ich solle mein Device bridgen, das habe ich jedoch nicht gemacht, denn ich verwende tun statt tap. Ich will nicht Ethernet-Bridging betreiben. Also ist das richtig so, oder muss ich trotzdem irgendwas an meinen Devices noch anpassen?

3.) Als ich meine Schlüssel erstellt habe, wurde ich nach einem Passwort gefragt. Wenn ich ein leeres Passwort eingebe, dann würde das doch bedeuten, dass jeder der in den Besitz der Schlüssel gelangt, eine Verbindung herstellen könnte. Das will ich eigentlich vermeiden. Wenn ich aber ein Passwort setze, dann würde der Client nach einem Reboot nicht automatisch eine gesicherte Verbindung zum Server aufbauen können, da ja vorher das Passwort für das passwortgeschützte keyfile eingegeben werden müsste, oder nicht? Kann ich trotzdem ein Passwort verwenden, und auf dem Client dieses Passwort fix eingeben, so dass es irgendwo gespeichert wird und selbst einem Router-Reboot noch von openvpn-client abgerufen und verwendet werden kann?

4.) Wenn ich pkcs12 keys erstelle für meine Clients, dann brauch ich auf dem Client wirklich NUR die .p12 Datei kopieren und in der client-config verwende ich die Direktive
pkcs12 /etc/openvpn/client1.p12
?

5.) Angenommen ich erstelle auf einem frisch installierten OpenWRT-Router die ganzen Keys nach Anleitung. Also "build-ca", "build-dh", "build-key-server server", "build-key client1" bzw. "build-key-pkcs12 client1" und sichere mir das gesamte /etc/easy-rsa/keys Verzeichnis irgendwo weg. Dann würde ich den Router neu flashen, er ist also von Grund auf neu und resettet. Würde es funktionieren, wenn ich einfach das /etc/easy-rsa/keys aus meinem vorher erstellten Backup auf den frisch installierten OpenWRT-Router kopiere? Oder funktionieren die Keys dann nicht, weil die irgendwie mit der Hardware und dem vorherigen Image abgeglichen wurden?


Fragen über Fragen, freue mich auf eure Antworten.

Content-Key: 195427

Url: https://administrator.de/contentid/195427

Printed on: April 20, 2024 at 03:04 o'clock

Member: Alchimedes
Alchimedes Dec 05, 2012 at 16:43:43 (UTC)
Goto Top
Hallo,

zu Punkt1)
Du kannst die configs dort ablegen wo Du willst aber in der /etc/openvpn/conf muessen die Pfade
entsprechend passen.

2) Bridgen brauchst Du nicht es reicht die Einrichtung eines tun Devices.

3) Du kannst ein Passwort vergeben und dann bei dem Openvpnclients das Passwort speichern.

Gruss
Member: panguu
panguu Dec 05, 2012 updated at 17:49:40 (UTC)
Goto Top
und wie speichere ich auf der Clientseite (ebenfalls OpenWRT-Router) das Passwort für den Schlüssel?

Eine weitere Frage, die ich hätte wäre:

Auf dem einen WRT54GL-Router (=soll als VPN-Server laufen) läuft OpenWRT BackFire mit OpenVPN version 2.1.4-3
Auf dem anderen WRT54GL-Router (=ist ein VPN-Client) läuft OpenWRT WhiteRussian mit OpenVPN version 2.0.8-1


der Server sieht so aus:
/etc/config/openvpn:
package openvpn

config openvpn server

        option enable 1
        option port 1194
        option proto udp
        option dev tun
        option ca /etc/easy-rsa/keys/ca.crt
        option cert /etc/easy-rsa/keys/server.crt
        option key /etc/easy-rsa/keys/server.key
        option dh /etc/easy-rsa/keys/dh1024.pem
        option server "10.8.0.0 255.255.255.0"  
        option ifconfig_pool_persist /tmp/ipp.txt
        option keepalive "10 120"  
        option comp_lzo 1
        option persist_key 1
        option persist_tun 1
        option log /tmp/openvpn.log
        option verb 3
        option user nobody

der Client sieht so aus:
/etc/openvpn/my.conf
dev tun
tls-client
remote meinserver.dyndns.org 1194
proto udp
nobind
user nobody
persist-key
persist-tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/client.crt
key /etc/openvpn/client.key
comp-lzo
verb 3
log /tmp/openvpn.log

Wenn sich nun der Client-Router am Server-Router anmeldet, dann läuft laut log alles ok. Die letzten Meldungen auf dem openvpn-server log sind:
[myclient.dyndns.org] Peer Connection initiated with 123.234.123.234:2051
... MULTI: Learn: 10.8.0.6 -> myclient.dyndns.org/123.234.123.234:2051
... MULTI: primary virtual IP for myclient.dyndns.org/123.234.123.234:2051: 10.8.0.6

Jedoch kann ich weder vom Client-Router aus einen Ping auf die 10.8.0.1 (=server) absetzen, noch vom Server-Router aus einen Ping auf die 10.8.0.6 (=client) absetzen. Komischerweise seh ich auch kein tun-interface an meinem Client wenn ich ifconfig eingebe. Ich hab am client-Router nur folgende interfaces: eth0, eth1, lo und vlan0. Was habe ich denn hier vergessen oder wo ist mein Fehler? wenn ich mich recht erinnere, wurde diese ältere OpenWRT WhiteRussian vorher als OpenVPN-Client im TAP (ethernet bridging Modus) verwendet. Kann es sein, dass es daran liegt, und die Netzwerk-Interface-Einstellungen nicht stimmen? Wo wird das in WhiteRussian geregelt? Ich kann unter /etc/config oder /etc keine Netzwerkeinstellungen finden. Hoffe jemand kann mich hier etwas unterstützen.
Mitglied: 108012
108012 Dec 07, 2012 at 01:50:48 (UTC)
Goto Top
Zitat von @panguu:
Hallo,

und wie speichere ich auf der Clientseite (ebenfalls OpenWRT-Router) das Passwort für den Schlüssel?
Welche IP Subnetze verwendest Du denn auf jeder Seite? Etwa die selben!? Das solltest Du zuerst ändern!

Eine weitere Frage, die ich hätte wäre:
Bitte erst das oben genannte erledigen, danke!

Auf dem einen WRT54GL-Router (=soll als VPN-Server laufen) läuft OpenWRT BackFire mit OpenVPN version > 2.1.4-3
Was sagt der Changelog darüber aus und was hat Dir das openWRT Team dazu geschrieben?
Oder kurz um, vertragen diese sich denn?

Auf dem anderen WRT54GL-Router (=ist ein VPN-Client) läuft OpenWRT WhiteRussian mit OpenVPN version
2.0.8-1
Was sagt der Changelog darüber aus und was hat Dir das openWRT Team dazu geschrieben?
Oder kurz um, vertragen diese sich denn?


Jedoch kann ich weder vom Client-Router aus einen Ping auf die 10.8.0.1 (=server) absetzen, noch > vom Server-Router aus einen Ping auf die 10.8.0.6 (=client) absetzen.
Wie oben schon beschrieben geht das wohl auch so nicht!!! Eine Möglichkeit wäre jetzt,
die Server Seite mit 10.8.0.1 und die Klient Seite mit 10.8.1.1 auszustatten!! Sonst wird es
wohl eher nichts mit dem Ping.

Hoffe jemand kann mich hier etwas unterstützen.
Ich hoffe auch denn, das lesen einer einzigen Bedienungsanleitung (Manual) bringt einen auch nicht so durcheinander! Also wäre es ja ziemlich "cremig" wenn Du einmal den Einsatz eines OpenWRT OS näher in
Betracht zeihst, ist ja nur meine bescheidene Meinung.

Gruß
Dobby
Member: orcape
orcape Dec 07, 2012 at 10:06:23 (UTC)
Goto Top
Hi,
Zitat von @108012:
Was sagt der Changelog darüber aus und was hat Dir das openWRT Team dazu geschrieben?
Changelog und Routintabellen sowohl vom Server wie vom Client wären schon nötig um eine Aussage treffen zu können.
Zitat von @108012:
Wie oben schon beschrieben geht das wohl auch so nicht!!! Eine Möglichkeit wäre jetzt,
die Server Seite mit 10.8.0.1 und die Klient Seite mit 10.8.1.1 auszustatten!! Sonst wird es
wohl eher nichts mit dem Ping.
Panguu spricht hier vom Tunnelnetz und da dürfte das schon OK sein wenn Server und Client im gleichen Netz ist. -face-smile
Gruß orcape
Member: panguu
panguu Dec 07, 2012 at 11:03:09 (UTC)
Goto Top
@108012: Glaubst du denn etwa ich hätte KEIN Manual durchgelesen, oder was bezweckst du mit deiner Aussage? Ich verwende tunneling und kein ethernet-bridging, und die Netze sind definitiv i.O, zumal der Client seine IP vom Server zugewiesen bekommt (!).

Ich habe den älteren OpenWRT mittlerweile mitdemselben Image wie dem des Server-Side OpenWRT ausgestattet, also BackFire, dieselbe Version (ist ja auch dasselbe Image). Jetz kann ich zwar die VPN-IP des Gegenpartners anpingen, dennoch habe ich noch Probleme, vom Server-Side-OpenWRT das Netz hinter Client-Side-OpenWRT zu erreichen. Firewalls sind auf beiden OpenWRT ausgeschaltet zur Fehlerausgrenzung, und die Routen + Rückrouten sind auch eingetragen. Vom Client-Side-OpenWRT kann ich jedoch das Server-Side-Netz anpingen. Echt komisch, obwohl ich nahezu identische Einstellungen verwende und die Routen habe ich zig mal überprüft. Die statischen Routen habe ich auch in meinen beiden Internetroutern der jeweiligen Standorte eingetragen, da die OpenWRT nicht selbst ins Internet gelangen können. hmmmmm
Mitglied: 108012
108012 Dec 07, 2012 updated at 11:27:51 (UTC)
Goto Top
Hallo orcape,

der so genannte Changelog, ist das, was OpenWRT Programmierer zu einer neuen Version mit anzeigen oder besser das was sich verändert hat seit der letzten OpenWRT Version! Und natürlich war das eher auf
Inkompatibilitäten im Bereich VPN zu einander, also OpenWRT WhiteRussian Version zu OpenWRT BackFire Version, das kann man dort schnell in Erfahrung bringen!

Panguu spricht hier vom Tunnelnetz und da dürfte das schon OK sein wenn Server und Client im gleichen
Netz ist.
Sorry normaler Weise bin ich nicht so, aber das ist nun Quatsch, lass Dich hier nicht von dem
Wort Client (Laptop, PC, Tablet) in die Irre führen, bei beiden Geräten handelt es sich um Router die eine Sid-to-Side VPN Verbindung aufbauen, ergo eine Router - Router Verbindung und wenn die beiden Router nun das selbe Subnetz haben also wie hier in seinem Beispiel 10.8.0.0/24,
dann gibt es rein theoretisch Netzwerkgeräte mit der selben IP Adresse, und woher soll der Router dann wissen wer die IP Pakete erhalten soll oder von wem diese kommen, wenn ich einmal fragen darf?
Das erkläre mir doch bitte einmal, wenn Du dazu Zeit findest!

Gruss
Dobby


edit1#

Dobby: Glaubst du denn etwa ich hätte KEIN Manual durchgelesen,
Glauben bringt in der EDV so gut wie gar nichts!! Das erst einmal vorab.

Und soweit es meinen Wissensstand betrifft, ist eine Router zu Router VPN Lösung nicht möglich, wenn sich in beiden Netzwerken das selbe
Subnetz befindet! Nicht mehr und nicht weniger. Hier im Forum gibt es eine Suchfunktion, wo sich bestimmt die selbe Aussage mindestens 10 x
auch von anderen Leuten finden, dies bezüglich, falls Du mir das ganze nicht glaubst!

Ich wollte nur von vorne herein Ausschließen, dass es bekannte Probleme beim VPN Verbindungsaufbau bei den Versionen von OpenWRT, die Du einsetzt gibt!
Nicht mehr und nicht weniger und das finde ich nun einmal in der Regel in einem so genannten Changelog unter "Known failures" oder "Known issues"
Oder zu deutsch Unverträglichkeiten!

Das mit dem Manual hast Du wohl falsch in den Hals bekommen! Denn wenn ich zwei verschiedenen Versionen einer Software einsetzte, bei denen vieles
ähnlich ist, aber nicht gleich, kann es schnell zu Problemen kommen, wenn man sich dort verließt!!!!

Und es gibt hier gefühlt bei jedem dritten User der zu faul ist die Bedienungsanleitung zu lesen Probleme, die zu 80 - 90 % gar nichts auftreten würden
wenn man einmal in das Manual rein geschaut hätte und Du erzählst mir nun lauthals das Du gleich zwei gelesen hast! Na jetzt mal Butter bei die Fische
was würdest Du denn denken? Aber das ginge ja noch, die Suchfunktion hier im Forum ist auch nicht benutzt worden, sonst wäre das mit den gleichen IP Subnetzen auf beiden Seiten ja auch schon erledigt.

Ne also ich bin mal ehrlich ich bin auch keine Leuchte, aber deswegen habe ich mich hier auch nicht als Admin sondern nur als Heimanwender eingetragen,
bin lernwillig und lasse bei konstruktiv angebrachter Kritik auch gerne mit mir reden, aber das scheint bei Dir und orcape nicht der Fall zu sein.


Du hast eine Frage gestellt und nicht ich und wen ich Dir dann helfen möchte, lass ich mich doch nicht "anblaffen", wer glaubst Du wer Du bist?
Deshalb klinke ich mich an dieser Stelle einmal aus und wünsche Dir noch viel Erfolg.
Member: panguu
panguu Dec 07, 2012 at 11:22:00 (UTC)
Goto Top
Ich betreibe durch meine Config keine Peer-To-Peer Verbindung wie du wohl vermutest, sondern eine Multi-Client-Lösung. Das wird durch die Direktive in meiner Config klar, und zwar durch den Eintrag

server 10.8.0.0 255.255.255.0

OpenVPN teilt das virtuelle Netzwerk 10.8.0.0/255.255.255.0 in viele kleinere Netzwerke auf, die aus 4 IP-Adressen bestehen. (256 / 4 = 64 Subnets/Clients maximal, wobei das erste Subnet für OpenVPN selbst reserviert ist) Die Subnetmask der Netzwerke ist immer 255.255.255.252 oder in Kurzschreibweise /30.

Erstes Minisubnet:

10.8.0.0 = Netzwerkadresse
10.8.0.1 = VPN-Server
10.8.0.2 = virtueller Endpunkt B
10.8.0.3 = Broadcastadresse

Das nächste Minisubnet:

10.8.0.4 = Netzwerkadresse
10.8.0.5 = Gateway zu OpenVPN (Endpunkt A)
10.8.0.6 = Client-IP (Endpunkt B)
10.8.0.7 = Broadcastadresse

http://openvpn.net/index.php/open-source/documentation/howto.html
+
http://openvpn.net/index.php/open-source/documentation/manuals/65-openv ...

und dann such mal dort nach dem Suchbegriff "--server network netmask"

Soviel zum Thema MANUAL LESEN
Member: orcape
orcape Dec 07, 2012 at 11:42:45 (UTC)
Goto Top
Hi panguu,

hatte das gleiche Problem, allerdings mit pfSense(Server)----DD-WRT(Client).
Der pfSense-OVPN-Server hat mir auch immer ein Tunnelnetz mit
10.10.8.1, 10.10.8.2 point-to-point (Server)
10.10.8.6, 10.10.8.5 point-to-point (Client)
kreiert, mit dem einfach keine Verbindung zum Client-LAN möglich war.
Ich kann Dir nicht sagen wie das bei OpenWRT genau zu machen ist.
Konzentriere Dich auf den iroute & push "route " -Eintrag zum remoten Netz.
Bei mir lag es an diesen Servereinträgen.
Mit diesen Einträgen wurde aus dem Tunnelnetz ein Netz mit 2 IP´s,
10.10.8.1 Server
10.10.8.2 Client
und schon hatte ich Verbindung zum remoten LAN.
Firewalleinstellungen könnte ich Dir per PM nachreichen.
Probier aber erst mal ohne Firewall.

Gruß orcape
Member: panguu
panguu Dec 07, 2012 updated at 12:32:45 (UTC)
Goto Top
hattest du in einem extra Unterverzeichnis die Custom Client configs genutzt? Meinst du das?

EDIT: Ich habe einen sehr informativen Artikel (auf englisch) darüber gefunden, der genau dieses Problematik beschreibt und erklärt, warum man iroute braucht in diesem Modell.
==> http://backreference.org/2009/11/15/openvpn-and-iroute/

Auf der OpenVPN-Seite wird das hier unter dem Kapitel Including multiple machines on the client side when using a routed VPN (dev tun) beschrieben:
==> http://openvpn.net/index.php/open-source/documentation/howto.html

Werd das mal ausprobieren und berichten ...
Member: orcape
orcape Dec 07, 2012 at 12:23:37 (UTC)
Goto Top
Genau, da musst Du iroute 192.168.45.0 255.255.255.0 und push "route 192.168.45.0 255.255.255.0" für den Client eintragen. (nur als Beispiel)
Bei pfSense steht das unter "Client Specific Override", kann auch sein Du musst es direkt am Server unter "Advanced" eintragen oder direkt in Deine Serverconfig einbauen.
Wenn´s verkehrt ist, sagen Dir das die Log´s sowieso. face-smile

Gruß orcape
Member: panguu
panguu Dec 07, 2012 at 12:40:02 (UTC)
Goto Top
Juhuuuuuuuuu!!!

Das war's !!! Danke dir orcape für diesen Hinweis. Du wirst lachen, ich hatte nach dem OpenVPN HowTo diese ccd Verzeichnis aktiviert und ausprobiert, bloss hatte ich einen fatalen Fehler in meiner config!

Ich hab in dem Verzeichnis ccd/client1-name statt der Zeile "iroute blablabla" drinstehen --> "route blabla" Da hab ich doch wahrscheinlich instinktiv das i entfernt, weil ich das nicht kannte, lol.

Wieder was dazugelernt. Nun funktioniert es.

Ich kann zu diesem Thema wärmstens den von mir verlinkten Artikel auf englisch empfelen, da wird das genau erklärt.

Viele Grüße,
Pangu.
Member: orcape
orcape Dec 07, 2012 at 13:07:49 (UTC)
Goto Top
Hi,
super... face-smile
Zitat von @panguu:
Juhuuuuuuuuu!!!
Das freut mich für Dich, bei mir hat der Zugriff auf´s remote Netz etwas länger gedauert. face-sad

@d.o.b.b.y
sorry, sicher hast Du, was OpenVPN betrifft, noch nicht Aqui´s Tutorial gelesen.

Zitat D.o.b.b.y :
Sorry normaler Weise bin ich nicht so, aber das ist nun Quatsch, lass Dich hier
nicht von dem
Wort Client (Laptop, PC, Tablet) in die Irre führen, bei beiden Geräten handelt
es sich um Router die eine Sid-to-Side VPN Verbindung aufbauen, ergo eine
Router - Router Verbindung und wenn die beiden Router nun das selbe Subnetz haben > also wie hier in seinem Beispiel 10.8.0.0/24,
dann gibt es rein theoretisch Netzwerkgeräte mit der selben IP Adresse, und woher > soll der Router dann wissen wer die IP Pakete erhalten soll oder von wem diese
kommen, wenn ich einmal fragen darf?
Du verwechselst hier LAN / remotes LAN mit dem vom VPN-Server erstellten virtuellem Tunnelnetz, welches logischerweise ein gesondertes Netz sein muss und die beiden Router verbindet.
Dieses darf nicht mit dem LAN und remoten LAN identisch sein.
Wenn Du das gelesen hast ist Dir klar was ich meine.
OpenVPN Server installieren auf pfSense Firewall, Mikrotik. DD-WRT oder GL.inet Router
Aquis Tutorial kann ich nur empfehlen....

Gruß orcape
Member: aqui
aqui Dec 07, 2012 at 16:46:16 (UTC)
Goto Top
Hätte auch alle Fragen auf Anhieb hier beantwortet....
Na ja die Suchfunktion.... face-smile
Member: orcape
orcape Dec 07, 2012 at 19:17:32 (UTC)
Goto Top
Verwunderlich das Du so spät aufkreuzt....
aber irgendwie hast Du ja wieder mal recht.
Hat vielleicht einen positiven Nebeneffekt, man lernt nie aus, auch wenn mancher denkt er weiß schon alles. face-smile
Gruß orcape
Member: panguu
panguu Dec 07, 2012 updated at 23:05:30 (UTC)
Goto Top
@aqui: hast du irgendwo auch das multi-client Modell beschrieben, oder hab ich das jetzt nur irgendwie übersehen? Hab zwar den oben genannten Link durchgesucht, konnte aber nix dazu finden. Bitte um kurzes feedback, kannst mich auch gerne per PN kontaktieren.

@all: EINE WICHTIGE ANMERKUNG ZU DIESEM THEMA. ENTWEDER IST DAS VON OPENVPN FALSCH ERKLÄRT WORDEN IN DER HOWTO, ODER OPENWRT VERHÄLT SICH EBEN HIER ANDERS WEILS AUF NER ANDREN PLATTFORM LÄUFT !

das könnte euch vielleicht die Nerven zerreissen, wenns euch so geht wie mir. Und zwar folgendes: wenn ihr custom client configs einsetzen möchtet, wie in den HowTos beschrieben, dann achtet bitte auf folgendes. In den HowTos (zumindest die, die ich jetzt gelesen habe, und dazu zählt auch die originale HowTo von OpenVPN (!) ) stand drin, man gibt diese Zeile in die server.conf ein
client-config-dir ccd

Die original OpenVPN-HowTo erklärt das wie folgt:
In the above directive, ccd should be the name of a directory which has been pre-created in the default directory where the OpenVPN server daemon runs. On Linux this tends to be /etc/openvpn and on Windows it is usually \Program Files\OpenVPN\config. When a new client connects to the OpenVPN server, the daemon will check this directory for a file which matches the common name of the connecting client. If a matching file is found, it will be read and processed for additional configuration file directives to be applied to the named client.

Das greift aber bei OpenWRT's OpenVPN definitiv nicht. Ich hab Logs eingeschaltet und den debuglevel hochgedreht. Man sieht deutlich, dass der OpenVPN-Server meine client-Datei nicht importiert/geladen hat, und somit der essentielle iroute-Eintrag auch nicht greifen konnte. Man muss in den absoluten Pfad mitangeben, dann klappt es. Es hat nichts mit Rechten oder sonstigem zu tun, sondern wirklich mit der absoluten Pfadangabe. Wers nicht glaubt, kanns ja selbst mal ausprobieren.

Da aus diesen Gründen der iroute-Eintrag nicht gegriffen hat, konnte die erforderliche Mapping-Route nicht erstellt werden (siehe Beiträge weiter oben). Ich hab mich grün und blau gewundert, dass ich trotz ausgeschalteter Firewall keinen ping erhielt. Manchmal klappte es und manchmal nicht. Wie kann das sein? Ihr werdet's nicht glauben -->

ich hab ja wie in der HowTo beschrieben die Zeile "client-config-dir ccd" verwendet. Wenn man nun den OpenVPN-Server in der OpenWRT-Shell aus dem Pfad "/etc/openvpn" heraus startet, ganz egal ob mit "openvpn server.conf" oder "/etc/init.d/openvpn start" dann kann die Zeile greifen und es funktioniert. Sobald man aber den OpenVPN-Server ausserhalb dieses Pfades startet (also z.B. in der Shell aus /etc heraus, oder /etc/openvpn/ccd) dann kann der OpenVPN-Server die Client-Config nicht lesen, weil er dann in dem aktuellen Shellpfad im Unterverzeichnis nach ./ccd/client-config sucht und das schlägt fehl.

Ich hab jetzt keinen native Linux OpenVPN-Client vor-Ort, ich denke aber dass es wohl mit dem OpenWRT zusammenhängt. Vielleicht kann das ja mal jemand mit einer Linux-Distri reproduzieren und schauen ob das Problem dort auch auftritt. Wenn nicht, dann hängts wirklich nur am OpenWRT-geschnürtem opkg-Paket zusammen, weil das Skript evtl. einen Fehler enthält (environment path?)

Wie auch immer, wollte das nur anmerken.

Schönes Wochenende an Alle wünscht,
Pangu.
Member: aqui
aqui Dec 08, 2012 at 15:45:09 (UTC)
Goto Top
Multi Client bedeute nur das das interne OVPN Netzwerk KEINE zu kleine Subnetzmaske haben darf.
Es ist auch unsinnig das nach deiner Meinung OVPN unterschiedlich sein soll.
Eigentlich recht unwahrscheinlich, denn der Quellcode ist überall identisch...kann man also nicht wirklich glauben was du da behauptest.
Was dein Finden der Konfig anbetrifft so lies dir bitte das Tutorial wirklich durch. Dort ist genau erklärt WAS man zu machen hat. Wenn die Konfig Datei sich an einem anderen Ort befindet, dann MUSST du diesen beim Aufruf der OpenVPN Datei mit angeben !
Ein Blick in die OVPN Doku erklärt dir das.
Es ist natürlich möglich das das OpenWRT Skript hier einen Fehler hat. Das Script macht ja auch jemand anders aber wenn dem so wäre würde das in hunderten von Foren stehen, denn OpenWRT mit OVPN ist millionenfach im Einsatz.
Member: panguu
panguu Dec 09, 2012 at 00:13:05 (UTC)
Goto Top
Hallo lieber Aqui.

Multi Client bedeutet, dass über einem einzigen Tun-Interface sich mehrere VPN-Clients 'andocken' und abgewickelt werden und nicht über mehrere OpenVPN-Instanzen und entsprechend diverser Ports, die hierfür notwendig wären. Unsinnig ist meine Aussage nicht, denn das kann jeder unter OpenWRT selbst testen indem er einfach mal seine Logs einschaltet und auf Level 4 schraubt. Ich sagte nicht, dass OpenVPN generell einen Fehler enthalte, sondern es evtl. vielmehr an der Portierung oder dem entsprechenden Package und somit dem Programmskript handeln könnte. Das kann einfach daran liegen, dass das Skript das aktuelle Verzeichnis als Startverzeichnis verwendet als environment, in dem es gestartet wurde. Meine Tests und die Logfiles von OpenVPN haben mir das doch zu 100% bestätigt. Ich beziehe mich nicht auf irgendwelche Theorien oder Sagen-Hören, sondern schildere hier meine Erfahrungen, die auch die Logfiles bestätigen. Daher auch der Aufruf: teste es wer wolle, mich würde das selbst auch interessieren, wie es sich bei anderen OpenVPN-Installationen verhalten würde. Es hat wie gesagt nichts mit dem Quellcode von OpenVPN an sich zu tun, sondern mit dem Ausführungsskript, in dem Fall unter OpenWRT. Das Tutorial habe ich mehrfach durchgelesen und auch in meinem Posting genau mit der Stelle zitiert. Siehe mein letztes Posting mit dem Zitat aus dem original OpenVPN manual. Da steht nix davon, dass man das Config-File mit dem Pfad angeben muss, sondern direkt das Gegenteil. Falls du es überlesen hast, hier nochmals:
In the above directive, ccd should be the name of a directory which has been pre-created in the default directory where the OpenVPN server daemon runs. On Linux this tends to be /etc/openvpn and on Windows it is usually \Program Files\OpenVPN\config. When a new client connects to the OpenVPN server, the daemon will check this directory for a file which matches the common name of the connecting client. If a matching file is found, it will be read and processed for additional configuration file directives to be applied to the named client.
Das stimmt in dem Fall bei meinem OpenWRT eben nicht.

Ich wiederhole, ich habe das auf drei meiner OpenVPN-Routern getestet, damit ich mir sicher gehe. Und in allen drei OpenWRT-installationen war das der Fall. Wers nicht glaubt, bitte selbst ausprobieren, Logfiles analysieren und feedback geben. Ich spreche nicht irgendwelche Theorien Aqui, sondern schildere hier meine Erfahrungen und die Auswertungen der Logfiles.

Danke und Grüße,
Pangu
Member: aqui
aqui Dec 09, 2012 updated at 14:01:41 (UTC)
Goto Top
Das mit MultiClient is richtig aber das ist der Default bei OpenVPN und ja auch der tiefere Sinn wenn man mehrere Clients oder Sites hat die man anbindet. Da muss man also auch in den Settings rein gar nichts beachten soweit.
Was den Config File anbetrifft ist das ja auch so richtig. Sofern man die Standard Verzeichnisse benutzt. Wenn nicht, erst dann muss man die Config File Location mit angeben so wie im Tutorial beschrieben wenn man Zertifikate und Konfig z.B. auf eine zusatzlich eingebaute SD Flash Karte kopiert.
Alles was du da schreibst ist weder unter der DD-WRT Implementierung von OVPN, der OVPN Implementierung unter pfSense und Monowall (FreeBSD basierend), in einer nativen Debian und SuSE noch in der Winblows Implementation nachvollziehbar.
Dort rennt alles exakt so wie in der allgemeinen Doku beschrieben.
Es mag natürlich sein, das in deiner ganz speziellen OVPN Distro da irgendwas schief läuft bei der Installation.
Das ist dann aber nur ausschliesslich da so und man kann das logischerweise nicht verallgemeinern auf den Rest der de facto fehlerfrei ist !
Member: panguu
panguu Dec 09, 2012 at 16:55:06 (UTC)
Goto Top
Zitat von @aqui:

Das mit MultiClient is richtig aber das ist der Default bei OpenVPN und ja auch der tiefere Sinn wenn man mehrere Clients oder
Sites hat die man anbindet.

default? eine default server.conf gibts nicht bei OpenVPN-Installationen. Die muss man schon anlegen. Man muss nicht multi-client verwenden. Als Beispiel: stell dir vor, du wickelst 10 VPN Clients ab, und möchtest mal den Dienst aus Wartungs- oder sonstigen Gründen beenden. Dann wären alle Clients mal disconnectet. Wäre im Multi-Client-Modell also nicht möglich. Verwendest du jedoch P2P, wo jeder seine eigene config und Port verwendet und somit OpenVPN in verschiedenen Instanzen läuft, kannst du das getrennt regeln, völlig unabhängig von den andren Kanälen. Nur mal als Beispiel. Aber das ist ja letztendlich vom Thema wieder abgewichen ...

Was den Config File anbetrifft ist das ja auch so richtig. Sofern man die Standard Verzeichnisse benutzt. Wenn nicht, erst dann
muss man die Config File Location mit angeben so wie im Tutorial beschrieben wenn man Zertifikate und Konfig z.B. auf eine
zusatzlich eingebaute SD Flash Karte kopiert.
Alles was du da schreibst ist weder unter der DD-WRT Implementierung von OVPN, der OVPN Implementierung unter pfSense und Monowall
(FreeBSD basierend), in einer nativen Debian und SuSE noch in der Winblows Implementation nachvollziehbar.
Dort rennt alles exakt so wie in der allgemeinen Doku beschrieben.

Ich glaube du hast noch nicht verstanden, dass ich mich auf die Zeile client-config-dir bezogen. Es geht nicht um die server.conf oder sonstige Configs. Bitte lies dir mein Posting weiter oben nochmals gründlich durch, und bitte lies dir auch die original OpenVPN HowTo durch, ich habe das jetzt schon zwei mal zitiert. Nochmals zur Betonung: es geht nicht wie und woher OpenVPN seine server.conf liest,sondern darum wie und wo er die custom-config-Clientdateien einliest (!).

Es mag natürlich sein, das in deiner ganz speziellen OVPN Distro da irgendwas schief läuft bei der Installation.
Das ist dann aber nur ausschliesslich da so und man kann das logischerweise nicht verallgemeinern auf den Rest der de facto
fehlerfrei ist !

Bitte les nochmal durch, was ich da schreibe, ich glaube du redest an dem Thema vorbei.
Member: aqui
aqui Dec 09, 2012 at 17:21:07 (UTC)
Goto Top
OK, sorry das hat ich dann missverstanden. Ich kann nur für Windows und Apple Mac Clients reden und auch die arbeiten vollkommen problemlos aus deren default Verzeichnissen, da muss man de facto nichts separat anlegen. Wie gesagt ich kann nur von ovpn.se und deren Client Implementation reden und der Apple Mac Implementation.
Dort sind solche Angaben obsolet !
Multiclient erachte ich als nicht optimal. Besser ist es mit 2 Servern zu arbeiten die einen Tunnel und einen Backup Tunnel handeln. Dann sind solche Wartungsdinge auch kein Thema mehr...
Member: panguu
panguu Dec 09, 2012 at 20:56:17 (UTC)
Goto Top
Unabhängig davon, ob Multi-Client oder nicht, ich wollte es lediglich dem Rest der Welt mitteilen. Und falls jemand mal Tante Google bemühen sollte, da er/sie auf ähnliche Probleme stossen sollte, so soll dieser Thread informativ wirken und zur Fehlerbehebung helfen. Ich wollte meine Erfahrung lediglich mit dem Rest der Welt teilen, und wer möchte kann das selbst mit jeglicher OpenVPN-installation und dieser Direktive (config-client-dir) selbst testen. Logfile einschalten, verbosity auf 4 setzen, und man kann das sehr gut nachvollziehen. Wie auch immer, jeder wie er mag face-smile

einen schönen Sonntagabend noch,
Pangu.
Member: aqui
aqui Dec 09, 2012 at 21:03:56 (UTC)
Goto Top
Dann bitte auch
How can I mark a post as solved?
nicht vergessen wenns es das nun war !