Speedbox 7170 Traffic durch OpenVPN leiten. [GELÖST]

headyshoty

Neuer User
Mitglied seit
27 Mrz 2013
Beiträge
24
Punkte für Reaktionen
0
Punkte
0
Hallo erstmal, ich bin der Manuel.

Vorwort:
Bevor ich ärger kriege, dass ich doch mal hätte suchen können, alle Beiträge die ich gefunden habe sind im Sande verlaufen oder beschreiben den umgekerten Weg!


Aufbau:
PC--->Speedbox--->Hauptrouter--->Internet--->Vserver mit OpenVPN

Was ich gerne tun möchte:

Meine Speedbox 7170 soll allen Datenverkehr direkt über Tunnel leiten so dass meine echte ip in verborgenden bleibt.

Was ich schon läuft:

OpenVpn service läuft auf Serverseite einbandfrei ich kann mich mit meinen Rechner drauf anmelden und mein Datenverkehr wird über den Vserver getunnelt
OpenVpn service ist auf Speedbox erfolgreich Installiert und der Ping auf auf Server klappt. Auch der Datenverkehr von der Speedbox wird über Tunnel (sieht man an Ping) geleitet

Was nicht geht:
Daten Verkehr von Rechner und Co die an die Speedbox angeschlossen sind werden nicht über den Tunnel geleitet!


Configs:

server.conf
port 1194
proto udp
dev tap
dev tun
cert ./easy-rsa2/keys/server.crt
key ./easy-rsa2/keys/server.key # Diese Datei geheim halten.
dh ./easy-rsa2/keys/dh1024.pem # Diffie-Hellman-Parameter
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3

client.conf (speedbox)
proto udp
dev tun
ca /tmp/flash/openvpn/ca.crt
cert /tmp/flash/openvpn/box.crt
key /tmp/flash/openvpn/box.key
tls-client
remote ip des server
nobind
pull
tun-mtu 1500
mssfix
verb 3
daemon
chipher BF-CBC
comp-lzo
float
keepalive 10 120
resolv-retry infinite
status /var/log/openvpn.log
chroot /tmp/openvpn
user openvpn
group openvpn
persist-tun
presist-key



Gui einstellungen:

Entferntes Netz:leer
Clientverkehr umleiten X
Optionen vom Server empfangen X
auch IP-Adresse vom Server empfangen X

Keepalive X
LZO X
IP-Änderung zulassen X
Statusprotokoll X

Weiters:
Ich nutze: freetz-1.2-stable
IP der Speedbox im Heimnetz: 192.168.2.103 (static) im VPN: 10.8.0.14
Ip des Server im VPN: 10.8.0.1

Alles ander steht ja in den configs!


P.S Ich hoffe wirklich inständig das mir irgendwer helfen kann! Ich verzweifle nämlich bald an DER GERÄT! :p
 
Zuletzt bearbeitet:
Hmm,
ich denke du hast 2 Probleme.

Was ist die Defaultroute deiner PC? - Die geht doch zum Hauptrouter? Oder routet die Speedbox?
Also erstens muessen die PC die Daten an die Box schicken.

Zweitens muss dann die Box alle Daten in den Tunnel stecken.

Einfacher waere es, wenn der Router, der die Daten von alle den PC bekommt, die Daten per OpenVPN zum Server schickt.

voipd.
 
Zuletzt bearbeitet:
Also die Speedbox ist mit Internet über Lan1 angschlossen sie selber routet also nicht. Dhcp und co laufen also über Hauptrouter. Daran kann ich leider auch auch nix ändern weil ich LTE besitze. Aber was aber gehn würde das ich die Speedbox direkt hinter den Hauptrouter schalte und sie das ganze mit den DHCP machen lassen (wenn das Technisch möglich ist, wovon ich ausgehe!)
 
Ich versuche das von voipd nochmal zu erläutern.
Dinge "in den Tunnel schicken" kann nur das Gerät, was auch die Pakete sieht. Und das ist das Gerät, was "Defaultgateway" ist. Jetzt kommt es darauf an, welchen Modus für "Internet über LAN" du gewählt hast. Bei "Verbindung mitbenutzen" (IP-Client), was deine Aussage oben (DHCP ist Hauptrouter) nahelegt, kämen die Pakete fürs Internet (die du tunneln willst) nicht beim Speedport an, denn dann ist deine Zeichnung "nicht ganz korrekt", sondern eher so:

Code:
Speedbox---|
	   |
PC X    ---|--->Hauptrouter--->Internet--->Vserver mit OpenVPN
	   |
PC Y    ---|
Damit wirklich alles in den Tunnel geht, wäre die einfachste Lösung, es so zu ändern, wie du es oben gezeichnet hast: Das wäre bei "Internet über LAN1" die Option "Internetverbindung selbst aufbauen" und "Zugangsdaten werden nicht benötigt (IP)". Dann ist der Speedport als "einziges Gerät" im LAN des Hauptrouters, und alle PCs sind im LAN, was der Speedport aufbaut, in dem der Speedport also z.B. DHCP ist usw.

Alternative wäre, es so zu lassen, wie es jetzt ist, aber dem "Hauptrouter" so zu konfigurieren, dass er als "Defaultgateway" die IP des Speedports verteilt (sofern das möglich ist).
 
So machen wir es :) ich probiere das jetzt mal aus! Lösung 1 scheint mir passend! Bericht kommt dann gleich!
 
Ergebnis:

Also fritzbox hinter Hauptrouter klappt! Ip kriege ich jetzt auch von Fritzbox klappt also alles wunderbar!
Ich kann sogar die 10.8.0.14 (Fritzbox VPN ip) mit meinen Rechner anpingen!
Jetzt habe ich aber noch das problem das der Traffic von den Client nicht über den Tunnel geleitet wird :-(.
Wie ich wohl gelesen habe muss ich das mit add route machen aber was genau dabei bräuchte ich hilfe!
 
Dein Problem dürfte eher "der Rückweg" vom Server zur Client-Box für Pakete aus dem LAN des Speedport sein. Und/Oder die NAT, die dein V-Server auch für das "Speedport-LAN" machen muss.

Also, der Server muss auch eine Rückroute für die PCs haben, die ja nicht direkt im VPN teilnehmen, sondern "hinter" einem VPN-Client sind. Dazu benötigt der Server in deiner Konstellation zwei Konfig-Einträge. In der "normalen" Config ein zusätzliches "route <dein Netz vom Speedport> <Netzmaske>" also z.B. "route 192.168.2.0 255.255.255.0".
Da du den Server-Mode nutzt, muss der Server noch wissen, bei welchem Client denn das Netz ist. Dafür brauchst du ein "client-config-dir" mit einem Eintrag für den Client.
Lege also z.B. ein Verzeichnis "ccd" an, darin eine Text-Datei mit dem Namen, den der Client in seinem Zertifikat hat. Beispiel für einen Client mit dem "Common Name" client01 und dem o.g. Netz 192.168.2.0/24 im LAN:
Code:
mkdir ccd
echo "iroute 192.168.2.0 255.255.255.0" > ccd/client01

In die Server-Config konfig kommt dafür der Eintrag "client-config-dir ccd"

Je nach Config des V-Servers muss das "Speedport-Netz" dann noch in die NAT-Regeln mit aufgenommen werden, damit es dort auch richtig ins Internet und zurück geht.
 
muss da jetzt nicht 192.168.178.0/24 eingetragen werden weil die rechner jetzt die von der fritzbox zugewisenden ip`s haben?

Ahja und noch wichtiger :) ich hoffe ich stelle mich jetzt nicht ganz blöd an aber die einträge muss doch auf den Vserver gemacht werden also in der server.conf route 192.168.178.0 255.255.255.0 eintragen und dann noch in der Server console "mkdir ccd echo" und "iroute 192.168.178.0 255.255.255.0" > ccd/client01", eintragen oder?
 
Zuletzt bearbeitet:
Das, was die PCs vom Speedport als Netz bekommen. Wenn es 192.168.178.0 ist, dann das.
 
Ach und noch eins habe ich vergessen nur zur Sicherheit (man kommt ich mir doof vor) :) die datei muss doch dann sicher unter etc/openvpn angelegt werden, oder? Nicht das ich das jetzt auch noch falsch mache! :)
 
dieser "ccd"-Ordner?
Ist eigentlich egal, ggf. muss der Pfad angegeben werden. Und: Ja, auf dem Server.
Wenn z.B. die Keys dort in /etc/openvpn/easy-rsa2/keys liegen, wäre /etc/openvpn/ccd nicht verkehrt ;-)

Wenn du in der Config "client-config-dir /etc/openvpn/ccd " angibst, bist du auf der sicheren Seite
 
So jetzt habe ich das nächste problem! Ich muss das vorher übersehen haben aber jetzt kommt es dicke :).
Erstmal danke für eure Hilfe ohne euch wäre ich schonmal garnicht soweit gekommen! Besondern dank gilt da Max!
Ich habe mal ne traceroute angeschmissen was ich vorher vergessen hatte und da ist mir aufgefallen das auch die Fritzbox selber auch nicht übern VPN tunnelt! Damit ich euch nicht direkt auf den sack gehe habe ich in Form gesucht und mir sind dann siese drei befehle aufgefallen:
route add dns.name.des.Servers dev dsl
route add -net 0.0.0.0/1 dev tun0
route add -net 128.0.0.0/1 dev tun0

wenn ich diese ausführe dann tunnelt die Fritzbox selber zwar durch VPN (heißt also bei einer traceroute zeigt sie an das sie erst über VPN geht), aber dann haben die client keine Verbindung mehr! Ungewöhnlich ist dabei das die clients zwar dns auflösen aber den ping nicht mehr reinkriegen!

Ich hoffe ihr seit mir nicht sauer wegen dieser späten erkenntnis!
 
Die Problematik mit der Default Route sollte zumindest dann nicht mehr bestehen, wenn du OpenVPN in der Version 2.3 benutzt, dort funktioniert das "redirect-gateway" auch mit einem Defaultgateway auf ein Internet.

Ich vermute für die Clients die schon angesprochene "NAT-Problematik". Ein "traceroute" bzw. "tracert" würde dann als Hops den Speedport, den VPN-Server und danach nur noch "Sternchen" anzeigen.

Das LAN beim Client (192.168.178.0/24) muss beim Server in der NAT-Regel zum Internet stehen, damit auch diese Pakete genatted werden, und so ins Internet und zurück kommen...
 
Ohje und die frage ist mir noch peinlicher! Wo bekomme ich den openvpn 2.3? Mit der freetz-stable-1.2 hat das nicht geklappt auch nach ein make check-downloads war es nicht dabei :-(.
 
Das ist erst in den neueren Freetz-Versionen verfügbar (im trunk). Ich könnte dir ein Binary bauen, was du dann aber "nachladen" müsstest.
Alternativ versuche ich mal, einen Patch für OpenVPN 2.3 im 1.2-er stable zu generieren.
 
Wenn du dir die mühe machen würedest wäre das wirklich unglaublich nett von dir!
 
o.k., hier mal die "einfach-Variante" (quick-and-dirty) zum selbst bauen:
Code:
joerg@Ubuntu-11:~/freetz-stable-1.2$ mv make/openvpn/ ovpn_ori
joerg@Ubuntu-11:~/freetz-stable-1.2$ cd make/
joerg@Ubuntu-11:~/freetz-stable-1.2/make$ 
joerg@Ubuntu-11:~/freetz-stable-1.2/make$ svn co http://svn.freetz.org/trunk/make/openvpn
A    openvpn/files
[...snipp...]
A    openvpn/openvpn.mk
Ausgecheckt, Revision 10319.
joerg@Ubuntu-11:~/freetz-stable-1.2/make$ cd ..
joerg@Ubuntu-11:~/freetz-stable-1.2$ 
joerg@Ubuntu-11:~/freetz-stable-1.2$ 
joerg@Ubuntu-11:~/freetz-stable-1.2$ # jetzt einmal konfigurieren, Fehler dabei ignorieren 
joerg@Ubuntu-11:~/freetz-stable-1.2$ # Bei "OpenVPN" schauen, dass Version 2.3.1 ausgewählt ist,
joerg@Ubuntu-11:~/freetz-stable-1.2$ # Use 'ip' instead of 'ifconfig' and 'route' darf NICHT gewählt sein
joerg@Ubuntu-11:~/freetz-stable-1.2$ # und es muss OpenSSL gewählt sein, weil die PolarSSL Version im  
joerg@Ubuntu-11:~/freetz-stable-1.2$ # "stable" Zweig nicht dazu passt.
joerg@Ubuntu-11:~/freetz-stable-1.2$ 
joerg@Ubuntu-11:~/freetz-stable-1.2$ make menuconfig
joerg@Ubuntu-11:~/freetz-stable-1.2$ 
joerg@Ubuntu-11:~/freetz-stable-1.2$ # jetzt neu bauen 
joerg@Ubuntu-11:~/freetz-stable-1.2$ 
joerg@Ubuntu-11:~/freetz-stable-1.2$ make

Ansonsten könntest du eines der Binaries aus dem Anhang auf die Box bringen (z.B. nach /var/tmp/ovpn) und per "mount -o bind /var/tmp/ovpn /usr/sbin/openvpn" "übermounten"
 

Anhänge

  • openvpn_231_mipsel_polarssl_static.gz
    276.1 KB · Aufrufe: 3
  • openvpn_231_mipsel_openssl_static.gz
    505.9 KB · Aufrufe: 6
Bauen hat schonmal wunderbar geklappt ich zieh sie jetzt mal rüber! ICh bin aufgeregt wie ein kleines Kind vor Weinachten!
 
Also irgendwie mache ich was falsch! ... mhhh also neue image erstellen wollte schonmal nicht so wie ich wollte! Also bin ich der zweiten methode nachgegangen! habe mkdir /var/tmp/ovpn reingehauen, dann die dtei per wget rubergezogen! Ja und dann kam der fehler wenn ich das ganze mounten will haut er mir: "mount: mounting /var/tmp/ovpn on /usr/sbin/openvpn failed:Not a directory" raus ich meine bin ich den blöd oder was klappt den jetzt schon wieder nicht!
 
So wie es da oben steht, hast du erst ein Verzeichnis angelegt und dann versucht, das Verzeichnis an die Stelle des Programms zu mounten...

Also, wo genau ist das Binary unter welchem Namen? Wenn es (nicht unbenannt) in das Verzeichnis /var/tmp/ovpn kopiert wurde, heißt der Befehl:
Code:
mount -o bind /var/tmp/ovpn/openvpn_231_mipsel_polarssl_static /usr/sbin/openvpn
# oder
mount -o bind /var/tmp/ovpn/openvpn_231_mipsel_openssl_static /usr/sbin/openvpn

Ich denke, damit wird es klar: "vorne" im Befehl steht der komplette Pfad des neuen Programms (vorher auspacken und "binär" übertragen).
Zum Testen sollte vor dem Mounten ein " /var/tmp/ovpn/openvpn_231_mipsel_polarssl_static --version" (oder "/var/tmp/ovpn/openvpn_231_mipsel_openssl_static --version") die Version anzeigen.
 
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.