[Problem] Freetz openvpn GUI 2

LuckySH

Neuer User
Mitglied seit
27 Jun 2013
Beiträge
27
Punkte für Reaktionen
0
Punkte
0
Hallo,
ich bin momentan am verzweifeln, ermutlich einfach blind. Eigentlich eine ganz banale Sache: Ich muss das alternative GUI von Openvpn finden/einbinden um meine Config direkt eingeben zu können.
In der Package Beschreibung von openvpn steht
Aktuell ist eine weitere GUI zum Paket hinzugekommen, die deutlich "schlanker" ist als die bisherige. Sie ist als "simple GUI" für Experten gedacht, die direkt eine Konfigurationsdatei eingeben können.
Mit keinem Wort ist jedoch beschrieben wo man dieses verdammte GUI herbekommt. Ich habe sämtliche FAQ, Firt Steps' und Tutorials auf freetz.org und Google durchforstet aber alles was ich gefunden habe war das hier (http://freetz.org/ticket/1129). Ob es sich hierbei tatsächlich um das gesuchte Interface handelt kann ich nur erraten denn nachdem ich vor Erstellung des Images die im Link verfügbare openvpn.cgi in den angegebenen Pfad kopiert, und somit die originale ersetzt habe, gibt es überhaupt keine Config mehr in meinem WebIF. Es kann natürlich sein dass ich auch noch den Patch hätte installieren müssen (wie? :confused:), aber der Entwickler schreibt selbst dass der Patch "unlesbar" ist. Ich glaube die Lösung ist in Wirklichkeit ganz einfach und ich habe etwas übersehen. :(

Ich ärgere mich tierisch dass ich hierfür einen Thread starten muss aber sonst sitze ich hier noch drei Tage, vielen Dank auf jeden Fall für etwaige Hilfe :)

-LuckySH
 
Also, du muss beim Erstellen der Freetz Konfig im "make menuconfig" den "Level of user competence" mindestens auf "Advanced" stellen.

Dann taucht (im menuconfig bei den Paketen) unter OpenVPN ein neuer Menupunkt auf "Use new (simple) GUI - EXPERIMENTAL". Den wählen und ein neues Image bauen.
 
Also, hatte die User Competence sowieso auf Expert und habe folgende Optionen unter Packages -> OpenVPN:
Version
SSL Library
Create Statically linked binary
With lzo Compression
Enable Management Console
Optimize for size
Use IP instead "ifconfig" and "route"

Ich benutze übrigends Freetz 2.0, frühere Versionen haben keinen Support für meine Box, kann es daran liegen?
 
Ja, die neue GUI ist momentan nur in der "Trunk"-Version, nicht in der stabilen.

Aber etwas Hoffnung gibt es ;-)

Du kannst auch dort eine komplett eigene Konfig nutzen, wenn du sie nach /tmp/flash/openvpn/own_openvpn.conf kopierst (und mit "modsave flash" sicherst).
Dann werden alle Einstellungen in der GUI ignoriert (außer automatischer oder manueller Start) und diese wird Config geladen.

Edit: Eine weitere (ungetestete) Alternative wäre, diese neue GUI ins OpenVPN der Version Stable-2.0 "hinein zu operieren":

Code:
# Ausgangspunkt ist der Freetz stable Ordner.
# Dort ins OpenVPN und die "alte" GUI löschen
cd make/openvpn/
rm -rf files/

# GUI aus dem Trunk hinzufügen
svn co http://svn.freetz.org/trunk/make/openvpn-v2-cgi/files

# Zurück in den Freetz-Ordner
cd ../..
 
Zuletzt bearbeitet:
Leider ist die komfortable Alternative nicht möglich.. die GUI wird richtig geladen aber der OpenVPN Dienst kann nicht gestartet werden (Endlosschleife). Werde es also auf dem anderen Weg probieren. Eine Frage noch: Wie starte ich den Dienst und wie muss ich ihn eintragen dass er automatisch gestartet wird?
Erstmal vielen Dank, bin jetzt schon viel weiter!

Edit: Ok hab's hingekriegt Openvpn über SSH mit meiner eigenen Config zu starten. Verbindung zum Server steht aber ich kann keine Verbindung ins Internet herstellen. Das ist aber eine andere Geschichte. Poblem ist gelöst, falls jemand dasselbe Problem hat, die Connection kann mit /usr/sbin/openvpn --config /tmp/flash/openvpn/configfile.conf gestartet werden.
 
Zuletzt bearbeitet:
“Endlosschleife“: Hattest du ein “daemon“ in der Config? Sonst kehrt der Start nicht zum freetz zurück, weil das openvpn km Vordergrund gestartet wurde.

Dass man das openvpn ohne GUI starten kann ist natürlich auch eine Möglichkeit.
 
Stimmt den "daemon" hab ich vergessen. Wie kann man die VPN denn trotzdem über die GUI starten? Bei mir gibt's nur automatisch oder manuell und da hattest du ja gesagt dass es nicht geht. Direkt über die Dienste?

Edit: Also habe jetzt den "deamon" ans Ende der Config gesetzt. Wenn ich OpenVPN über SSH starte (mit oben genanntem Befehl), kommt kein Text mehr sondern er springt in die nächste Zeile (Eigentlich ja ein Zeichen für erfolgreich ausgeführt). Dennoch ist dannach meine Inetleitung tot und ich kann nur noch auf meine lokalen Geräte zugreifen. Ist es denn überhaupt normal dass kein Text kommt? Ohne "daemon" am Ende kam immer ein ganzer Schwung, es endete jedoch bei "Initializing Sequence completed" und hing sich dannach auf. Bei Start über das Dienste-GUI kriege ich auch "done" angezeigt aber auch da ist die Leitung tot.
Ich kann dem Log zumindest entnehmen dass IP-Routes gesetzt werden also warum keine Verbindung?
 
Zuletzt bearbeitet:
Ich denke, so ist alles wie es “soll“ und die FB kann wie gewünscht durch das VPN surfen. Alle anderen Geräte “hinter der FB müssen natürlich dem Server bekannt gemacht werden, sonst routet der die Pakete nicht zurück. Aber dazu gibt es gefühlt 100-te Beiträge, Stichworte NAT und iptables...
 
Meinst du das hier (http://blog.rotzoll.net/2011/03/fri...hrs-uber-seinen-openvpn-server-ins-internet/) ? Hatte es schon damit versucht aber mein Default Gateway wird immer wieder gelöscht. Außerdem wird da ja der komplette Traffic geroutet und ich brauche nur einen Client (oder einen Port). Zu NAT finde ich nur Anleitungen wie man seinen Server so konfiguriert aber das kann ich ja nicht, es ist ja nicht meiner.
 
Ich meine etwa das, das, das oder das (nur kurz gesucht).

Letzlich ist nur dein Client (deine FB) mit dem Server verbunden und deshalb kann auch nur sie mit dem Server kommunizieren, weil der Server nur die VPN-IP der FB kennt. Wenn mit dem OpenVPN zugleich "alles durch den Tunnel" geroutet wird, dann betrifft das aber auch zugleich alle Geräte "hinter" der FB. Die versuchen also auch alle durch das VPN ins Internet zu kommen. Der Server kennt aber diese IP-Adressen nicht und deshalb scheint dein Internet "weg" zu sein.

Entweder musst du damit leben, dass alle PCs durch den Tunnel gehen und dann musst du sie alle hinter der VPN-IP, die der Server kennt, per NAT verstecken.

Alternativ kannst du das Routing nicht durch den Tunnel schicken. Dazu kannst du in der Config die Annahme von Routen vom Server unterbinden ("route no-pull") und mittels iptables oder Policy-Routing (siehe etwa ab hier) nur bestimmte Dinge in den Tunnel schicken und NATen.
 
Also, habe alle Links durchgelesen und Mehreres versucht. Die VPN Verbidung zur FB steht auf jeden Fall, das WebIf kann durch die VPN-Netz interne IP aufgerufen werden. Die Iproutes werden offenbar automatisch gesetzt, "netstat -nr" liefert ohne laufendes VPN:
Destination------Gateway------Genmask-------IFace
79.201.123.77----0.0.0.0---255.255.255.255----dsl-
192.168.180.1----0.0.0.0---255.255.255.255----dsl-
192.168.180.2----0.0.0.0---255.255.255.255----dsl-
192.168.178.0----0.0.0.0---255.255.255.0-------lan-
192.168.179.0----0.0.0.0---255.255.0.0------guest-
0.0.0.0-------------0.0.0.0---0.0.0.0-------------dsl-

Mit laufendem VPN kommen einige hinzu:

Destination------Gateway------Genmask-------IFace
79.201.123.77----0.0.0.0---255.255.255.255----dsl-
VPNGATEWAY(?)-VPNIP(?)-255.255.255.255---tun0-
192.168.180.1----0.0.0.0---255.255.255.255----dsl-
IPIMVPNNETZ------0.0.0.0--255.255.255.255---tun0-
192.168.180.2----0.0.0.0---255.255.255.255----dsl-
PUBLICVPNIP----0.0.0.0---255.255.255.255-----dsl-
192.168.178.0----0.0.0.0---255.255.255.0-------lan-
192.168.179.0----0.0.0.0---255.255.0.0------guest-
169.254.0.0(?)----0.0.0.0---255.255.0.0--------lan-
0.0.0.0-----------VPNIP(?)----128.0.0.0--------tun0-
128.0.0.0--------VPNIP(?)----128.0.0.0--------tun0-
0.0.0.0-------------0.0.0.0---0.0.0.0-------------dsl-
Wenn ich die Routes manuell setze so wie in einigen Threads beschrieben kommt es fast auf das gleiche razs, bis auf die "169.354.0.0" von der ich nichts weis und die nicht zum VPN-Netz gehört.
Also habe ich mich an den nächsten Schritt gemacht, den NAT. So wie ich es verstanden habe muss ich den sowieso aufsetzen, auch wenn ich später noch mittels iptable filtern muss (wahrscheinlich kann ich das sowieso vergessen wenn ich es nichtmal hinkriege alle durchzutunneln).
Also habe ich wie beschrieben versucht mittels
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
einen NAT-Table aufzusetzen. Leider bekomme ich nur "can't initialize iptables table 'nat'; Table does not exist (do you need to insmod?). Ich habe natürlich "insmod iptables" ausgeführt aber es bleibt dabei. Dasselbe wenn ich versuche es über iptables/NHIPT aufzusetzen. Eine Abfrage dort oder über "iptables --list" zeigt keine Einträge.
Es tut mir leid dass ich hier total auf dem Schlauch stehe aber ich wälze nun seit heute Mittag Thread um Thread und kriege es einfach nicht ans laufen...
 
Das mit iptables bedarf noch einiger Vorbereitungen/Vorüberlegungen. Mit neueren Firmwares (xx.05.yy) geht NAT per iptables nicht mehr...
Um weiter “experimentieren“ zu können, solltest du den oben, genannten Befehl (route no-pull) nutzen. Damn sollte erstmal alles weiter funktionieren. Per policy-routing und/oder iptables dann die gewünschten Pakete in den Tunnel routen und dabei natten.
 
Gibt es denn eine andere Möglichkeit einen NAT aufzusetzen, abgesehen von iptables?? Wie ich den Traffic dannach route ist mir mitlerweile klar und route no-pull ist auch drin. Leider gibt es für meine 7360 SL nur Images über xx.05.yy, daher muss es einen anderen Weg geben. Baue mir jetzt ein neues Image mit Kernel Replace, in einigen Fällen hat das geholfen.
 
Vermutlich hilft das nicht, denn es geht um eine AVM eigene Erweiterung für die QOS Einstellung. Damit wird das Modul conntrack für iptables nicht mehr funktionieren. Das benötigt man aber für NAT.
 
Also geht es garnicht? Kann man das Modul nicht manuell nachladen?
 
Soweit ich weiß, nein. Das Modul könnte man wohl noch laden, die Box stürzt dann aber wohl ab :-(.

Kann deine gewünschte Applikation, die durch den Tunnel soll einen Proxy nutzen? Das wäre eventuell eine Möglichkeit, um die NAT herumzukommen
 
Ja das kann es, HTTP Proxy kann man als Plug-in installieren! Das wäre natürlich ideal denn dann müsste es ja sogar möglich sein den Rest normal zu routen.
Also wahrscheinlich mit Privoxy? So wie ich es sehe müsste bei eingeschaltetem VPN die Proxy Clients ja automatisch mit der Box IP surfen. Also wäre nurnoch die Frage mit den restlichen Clients, wenn ich die IP Routes nach VPN Start einfach wieder auf Standard zurücksetze müssten dann die restlichen Clients nicht wieder normal ins Netz können?
Erstmal Danke, dass ist wohl die beste Möglichkeit, in die Richtung hatte ich garnicht gedacht.
 
Zuletzt bearbeitet:
O.k., dann schauen wir mal, ob wir dazu was basteln können ;-)
Als "Proxy" nehmen wir "tinyproxy" als Paket mit auf (das kann eine ausgehende IP wählen, was wir wohl benötigen werden [für uns die VPN-IP]).
Weil du ja jetzt "nur den Proxy durch den VPN-Tunnel schicken willst", muss man trotz allem noch etwas mehr "tunen".
Im "menuconfig" musst du zumindest "Advanced" User sein, dann kannst du das benötigte "Replace Kernel" auswählen (aber das hattest du wohl schon?).
Bin noch nicht ganz fertig mit der Idee, daher bin ich noch nicht sicher, ob wir iptables und das "mark" davon benötigen. Bitte mitwählen.

In den Busybox-Einstellungen musst du dann "ip" und zumindest auch "ip rule" wählen:
Code:
Networking Utilities  --->

[*] ip 
   [...]

[*]   ip rule

Damit sollte "menuconfig" fertig sein.

Danach müssen wir den Kernel noch aufbauen, dazu machst du ein "make kernel-menuconfig" und wählst dort:

Code:
Networking support  ---> Networking options  ---> 

    [...]

 [*] IP: advanced router
    [...]

 [*] IP: policy routing
 
In Rev10914 hab ich noch einen Fix eingespielt, das Starten sollte jetzt auch per GUI möglich sein (sogar ohne "daemon").

Wie weit ist das jetzt? Wenn du ein Image hast, können wir mal ein Skript für das Routing bauen, aber da brauche ich Feedback.
 
Mit der Proxy kann ich wohl vergessen, der Receiver kann nur als Server konfiguriert werden, nicht aber als Client.
 
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.