openvpn -client.ovpn manuell editieren

screem

Neuer User
Mitglied seit
28 Sep 2006
Beiträge
7
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,
habe eine 7170 mit freetz +openvpn
Die config file von openvpn wird ja automatisch erstellt.
Ich habe versucht die configfile manuell über vi zu verändern, aber ohne Erfolg. Die Änderungen gehen nachdem ich openvpn übers WebInterface neu starte verloren.
Die config file wird wohl jedesmal neu generiert.
Gibt es die Möglichkeit die configfile manuell zu ändern. Ich möchte gern meine
eigene config (client.ovpn )per vi editieren.

EDIT: es geht um die client config
 
Moin,
aber wenn es doch um die client-config geht, hat die doch auf der Box eh nichts zu suchen. Was du über das Web-IF einstellst/änderst, ist die server-config.

Poste doch mal beide configs hier. Wichtige Dinge (evtl. dyndns-Adressen) bitte rausXXXen
 
Doch, Natürlich geht OpenVPN auch als Client. Und für "nicht unterstützte" Einträge gibt es eine Zeile für Zusatzparameter ("Expertenhaken" setzen, mehrere Befehle können mit ";" gesetzt werden).

Du kannst aber auch deine eigene Konfig benutzen, das ist aber von der Idee her "etwas umständlicher", daher sei der Ablauf hier kurz skizziert:

Alle Freetz-Dienste werden per /mod/etc/init.d/rc.<Dienst> gestartet und die meisten erzeugen zuvor "on the fly" die aktuelle Konfiguration (in diesem Falle /mod/etc/openvpn.conf) aus den Einträgen im Webinterface. Dazu wird normalerweise "/mod/etc/default.openvpn/openvpn_conf" aufgerufen, was die OpenVPNkonfiguration erzeugt. Es gibt aber die Möglichkeit, ein "eigenes Skript" dazu zu benutzen, dafür wird abgefragt, ob ein ausführbares Skript "/tmp/flash/openvpn_conf" existiert und wenn ja, wird das stattdessen ausgeführt. Danach werden übrigens noch alle Dinge, die in /tmp/flash/openvpn.extra stehen, an die Konfig drangehängt, eventuell reicht dir ja auch das schon...

Es gibt also zwei Möglichkeiten, beide erfordern eine ausführbares Shellskript "/tmp/flash/openvpn_conf" anzulegen.
- Entweder kopiert dieses deine Config nach /mod/etc/openvpn.conf
- Oder die "nichts tut", außer eine leere Datei /mod/etc/openvpn.conf anzulegen und du packst deine gewünschte Datei nach /tmp/flash/openvpn.extra, von wo sie dann automatisch dahinter kopiert wird.

Hier mal ein Beispiel für Version 1, deine Config ist "/var/tmp/flash/meineconfig":
Code:
# Ein minimales Skript anlegen, was /var/tmp/flash/meineconfig nach 
# /mod/etc/openvpn.conf kopiert
echo -e "#!/bin/sh \ncp /var/tmp/flash/meineconfig /mod/etc/openvpn.conf" > /tmp/flash/openvpn_conf
# Das Skript ausführbar machen
chmod +x /tmp/flash/openvpn_conf
# und speichern (jede Änderung an der eigenen Config /var/tmp/flash/meineconfig
#  muss auch so "abgespeichert" werden, um resetfest zu sein)
modsave

Jörg
 
Doch, Natürlich geht OpenVPN auch als Client.

Oh man, du hast natürlich vollkommen recht.
Hab gerade nochmal die Config-Seite angeschaut.
Das kommt davon wenn man immer nur im Server-Modus fährt.

Sorry falls ich ich hier Verwirrung gestiftet habe :doof:
 
Danke für die Hilfe MaxMuster.
Es hat soweit fast alles funktioniert.
Meine eigene meineconfig wird jetzt benutzt und ich bekomme
auch schon ein Verbindung zum server.
Jedoch funktioniert redirect gateway nicht
Folgende Fehlermeldung bekomm ich nun:
Code:
Tue Feb 10 13:26:04 2009 NOTE: unable to redirect default gateway -- 
Cannot read current default gateway from system

Die Verbindung steht und ich bekomm auch einen ping vom gateway.
So sieht meine config aus:
(openvpn server ist ein Dienst von ivacy.com)

Code:
client
dev tun
proto udp
remote openvpn.ivacy.com 1194
resolv-retry infinite
nobind
persist-key
persist-tun

ca /tmp/flash/ca.crt
cert /tmp/flash/box.crt
key /tmp/flash/box.key
tls-auth /tmp/flash/static.key 1

ns-cert-type server
comp-lzo
verb 3
auth-user-pass
redirect-gateway
script-security 3
reneg-sec 0


So sieht dann mein route aus:

Code:
192.168.180.1   *               255.255.255.255 UH    2      0        0 dsl
192.168.180.2   *               255.255.255.255 UH    2      0        0 dsl
77.130.55.150   *               255.255.255.255 UH    2      0        0 dsl
192.168.178.201 *               255.255.255.255 UH    2      0        0 dsl
192.168.178.0   *               255.255.255.0   U     0      0        0 lan
1.2.124.0       *               255.255.255.0   U     0      0        0 tun0
169.254.0.0     *               255.255.0.0     U     0      0        0 lan
1.0.0.0         1.2.124.1       255.0.0.0       UG    0      0        0 tun0
default         *               0.0.0.0         U     2      0        0 dsl

Wenn ich jetzt Firefox starte und auf wieistmeineip.de gehe, kann ich sehen
das ich nicht über vpn unterwegs bin.
Wieso benutzt die Fritz.box nicht den neuen vpn gateway?
Meine DSL Ip 77.130.55.150 ist ausgedacht...
 
... das Problem wird hier die Eigenart der Fritzbox sein, die "echte" Internet-IP nicht einzutragen, sondern zu verstecken. Damit steht in der Routingtabelle keine IP für das DG, sondern nur "0.0.0.0". Da aber "redirect-gateway" das benötigt, schlägt das fehl.

Möglichkeiten:
- vorher eine andere Default-Route eintragen (nicht getestet !) auf 192.168.179.1 ("angebliche" IP der DSL-Schnittstelle)
- über ein "up"-Script die Routen ändern

Jörg
 
Ich habe jetzt in der ar7.cfg folgenden Eintrag gefunden:

Code:
  }
        dslinterface {
                name = "dsl";
                dhcp = no;
                ipaddr = 169.254.2.1;
                netmask = 255.255.255.255;
                dstipaddr = 169.254.2.1;
                dhcpenabled = yes;
                dhcpstart = 0.0.0.0;
                dhcpend = 0.0.0.0;
        }

Das DSL Interface hat die interne Ip 169.254.2.1.
Vom Telnet aus hab ich dan mal einen ping auf 169.254.2.1 gemacht... ping funktioniert.

Hab jetzt bevor ich openvpn gestartet habe , eine neue default route auf 169.254.2.1 gesetzt:
Code:
route del default
route add default gw 169.254.2.1

So sieht jetzt route aus:
Code:
192.168.180.1   *               255.255.255.255 UH    2      0        0 dsl
192.168.180.2   *               255.255.255.255 UH    2      0        0 dsl
77.140.25.46    *               255.255.255.255 UH    2      0        0 dsl
192.168.178.201 *               255.255.255.255 UH    2      0        0 dsl
192.168.178.0   *               255.255.255.0   U     0      0        0 lan
169.254.0.0     *               255.255.0.0     U     0      0        0 lan
default         169.254.2.1     0.0.0.0         UG    0      0        0 dsl

So das scheint schon mal funtioniert zu haben.
Ich kann immer noch mit allen Rechnern über die Fritzbox aufs I-net zugreifen.

Jetzt starte ich openvpn und habe dann folgende route:
Code:
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
213.232.208.199 169.254.2.1     255.255.255.255 UGH   0      0        0 dsl
192.168.180.1   *               255.255.255.255 UH    2      0        0 dsl
192.168.180.2   *               255.255.255.255 UH    2      0        0 dsl
77.140.25.46    *               255.255.255.255 UH    2      0        0 dsl
192.168.178.201 *               255.255.255.255 UH    2      0        0 dsl
192.168.178.0   *               255.255.255.0   U     0      0        0 lan
1.2.124.0       *               255.255.255.0   U     0      0        0 tun0
169.254.0.0     *               255.255.0.0     U     0      0        0 lan
1.0.0.0         1.2.124.1       255.0.0.0       UG    0      0        0 tun0
default         1.2.124.1       0.0.0.0         UG    0      0        0 tun0


Jetzt passiert folgendes:
Telnet@Fritzbox = ping auf google.de über VPN Gateway funktioniert.
DOS Fenster vom Pc = ping auf google.de funktioniert nicht.

Fazit:
Internet über VPN funktioniert, aber nur auf der Fritzbox.
Wie kann ich die route so abändern das ich auch mit dem PC über den VPN Gateway surfen kann?

IP Erläuterung:

77.140.25.46 = WAN Ip (zugeteilte IP vom DSL Provider)
192.168.178.0 = mein standard Netzwerkbereich
169.254.2.1 = interne IP Adresse vom dsl Interface

213.232.208.199 = openvpn.ivacy.com VPN Adresse (OPENVPN Gateway Service)
1.2.124.1 = Standard Gateway im VPN Netzwerk




EDIT: der alte Fehler
Code:
Tue Feb 10 13:26:04 2009 NOTE: unable to redirect default gateway -- 
Cannot read current default gateway from system

ist aber verschwunden...
 
Zuletzt bearbeitet:
Das ganze wird wohl an der Server-Seite scheitern: Dein PC kommt mit der IP 192.168.178.x, das müsste der Server zum einen kennen und zu dir Routen und zum anderen als Adresse für den Internetzugang über den Dienst erlauben.
Wenn das nicht geht, musst du dein lokales Netz hinter der "VPN-IP" der Box verstecken (per NAT) und dafür müsstest du wohl "iptables" nutzen...


Jörg
 
mh ok ich probiers mal, welche Packete muss ich bei IPtabels
inst.? Da gibts so viele von...

EDIT. OK hab jetzt IP-Tables drauf.
Die VPN Verbindung steht soweit.
Aber was muss ich ich jetzt hier einstellen um den I-Net Traffic über VPN zu schicken?

1.2.124.1 = Standard Gateway im VPN Netzwerk (ping vom Router ok)
192.168.178.29 = Mein I-Net Rechner



iptablesva3.jpg



iptable2fx5.jpg
 
Zuletzt bearbeitet:
Auf die Schnelle sollte das (ungetestet) wohl so aussehen:
Code:
iptables -t nat -A POSTROUTING -o tun0 -s 192.168.178.0/24 -j MASQUERADE

Ich trage das immer direkt bei den "Einstellungen" im iptables-Regelfenster ein, dort das ganze ohne das einleitende "iptables" eingeben, also
Code:
-t nat -A POSTROUTING -o tun0 -s 192.168.178.0/24 -j MASQUERADE




Jörg
 
@MaxMuster
hab jetzt mit der Zeit dank deiner
kompetenten Hilfe alles hinbekommen.

Vielen Dank !
 
ovpn client modus

Hallo zusammen,

vorweg - ich versuche derzeit exakt das Selbe umzusetzen (sowohl mit ivacy.com / andere OVPN Gateways), scheitere jedoch an so ein paar Punkten;

@ screem
Könntest Du vielleicht deine Ivacy.conf posten und mir verraten, wie Du das "auth-user-pass" und "redirect gw" umgesetzt hast?

@ Die Spezialisten unter Euch:

Ausgangssituation :
FB WLAN 3020, FW 09.04.34 - Freetz 1.0.2; mit OpenVPN; AVM Firewall, IPTables, incl. der Libs; Dropbear SSH; (testweise noch PPTP mit drauf)

Ziel:
OpenVPN soll bei aktiver Onlineverbindung einen VPN Tunnel zu einem VPN Provider (z.B. ivacy.com, etc.) herstellen und den gesammten Traffic der normalerweise über das DSL Device läuft durch den Tunnel schicken. Die VPN soll immer aufrechterhalten bleiben und bei DSL Disconnect neu einwählen. Ferner darf nichts am VPN vorbei laufen und die FB soll das VPN, wie die DSL Seite behandeln (kein Zugriff via VPN auf Clientbox, ohne Portfreigabe)

Problem:
1.
VPN Verbindung ist TLS Zertifiziert mit "auth-user-pass" option. D.h. Start über Freetz schlägt fehl, weil kein "User / Pass" für den Handshake vorhanden sind. "auth-user-pass pass.txt" in der ovpn.config funktioniert nicht. In der Konsole bei aufruf von "openvpn --config *** --- auth ***/pass.txt " funktioniert die Passwort übergabe und der Tunnel steht.

Frage:
Wie starte ich openvpn mit der auth-file, über das DS-Mod Webinterface? rc.openvpn modifizieren?


2.
Wenn der Tunnel steht erfolgt kein Routing des DSL Traffics via VPN Gateway. D.h. "redirect-gateway" kann nicht ausgeführt werden, weil der Client die "echte" ISP IP nicht übergibt.

(Meine Konsolenmsg ist identisch mit Post 5 , auch routing, etc. ist identisch)

Bisheriger Lösungsansatz:
Code:
route add -host [ip vom ovpn server] dev dsl  # Hostroute für VPN Connect
route del default # alte default löschen
route add default gw [ip vom vpn gateway] # jetzt geht schon mal der Trafic von der Box über den Tunnel
iptables -t nat -A POSTROUTING -o tun0 -s [IP LAN/MASK] -j MASQUERADE # jetzt geht auch der LAN Traffic nach extern über den VPN Tunnel
Frage:
Geht das auch einfacher?, bzw. geht das auch über die ovpn.conf, oder sollte ich dafür lieber ein Script schreiben ?


3. Frage:
Wie verhält sich die Box bei Verbindungsanfragen vom VPN bei dieser Konfiguration?, sind z.B. http 80, freetz 81, etc. aus dem VPN erreichbar, wenn ja - wie schalte ich diese nur für die VPN ab? (ar7.cfg modifizieren?)

4. Frage:
Wie stelle ich sicher, dass nichts am VPN vorbei läuft, wenn z.b. der Tunnel abreisst?, reicht es hier einfach nach dem Start von DSLd die default gw route zu löschen?, (wird ja bei aktivem VPN wieder neu auf den vpn gw gesetzt), oder routet die Box auch ohne default gw weiter ins DSL?

Ich danke Euch für die Anregungen und Hinweise :rolleyes:

Grüße Lemur
 
Der automatische redirect gw funktioniert nicht, da die Ivacy Server das nicht unterstützen. Mit IPTables ist das aber kein Problem.
Ich hatte es wie Du oben nachlesen kannst mit openvpn hinbekommen, bin
dann aber schnell, auf pptp umgestiegen.
Über pptp verbindet sich die Fritzbox problemlos.
Du mußt aber die default route nach starten der Box neu setzen.
Da ivacy den gw ab und an ändert setze ich den default gw mit:
route add -net 0.0.0.0 dev ppp0
Wie du schon erkannt hast ist es sicherer, den default gw beim starten zunächst zu löschen.
Ich würde dazu einen Eintag in die var/flash/debug.cfg machen
In die rc.custom habe ich mir dann halt den default gw eingetragen:

sleep 10
route add -net 0.0.0.0 dev ppp0


Eintrag Ip-Tables rules:
-t nat -A POSTROUTING -o ppp0 -s 192.168.178.0/24 -j MASQUERADE

Du kannst auch mit Hilfe von Crontab einen 24 Std reconnect machen.
Somit verbindet sich die Box jeden Tag einmal neu.

EDIT:
Zusäzlich habe ich mir privoxy auf die Fritz Box gemacht. Somit kannst Du die Box als GW und als Proxy Server benutzen. Und das alles über VPN :) Das ist eine feine Sache in Verbindung mit dem Firefox Plugin FoxyProxy, ein Klick und Du bist anonym.


EDIT2:
Falls Du das trotzdem mit Openvpn machen willst:
Das "auth-user-pass" Problem hatte ich jedesmal manuell gelöst.
Über die Konsole konnte ich dann den Benutzernamen und das Passwort eingeben.
Da mir das zu umständlich war, bin ich dann auf pptp umgestiegen.
Aber auch mit openvpn kann man sich automatisch einloggen.
Als Hilfestellung kannst Du auch mal das hier durchlesen.
 
Zuletzt bearbeitet:
Hallo screem,

danke für die schnelle Antwort !!!

PPTP läuft bei mir (noch) nicht. Habs zwar Testweise mit ins Freetz gepackt, allerdings bekomm ich das nicht gestartet. Die secrets Datei ist mir auch noch nicht verständlich (hab mich allerdings auch erst 10 min. kurz mit befasst)

Leider brauch ich beides, openvpn und pptp; ein Standort von mir verwendet Swissvpn (nur pptp) ein anderer xerobank (nur openvpn) und dann ist da noch ivancy (alle 3 wären möglich)

Im Grunde scheint es am einfachsten mit nem Script zu gehen, so wie ich das jetzt einschätze. Dein Hinweise mit dem default gw auf "-net" war sehr hilfreich - wenn auch noch ungetestet.

Ich werd dann mal erstmal openvpn zum laufen bringen (Script was das Startet, dann gehts halt nicht via WebInterface) und wenn das stabil läuft, dann werd ich mich an pptp wagen. Vielleicht hast Du bzgl. PPTP noch ein Paar Tips, hast Du das z.B. einfach "reincompiliert" oder hast Du noch Patches nachgeladen? Welche Libs brauch das evtl. noch? Welche Reihenfolge hat die Passauth Datei? - Das Freetz-Wiki gibt zu dem Paket relativ wenig - bis garnichts her.

Privoxy kenne ich, ist ne gute Idee, allerdings soll bei mir alles über die Tunnel laufen, daher auch "del default gw" und am Lan der Box hängt nur ein Rechner, nen IP Cop - der macht das Filtern mit Proxys und das eigendliche Routing für die Clients dahinter, der kann das natürlich auch alles, soll er aber nicht. Die VPN soll von der Fritzbox erledigt werden, aus verschiedenen Gründen.

Danke nochmals für die schnelle Hilfe

Gruß Lemur
 
Danke screem, :groesste:

Jetzt funktioniert PPTP :)))
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.