Freetz: FB 5140 als OpenVPN Client (swissvpn)

phobonymous

Neuer User
Mitglied seit
19 Mai 2010
Beiträge
4
Punkte für Reaktionen
0
Punkte
0
Hallo liebe IP-Phone-Forum Nutzer :)

Ich möchte meine Fritzbox 5140 (1&1 Branding), als VPN Client für eine VPN Verbindung in die Schweiz nutzen. Ich habe mir dazu
- das aktuelle Freetz geladen
- den Kernel replace aktiviert, damit telnet läuft
- und das Openvpn Paket aktiviert.
- Die Optionen "Statically Link Libraries"
- LZA Compression und
- "Optimize for size" (schöner Reim^^) habe ich aktiviert.
- "Enable Console Managment" habe ich nicht ausgewählt.

Nach dem das ganze gebaut und auf die Box übertragen wurde, stürzt diese nun immer ein bis drei minuten nach dem dsl Verbindungsaufbau ab, na gut. Workaround: Die Box über LAN an meine 7170 gehängt - nun hat Sie Internet und läuft stabil. Aber:

Wenn ich den OpenVPN Dienst in freetz ändern möchte, kriege ich immer ein " ..... failed ".

Die Debug Meldungen:
Code:
/ # cat /var/tmp/debug_openvpn.out
Sat Jan  1 11:49:27 2000 OpenVPN 2.1.1 mipsel-linux [SSL] [LZO2] [EPOLL] [MH] built on May 18 2010
Sat Jan  1 11:49:27 2000 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Sat Jan  1 11:49:27 2000 Cannot load certificate file /tmp/flash/box.crt: error:0906D06C:lib(9):func(109):reason(108): error:140AD009:lib(20):func(173):reason(9)
Sat Jan  1 11:49:27 2000 Exiting

Da der Anbieter (swissvpn) nur eine ca.crt zur Verfügung stellt und dieses unter Windows auch ausreicht um eine Verbindung aufzubauen, denke ich, dass die "box.crt" nicht wirklich gebraucht wird. In der Openvpn.conf wird diese aber von freetz mit eingetragen, sobal ich von Static Key auf Zertifikatbetrieb schalte. Das Editieren der openvpn.conf von Hand ist allerdings sinnlos, da beim Startversuch von OpenVPN wieder alles rückgängig gemacht wird.

Meine Frage also: Wie kriege ich die nicht benötigten Zeilen aus der .conf raus? Oder: Sollte ich vllt ein neues image bauen ohne das OpenVPN Paket und dann ovpn selber reinbasteln?

Meine openvpn.conf:
Code:
#  OpenVPN 2.1 Config, Sat Jan  1 12:35:26 CET 2000
proto tcp-client
dev tun
ca /tmp/flash/ca.crt
cert /tmp/flash/box.crt
key /tmp/flash/box.key
tls-client
ns-cert-type server
remote connect-openvpn.swissvpn.net 443
nobind
pull
redirect-gateway
tun-mtu 1500
mssfix
log /var/tmp/debug_openvpn.out
verb 3
daemon
cipher BF-CBC
float

Die von Swissvpn vorgeschlagene conf:
Code:
dev tun
client
proto tcp-client
remote connect-openvpn.swissvpn.net 443
ca ca.crt
auth-user-pass
reneg-sec 86400
ns-cert-type server
 
[...]
Meine Frage also: Wie kriege ich die nicht benötigten Zeilen aus der .conf raus? Oder: Sollte ich vllt ein neues image bauen ohne das OpenVPN Paket und dann ovpn selber reinbasteln?
[...]
Hier im Forum gibt es Beispiele wie an der *.conf von Privoxy und/oder dnsmasq gebastelt worden ist. Schau dir mal diese Basteleien an.
 
Danke für den Tipp. Hast du zufällig einen Link?

Ich finde nur Threads in denen das Problem ist, dass die Einstellungen nach dem Box reboot wieder weg sind (wie hier: http://www.ip-phone-forum.de/showthread.php?t=213065&highlight=dnsmasq+conf). Bei mir geht es darum, dass die .conf nach dem start des ovpn Dienstes mit den Werten aus der Webcfg überschrieben wird.

Ich habe eine Datei gefunden "/var/mod/etc/conf/openvpn.cfg" dort werden scheinbar die Werte des Webcfg für ovpn gespeichert. Aber da sehe ich nichts, womit ich die Zertifikat Zeilen ändern könnte.

Hier mal der Inhalt der Datei:
Code:
export OPENVPN_ADDITIONAL='#'
export OPENVPN_AUTH_TYPE='static#certs'
export OPENVPN_AUTOSTART='#yes'
export OPENVPN_BOX_IP='#192.168.200.1'
export OPENVPN_BOX_MASK='255.255.255.0#255.255.255.0'
export OPENVPN_CIPHER='BF-CBC#BF-CBC'
export OPENVPN_CLIENT2CLIENT='#'
export OPENVPN_CLIENTS_DEFINED='#0'
export OPENVPN_CLIENT_INFO='#'
export OPENVPN_CLIENT_IPS='#'
export OPENVPN_CLIENT_MASKS='#'
export OPENVPN_CLIENT_NAMES='#'
export OPENVPN_CLIENT_NETS='#'
export OPENVPN_COMPLZO='yes#'
export OPENVPN_CONFIG_CHANGED='new#yes'
export OPENVPN_CONFIG_COUNT='1'
export OPENVPN_CONFIG_NAMES='DEFAULT#'
export OPENVPN_DEBUG='#yes'
export OPENVPN_DEBUG_TIME='10#10'
export OPENVPN_DHCP_CLIENT='#yes'
export OPENVPN_DHCP_RANGE='#'
export OPENVPN_ENABLED='yes'
export OPENVPN_EXPERT=''
export OPENVPN_FLOAT='#yes'
export OPENVPN_KEEPALIVE='yes#'
export OPENVPN_KEEPALIVE_PING='10#10'
export OPENVPN_KEEPALIVE_TIMEOUT='120#120'
export OPENVPN_LOCAL='#'
export OPENVPN_LOCAL_NET='#192.168.178.0 255.255.255.0'
export OPENVPN_LOGFILE='#'
export OPENVPN_MAXCLIENTS='1#1'
export OPENVPN_MGMNT='#'
export OPENVPN_MODE='server#client'
export OPENVPN_MTU='1500#1500'
export OPENVPN_NO_CERTTYPE='#'
export OPENVPN_OWN_KEYS='#'
export OPENVPN_PARAM_1='#'
export OPENVPN_PARAM_2='#'
export OPENVPN_PARAM_3='#'
export OPENVPN_PORT='#1194'
export OPENVPN_PROTO='udp#tcp'
export OPENVPN_PULL='#yes'
export OPENVPN_PUSH_DNS='#'
export OPENVPN_PUSH_WINS='#'
export OPENVPN_REDIRECT='#yes'
export OPENVPN_REMOTE='#connect-openvpn.swissvpn.net 443'
export OPENVPN_REMOTE_IP='#192.168.200.2'
export OPENVPN_REMOTE_NET='#'
export OPENVPN_SHAPER='#'
export OPENVPN_TAP2LAN='#'
export OPENVPN_TLS_AUTH='#no'
export OPENVPN_TYPE='tun#tun'
export OPENVPN_UDP_FRAGMENT='#'
export OPENVPN_VERBOSE='3#3'
 
Zuletzt bearbeitet:
Du kannst es ja mal versuchen, ob das openvpn mit einer geänderten Config läuft (siehe z.B. hier, wo es um was ähnliches ging). Wenn du eine funktionierende Konfig hast, kannst du entweder das OpenVPN immer händisch mit dieser Konfig starten oder du baust eine eigene Konfig fest ein, wie hier beschrieben

Jörg
 
Danke Jörg, das hat mich schon mal einen wesentlichen Schritt weiter gebracht :)

Ich starte jetzt mit meiner eigenen *.conf "händisch", das klappt soweit auch:
Code:
# openvpn svpn.cfg
Sat Jan  1 19:57:56 2000 OpenVPN 2.1.1 mipsel-linux [SSL] [LZO2] [EPOLL] [MH] built on May 18 2010
Sat Jan  1 19:57:56 2000 WARNING: file '/var/mod/etc/conf/user.cfg' is group or others accessible
Sat Jan  1 19:57:56 2000 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Sat Jan  1 19:57:56 2000 RESOLVE: NOTE: connect-openvpn.swissvpn.net resolves to 2 addresses, choosing one by random
Sat Jan  1 19:57:56 2000 Attempting to establish TCP connection with [AF_INET]80.254.79.101:443 [nonblock]
Sat Jan  1 19:57:57 2000 TCP connection established with [AF_INET]80.254.79.101:443
Sat Jan  1 19:57:57 2000 TCPv4_CLIENT link local: [undef]
Sat Jan  1 19:57:57 2000 TCPv4_CLIENT link remote: [AF_INET]80.254.79.101:443
Sat Jan  1 19:57:57 2000 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
Sat Jan  1 19:57:59 2000 [server] Peer Connection Initiated with [AF_INET]80.254.79.101:443
Sat Jan  1 19:58:01 2000 TUN/TAP device tun0 opened
Sat Jan  1 19:58:01 2000 /sbin/ifconfig tun0 93.94.xxx.xxx netmask 255.255.255.128 mtu 1500 broadcast 93.94.xxx.xxx
Sat Jan  1 19:58:01 2000 Initialization Sequence Completed

Ich dachte, das nun jeder Computer der die 5140 als Gateway/DNS eingetragen hat die vpn-verbindung mitnutzen kann, aber das ist nicht der Fall. DNS scheint zwar zu funktionieren, da ein auf dem computer ausgeführter Ping www.google.de in eine IP aufgelöst wurde, dann aber keine Antworten reinkommen.

Wenn ich Openvpn auf der Box wieder stoppe, kann ich wieder über die 5140 surfen.

Edit: Ich sollte dazu sagen, dass ich jetzt die Konfig so nutze wie sie mir von swissvpn vorgeschlagen wird (steht am ende des ersten posts). Habe lediglich mal ausprobiert, ob ein "redirect-gateway" hift - tut es scheinbar nicht.
 
Zuletzt bearbeitet:
Also, ein "redirect-gateway" sorgt dafür, dass der Client (also die Box) alles durch das VPN schickt, dass ist erstmal für alle PC's an der Box egal...

Die PCs werden auch alles genauso zu erreichen versuchen, wie die Box selbst, aber die haben natürlich keine IP aus dem VPN-Netz sondern ihre LAN IP. Und die wird der VPN-Server nicht wieder zurück zu deinem Client schicken. Das würde nur gehen, wenn du die PCs hinter der VPN-IP der Box per NAT "versteckst", dafür brauchst du iptables auf der Box (da gibt es schon diverse Threads zu, z.B. hier)...

Jörg
 
Das klingt erstmal gut. Es scheint aber so zu sein, dass iptables nicht für die 5140 gedacht ist. Wenn ich in menuconfig ein anderes Modell auswähle (7170), dann wird iptables in unstable angezeigt, wenn ich aber die 5140 auswähle, dann fehlt der Eintrag. Gibt es ein anderes Paket welches mir da helfen könnte bzw. kann ich auch irgendwie anders so ein Masquerading einrichten?

Edit: Macht es Sinn ein image für eine andere Box zu bauen (mit iptables) und es auf meine box anzuwenden?

Edit 2: Ich habe iptables selber in der .config aktiviert, kriegte dann aber fehler weil offensichtlich nicht die benötigten kernel module laufen. Kann man vielleicht mit der Routing Konfiguration im Fritzbox Menü was erreichen?

Habe mir nun erstmal geholfen indem ich das ganze auf meinem Ubuntu-Netbook erledige. Dank Dir, Jörg, wusste ich wie ich das anzugehen hatte. Falls es aber doch noch eine lösung für die box gäbe wäre das sehr cool.
 
Zuletzt bearbeitet:
Hallo ,
habe eine fbf 7270 mit openvpn und iptables.
Die vpn Verbinung zur vpnuk läuft , leider geht das komplette Traffic an dem Tunnel vorbei.
Meine Frage ist wie soll ich iptables einrichten,um den Traffic ins Tunell zur lenken.Was mache ich falsch ?
Code:
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.180.1   *               255.255.255.255 UH    2      0        0 dsl
10.10.11.29     *               255.255.255.255 UH    0      0        0 tun0
192.168.180.2   *               255.255.255.255 UH    2      0        0 dsl
91.40.xxx.xxx   *               255.255.255.255 UH    2      0        0 dsl
192.168.178.0   *               255.255.255.0   U     0      0        0 lan
192.168.179.0   *               255.255.255.0   U     0      0        0 guest
10.10.11.0      10.10.11.29     255.255.255.0   UG    0      0        0 tun0
169.254.0.0     *               255.255.0.0     U     0      0        0 lan
default         *               0.0.0.0         U     2      0        0 dsl
 
Zuletzt bearbeitet:
...
Was mache ich falsch ?
...
Dazu kann man erst dann was sagen, wenn man weiss was Du bisher schon gemacht hast. Wenn Du noch nichts gemacht hast, dann hast Du auch nichts falsch gemacht. Mit dem posten der Routing-Tabelle hast Du auch noch nichts falsch gemacht.;)
 
wie soll dann die Regel aussehen ?
Tschuldigung aber ich bin ein Laie was Iptables betrifft.
 
Es hat nichts mit ipatbles zu tun, die Default-Route muß auf den VPN-Tunnel zeigen.
Code:
ip ro del default
ip ro add default via 10.10.11.29
 
Danke ,
soll ich die befehle per telnet oder Rudishell eingeben ??? (beides versucht), oder einen skript erstellen?
leider , komme ich nicht wirklich weiter . :(
 
Zuletzt bearbeitet:
Hast Du in der busybox, ip aktiviert?
 
Nein , deswegen funktionierte nicht das Kommando mit "ip" (richtig?!)
Habe das ganze mit dem alten befehl route del .... gemacht , und der default gw. steht auf

10.10.11.29 , ping vom telnet aus , auf www.heise.de funktioniert , zugriff vom pc auf Inet; fehlanzeige . :(
 
Zuletzt bearbeitet:
Nein der ping funktioniert nicht sowohl vom pc wie auch neuerdings von der Konsole.
Die IP vom pc ist 192.168.178.20.
 

Statistik des Forums

Themen
246,195
Beiträge
2,247,811
Mitglieder
373,748
Neuestes Mitglied
fanti88
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.