openvpn-routing fixen

freesel

Neuer User
Mitglied seit
11 Jul 2012
Beiträge
19
Punkte für Reaktionen
0
Punkte
0
Hi,

ich versuche meine box zu einem vpn zu verbinden (bis ich weiss, dass es geht versuche ich vpnbook.com) und alle devices auf meiner Seite mit masquerade zu verstecken.

Verbinde ich mich mit dem vpn sehe ich folgendes:
Code:
root@fritz:/var/media/ftp/platte01/vpn# openvpn --config vpnbook-uk1-tcp443.ovpn 
Wed Oct 23 18:52:32 2013 OpenVPN 2.2.1 mips-linux [SSL] [LZO2] [MH] [PF_INET6] [IPv6 payload 20110424-2 (2.2RC2)] built on Oct 22 2013
Enter Auth Username:vpnbook
Enter Auth Password:
Wed Oct 23 18:52:44 2013 WARNING: No server certificate verification method has been enabled.  See http://openvpn.net/howto.html#mitm for more info.
Wed Oct 23 18:52:44 2013 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Wed Oct 23 18:52:44 2013 NOTE: --fast-io is disabled since we are not using UDP
Wed Oct 23 18:52:44 2013 LZO compression initialized
Wed Oct 23 18:52:44 2013 Control Channel MTU parms [ L:1560 D:140 EF:40 EB:0 ET:0 EL:0 ]
Wed Oct 23 18:52:44 2013 Socket Buffers: R=[87380->131072] S=[16384->131072]
Wed Oct 23 18:52:44 2013 Data Channel MTU parms [ L:1560 D:1450 EF:60 EB:135 ET:0 EL:0 AF:3/1 ]
Wed Oct 23 18:52:44 2013 Attempting to establish TCP connection with [AF_INET]46.23.68.180:443 [nonblock]
Wed Oct 23 18:52:45 2013 TCP connection established with [AF_INET]46.23.68.180:443
Wed Oct 23 18:52:45 2013 TCPv4_CLIENT link local: [undef]
Wed Oct 23 18:52:45 2013 TCPv4_CLIENT link remote: [AF_INET]46.23.68.180:443
Wed Oct 23 18:52:45 2013 TLS: Initial packet from [AF_INET]46.23.68.180:443, sid=c91bdd37 eccef230
Wed Oct 23 18:52:45 2013 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
Wed Oct 23 18:52:46 2013 VERIFY OK: depth=1, /C=CH/ST=Zurich/L=Zurich/O=vpnbook.com/OU=IT/CN=vpnbook.com/name=vpnbook.com/[email protected]
Wed Oct 23 18:52:46 2013 VERIFY OK: depth=0, /C=CH/ST=Zurich/L=Zurich/O=vpnbook.com/OU=IT/CN=vpnbook.com/name=vpnbook.com/[email protected]
Wed Oct 23 18:52:46 2013 Data Channel Encrypt: Cipher 'AES-128-CBC' initialized with 128 bit key
Wed Oct 23 18:52:46 2013 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed Oct 23 18:52:46 2013 Data Channel Decrypt: Cipher 'AES-128-CBC' initialized with 128 bit key
Wed Oct 23 18:52:46 2013 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed Oct 23 18:52:46 2013 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 1024 bit RSA
Wed Oct 23 18:52:46 2013 [vpnbook.com] Peer Connection Initiated with [AF_INET]46.23.68.180:443
Wed Oct 23 18:52:49 2013 SENT CONTROL [vpnbook.com]: 'PUSH_REQUEST' (status=1)
Wed Oct 23 18:52:49 2013 PUSH: Received control message: 'PUSH_REPLY,redirect-gateway def1,dhcp-option DNS  83.170.64.2,dhcp-option DNS  83.170.69.2,route 10.9.0.1,topology net30,ping 5,ping-restart 30,ifconfig 10.9.2.14 10.9.2.13'
Wed Oct 23 18:52:49 2013 OPTIONS IMPORT: timers and/or timeouts modified
Wed Oct 23 18:52:49 2013 OPTIONS IMPORT: --ifconfig/up options modified
Wed Oct 23 18:52:49 2013 OPTIONS IMPORT: route options modified
Wed Oct 23 18:52:49 2013 OPTIONS IMPORT: --ip-win32 and/or --dhcp-option options modified
Wed Oct 23 18:52:49 2013 TUN/TAP device tun1 opened
Wed Oct 23 18:52:49 2013 TUN/TAP TX queue length set to 100
Wed Oct 23 18:52:49 2013 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Wed Oct 23 18:52:49 2013 /sbin/ifconfig tun1 10.9.2.14 pointopoint 10.9.2.13 mtu 1500
[B]Wed Oct 23 18:52:51 2013 NOTE: unable to redirect default gateway -- Cannot read current default gateway from system[/B]
Wed Oct 23 18:52:51 2013 /sbin/route add -net 10.9.0.1 netmask 255.255.255.255 gw 10.9.2.13
Wed Oct 23 18:52:51 2013 Initialization Sequence Completed

Natürlich kann ich so keine Seiten aufrufen. Route sagt folgendes
Code:
root@fritz:/var/media/ftp/container/external# route
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.9.1.237      *               255.255.255.255 UH    0      0        0 tun1
10.9.0.1        10.9.1.237      255.255.255.255 UGH   0      0        0 tun1
77.11.168.78    *               255.255.255.255 UH    2      0        0 dsl
192.168.180.2   *               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
169.254.0.0     *               255.255.0.0     U     0      0        0 lan
default         *               0.0.0.0         U     2      0        0 dsl
root@fritz:/var/media/ftp/container/external#
Also habe ich gegoogelt und die route wie hier vorgeschlagen geändert.

Code:
root@fritz:/var/media/ftp/container/external# route add 46.23.68.180 dev dsl
root@fritz:/var/media/ftp/container/external# route add -net 0.0.0.0/1 dev tun1
root@fritz:/var/media/ftp/container/external# route add -net 128.0.0.0/1 dev tun1
root@fritz:/var/media/ftp/container/external# route 
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.9.1.237      *               255.255.255.255 UH    0      0        0 tun1
10.9.0.1        10.9.1.237      255.255.255.255 UGH   0      0        0 tun1
77.11.168.78    *               255.255.255.255 UH    2      0        0 dsl
192.168.180.2   *               255.255.255.255 UH    2      0        0 dsl
46.23.68.180    *               255.255.255.255 UH    0      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
169.254.0.0     *               255.255.0.0     U     0      0        0 lan
default         *               128.0.0.0       U     0      0        0 tun1
128.0.0.0       *               128.0.0.0       U     0      0        0 tun1
default         *               0.0.0.0         U     2      0        0 dsl
root@fritz:/var/media/ftp/container/external#
Wenn ich damit google pinge habe ich 100% package loss. Da ich mich mit routing wirklich null auskenne habe ich gehofft mir könnte hier jemand helfen?

Danke und Grüsse,
freesel
 
Zuletzt bearbeitet:
Wegen der Meldung " unable to redirect default gateway": Nutze ein neueres OpenVPN (Version 2.3.x), damit klappt das.

Zum Testen pinge erstmal 8.8.8.8, oder eine andere IP im Internet direkt an, statt über den Namen. Frage wäre, ob die DNS-Auflösung klappt, wenn du durch das VPN routest.
 
Ich kann leider nicht updaten weil dann iptables nicht mehr funktioniert... Kann ich die routen nicht manuell setzen?
 
Ja, geht auch. Die mögliche DNS-Server-Problematik wäre die gleiche.

Welche Freetz-Version nutzt du denn? Theoretisch sollte man auch ein "neueres" OpenVPN da reingeflanscht werden können...
 
ich benutze FRITZ.Box_Fon_WLAN_7390.84.04.91.image und svn version 7460 in Zusammenhang mit "replace kernel".
Code:
root@fritz:/var/tmp/flash# uname -a
Linux fritz.fonwlan.box 2.6.19.2 #1 Tue Oct 22 20:44:57 CEST 2013 mips GNU/Linux
root@fritz:/var/tmp/flash#
An sich wäre es mir natürlich am liebsten nicht jedesmal die routen von Hand setzen zu müssen, daher fände ich eine neue openvpn-Version klasse. Wie funktioniert das mit dem cross-compilen? Ich update das hier:
Code:
./freetz-devel_r7460/source/target-mips_uClibc-0.9.29/openvpn-2.2.1/openvpn
?
 
Mal schauen, wie das ginge, das neue Programm da ins Image einzubauen. Du findest z.B. hier fertig gebaute Programme für die 7390.
Was auf jeden Fall funktioniert, wäre ein neues OpenVPN auf die Box bringen (z.B. bei der 7390 in den internen Flash) und damit das alte Programm "übermounten".

Oder die "quick and dirty" Version: In die "fwmod_custom" packst du ein "cp <neues OpenVPN> ./filesystem/usr/sbin/", das sollte bei einem "make" das neue Programm über das alte kopieren, ehe das Image gebaut wird.
 
Danke, ich habe die beiden statics auf einen usb stick geschoben, ausführbar gemacht und getestet. Bis ich weiss das es funktioniert muss es das erst mal tun. Ich würde gerne so wenig wie möglich an der Box rumflashen da ich gelesen habe, dass ich jedesmal die Lebenszeit des Speichers reduziere.
Code:
ot@fritz:/var/media/ftp/platte01/vpn# ./openvpn_2.3.2-mips-openssl-static --config vpnbook-uk1-tcp443.ovpn 
Wed Oct 30 10:27:48 2013 OpenVPN 2.3.2 mips-unknown-linux-gnu [SSL (OpenSSL)] [LZO] [IPv6] built on Jul 13 2013
Enter Auth Username:vpnbook
Enter Auth Password:
Wed Oct 30 10:27:58 2013 WARNING: No server certificate verification method has been enabled.  See http://openvpn.net/howto.html#mitm for more info.
Wed Oct 30 10:27:58 2013 NOTE: --fast-io is disabled since we are not using UDP
Wed Oct 30 10:27:58 2013 Socket Buffers: R=[87380->131072] S=[16384->131072]
Wed Oct 30 10:27:58 2013 Attempting to establish TCP connection with [AF_INET]46.23.68.180:443 [nonblock]
Wed Oct 30 10:27:59 2013 TCP connection established with [AF_INET]46.23.68.180:443
Wed Oct 30 10:27:59 2013 TCPv4_CLIENT link local: [undef]
Wed Oct 30 10:27:59 2013 TCPv4_CLIENT link remote: [AF_INET]46.23.68.180:443
Wed Oct 30 10:27:59 2013 TLS: Initial packet from [AF_INET]46.23.68.180:443, sid=6af11e8e ce3259d0
Wed Oct 30 10:27:59 2013 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
Wed Oct 30 10:28:00 2013 VERIFY OK: depth=1, C=CH, ST=Zurich, L=Zurich, O=vpnbook.com, OU=IT, CN=vpnbook.com, name=vpnbook.com, [email protected]
Wed Oct 30 10:28:00 2013 VERIFY OK: depth=0, C=CH, ST=Zurich, L=Zurich, O=vpnbook.com, OU=IT, CN=vpnbook.com, name=vpnbook.com, [email protected]
Wed Oct 30 10:28:00 2013 Data Channel Encrypt: Cipher 'AES-128-CBC' initialized with 128 bit key
Wed Oct 30 10:28:00 2013 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed Oct 30 10:28:00 2013 Data Channel Decrypt: Cipher 'AES-128-CBC' initialized with 128 bit key
Wed Oct 30 10:28:00 2013 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed Oct 30 10:28:00 2013 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 1024 bit RSA
Wed Oct 30 10:28:00 2013 [vpnbook.com] Peer Connection Initiated with [AF_INET]46.23.68.180:443
Wed Oct 30 10:28:02 2013 SENT CONTROL [vpnbook.com]: 'PUSH_REQUEST' (status=1)
Wed Oct 30 10:28:03 2013 PUSH: Received control message: 'PUSH_REPLY,redirect-gateway def1,dhcp-option DNS  83.170.64.2,dhcp-option DNS  83.170.69.2,route 10.9.0.1,topology net30,ping 5,ping-restart 30,ifconfig 10.9.1.194 10.9.1.193'
Wed Oct 30 10:28:03 2013 OPTIONS IMPORT: timers and/or timeouts modified
Wed Oct 30 10:28:03 2013 OPTIONS IMPORT: --ifconfig/up options modified
Wed Oct 30 10:28:03 2013 OPTIONS IMPORT: route options modified
Wed Oct 30 10:28:03 2013 OPTIONS IMPORT: --ip-win32 and/or --dhcp-option options modified
Wed Oct 30 10:28:03 2013 TUN/TAP device tun1 opened
Wed Oct 30 10:28:03 2013 TUN/TAP TX queue length set to 100
Wed Oct 30 10:28:03 2013 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Wed Oct 30 10:28:03 2013 /sbin/ifconfig tun1 10.9.1.194 pointopoint 10.9.1.193 mtu 1500
Wed Oct 30 10:28:05 2013 /sbin/route add -net 46.23.68.180 netmask 255.255.255.255 dev dsl
Wed Oct 30 10:28:05 2013 /sbin/route add -net 0.0.0.0 netmask 128.0.0.0 gw 10.9.1.193
Wed Oct 30 10:28:05 2013 /sbin/route add -net 128.0.0.0 netmask 128.0.0.0 gw 10.9.1.193
Wed Oct 30 10:28:05 2013 /sbin/route add -net 10.9.0.1 netmask 255.255.255.255 gw 10.9.1.193
Wed Oct 30 10:28:05 2013 Initialization Sequence Completed

Die routen danach sind folgende:
Code:
root@fritz:/var/tmp/flash# route
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.9.0.1        10.9.1.193      255.255.255.255 UGH   0      0        0 tun1
192.168.180.2   *               255.255.255.255 UH    2      0        0 dsl
46.23.68.180    *               255.255.255.255 UH    0      0        0 dsl
10.9.1.193      *               255.255.255.255 UH    0      0        0 tun1
77.11.161.9     *               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
169.254.0.0     *               255.255.0.0     U     0      0        0 lan
default         10.9.1.193      128.0.0.0       UG    0      0        0 tun1
128.0.0.0       10.9.1.193      128.0.0.0       UG    0      0        0 tun1
default         *               0.0.0.0         U     2      0        0 dsl
root@fritz:/var/tmp/flash#
Aber leider kann ich danach keinen Host anpingen:
Code:
root@fritz:/var/tmp/flash# ping google.de
PING google.de (173.194.112.63): 56 data bytes

--- google.de ping statistics ---
3 packets transmitted, 0 packets received, 100% packet loss
root@fritz:/var/tmp/flash#
Das ganze passiert übrigens mit beiden Paketen in dem verlinkten Thread. Habe ich was übersehen?
 
Merkwürdig, das sieht eigentlich genau so aus, wie es sollte. Machst du vielleicht bitte mal einen Traceroute ("traceroute -n google.de")?
 
Das war mein Fehler :-? vpnbook lässt nicht alles durch. Es funktioniert nun einwandfrei. openvpn aktiviert, dann ein
Code:
iptables -t nat -A POSTROUTING -o tun1 -j MASQUERADE
Und schon bin ich mit allen angeschlossenen Geräten plötzlich Brite :)
Vielen Dank für deine Hilfe!

Eine Frage noch: Kann ich die config so ändern, dass nur der Traffic von einem Client (beispielsweise die Box selbst mit 192.168.178.1) durch den Tunnel geht und der Rest dran vorbei, quasi ganz normal?
 
Das mit "von einem Gerät" benötigt "ip rules" und iptables. Für "ip rules" musst du einen eigenen Kernel bauen, steht z.B. ab hier in diesem Thread, besonders auch Beitrag 127 wegen der Kernel-Einstellungen.
 
Ah, ok, danke, das spar ich mir dann lieber ;) Bin froh, dass es endlich läuft so wie es läuft. Dachte ich hätte das mal in nem anderen Thread realisiert gesehen mit einer Veränderng der openvpn config.
Vielen vielen Dank für die Hilfe nochmal!
 
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.