.titleBar { margin-bottom: 5px!important; }

Verbindung über openvpn auf entf. Server

Dieses Thema im Forum "Freetz" wurde erstellt von SuperS04, 28 Dez. 2008.

  1. SuperS04

    SuperS04 Neuer User

    Registriert seit:
    28 Dez. 2008
    Beiträge:
    5
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo,

    ich habe ein Problem eine Verbindung auf einen entfernten Server herzustellen.

    Fritz!Box mit freetz 1.0.1 7141 -> 192.168.5.1
    entf. Server -> 10.8.0.1

    Die Zertifikate habe ich unter Einstellungen eingespielt.

    Meine Einstellungen unter openvpn im Freetz Menü...

    Modus: Client, Tunnel
    Server und ggf. Port: xyz.de 1194
    Authentifizierungsmethode: Zertifikate
    Cipher: Blowfish, TLS-Authentifizierung aktiviert
    Optionen vom Server empfangen (nur mit Zertifikaten) aktiviert
    auch IP-Adresse vom Server empfangen aktiviert
    Keepalive aktiviert
    LZO aktiviert

    Für mich sieht es so aus, als würde es eigentlich funktionieren,
    aber ich kann mir von dem Server die Daten nicht holen.

    Route gibt folgendes aus:

    [Edit frank_m24: Bitte benutzt CODE Tags für solche Ausgaben.]
    Code:
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    10.8.0.1        10.8.0.49       255.255.255.255 UGH   0      0        0 tun0
    192.168.180.1   *               255.255.255.255 UH    2      0        0 dsl
    10.8.0.49       *               255.255.255.255 UH    0      0        0 tun0
    192.168.180.2   *               255.255.255.255 UH    2      0        0 dsl
    192.168.5.0     *               255.255.255.0   U     0      0        0 lan
    169.254.0.0     *               255.255.0.0     U     0      0        0 lan
    default         *               0.0.0.0         U     2      0        0 dsl
    /var/mod/root #
    
    
    /var/mod/root # cat /var/tmp/debug_openvpn.out
    Sun Dec 28 12:00:16 2008 OpenVPN 2.1_rc13 mipsel-linux [SSL] [LZO2] [EPOLL] built on Dec 25 2008
    Sun Dec 28 12:00:16 2008 WARNING: file '/tmp/flash/box.key' is group or others accessible
    Sun Dec 28 12:00:16 2008 Control Channel Authentication: using '/tmp/flash/static.key' as a OpenVPN static key file
    Sun Dec 28 12:00:16 2008 Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
    Sun Dec 28 12:00:16 2008 Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
    Sun Dec 28 12:00:16 2008 LZO compression initialized
    Sun Dec 28 12:00:16 2008 Control Channel MTU parms [ L:1542 D:166 EF:66 EB:0 ET:0 EL:0 ]
    Sun Dec 28 12:00:16 2008 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
    Sun Dec 28 12:00:16 2008 Socket Buffers: R=[110592->131072] S=[110592->131072]
    Sun Dec 28 12:00:16 2008 UDPv4 link local: [undef]
    Sun Dec 28 12:00:16 2008 UDPv4 link remote: xx.xx.xx.xx:1194
    Sun Dec 28 12:00:16 2008 TLS: Initial packet from xx.xx.xx.xx:1194, sid=xxxxxxxx xxxxxxxx
    Sun Dec 28 12:00:17 2008 VERIFY OK: depth=1, xxxxx
    Sun Dec 28 12:00:17 2008 VERIFY OK: nsCertType=SERVER
    Sun Dec 28 12:00:17 2008 VERIFY OK: depth=0, xxx
    Sun Dec 28 12:00:18 2008 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
    Sun Dec 28 12:00:18 2008 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
    Sun Dec 28 12:00:18 2008 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
    Sun Dec 28 12:00:18 2008 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
    Sun Dec 28 12:00:18 2008 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 1024 bit RSA
    Sun Dec 28 12:00:18 2008 [xxxxxx] Peer Connection Initiated with xx.xx.xx.xx::1194
    Sun Dec 28 12:00:19 2008 SENT CONTROL [xxxxx]: 'PUSH_REQUEST' (status=1)
    Sun Dec 28 12:00:19 2008 PUSH: Received control message: 'PUSH_REPLY,route 10.8.0.1,topology net30,ping 10,ping-restart 120,ifconfig 10.8.0.50 10.8.0.49'
    Sun Dec 28 12:00:19 2008 OPTIONS IMPORT: timers and/or timeouts modified
    Sun Dec 28 12:00:19 2008 OPTIONS IMPORT: --ifconfig/up options modified
    Sun Dec 28 12:00:19 2008 OPTIONS IMPORT: route options modified
    Sun Dec 28 12:00:19 2008 TUN/TAP device tun0 opened
    Sun Dec 28 12:00:19 2008 TUN/TAP TX queue length set to 100
    Sun Dec 28 12:00:19 2008 /sbin/ifconfig tun0 10.8.0.50 pointopoint 10.8.0.49 mtu 1500
    Sun Dec 28 12:00:19 2008 /sbin/route add -net 10.8.0.1 netmask 255.255.255.255 gw 10.8.0.49
    Sun Dec 28 12:00:19 2008 Initialization Sequence Completed
    Kann jemand helfen?
    Danke.

    VG
    Jens
     
  2. MaxMuster

    MaxMuster IPPF-Promi

    Registriert seit:
    1 Feb. 2005
    Beiträge:
    6,924
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Wie sieht denn die Server-Config aus?

    Stimmen z.B. bei "tls-auth" der Key und auch die "Richtung"? Die GUI nutzt für den Client:
    Code:
    tls-auth /tmp/flash/static.key 1
    
    Beim Server müsste dementsprechend stehen
    Code:
    tls-auth <[I]/Pfad/zem/key/[/I]>static.key 0
    
    Ist ein Ping auf den Server (10.8.0.1) möglich? Kommst du ggf. auch an das Logfile beim Server?

    Jörg
     
  3. SuperS04

    SuperS04 Neuer User

    Registriert seit:
    28 Dez. 2008
    Beiträge:
    5
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Mir wurde nur die Konfig mitgeteilt..

    client
    dev tun
    proto udp
    remote xyz.de 1194
    resolv-retry infinite
    nobind
    group nogroup
    persist-key
    persist-tun
    ca xyz-ca.crt
    cert xyz.crt
    key xyz.key
    tls-auth xyz-ta.key 1
    comp-lzo
    verb 3

    Wie ich inzwischen erfahren habe, ist wohl ein Ping auf den Server nicht möglich.
    Ich möchte mir Daten am Port 20248 auf den 10.8.0.1 abholen.

    Ein Bekannter meinte jetzt, dass die Pakete den Weg wahrscheinlich nicht zurück finden, aber die Verbindung eigentlich steht.

    Er meinte ich solle das was mit iptables machen??

    Hat jemand damit Erfahrung?

    VG
     
  4. MaxMuster

    MaxMuster IPPF-Promi

    Registriert seit:
    1 Feb. 2005
    Beiträge:
    6,924
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Soll denn die Box selbst die Daten holen? Oder versuchst du das von einem PC "hinter" der Box? Letzteres wird so nicht gehen, aber du könntest dann ja auch die VPN-Verbindung direkt auf dem PC starten...

    Jörg
     
  5. SuperS04

    SuperS04 Neuer User

    Registriert seit:
    28 Dez. 2008
    Beiträge:
    5
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Die DBOX soll sich die Daten holen.

    Für die DBOX selbst habe ich noch kein openvpn gefunden, sonst hätte ich darauf installiert.
    Das hätte das ganze vereinfacht.
     
  6. MaxMuster

    MaxMuster IPPF-Promi

    Registriert seit:
    1 Feb. 2005
    Beiträge:
    6,924
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    #6 MaxMuster, 3 Jan. 2009
    Zuletzt bearbeitet: 2 Feb. 2011
    Du benötigtest dafür dann iptables auf der fritzbox, um auf das tun zu "natten".

    Oder du versuchst mal das anhängenden Binary ;-), was ich mal mit openwrt für Powerpc statisch gebaut habe:

    Code:
    # per ftp openvpn und tun.o nach /tmp auf der dbox bringen
    # dann auf der dbox (nur zum Testen)
    cd /tmp
    chmod +x openvpn
    ./openvpn --genkey --secret /tmp/key
    insmod -f /tmp/tun.o
    echo -e "dev tun\nsecret /tmp/key" > ovpn.cfg
    ./openvpn ovpn.cfg
    
    Ergab bei mir (die Funktion habe ich nicht getestet...)
    Code:
    /tmp # ./openvpn ovpn.cfg 
    Thu Jan  1 01:27:23 1970 OpenVPN 2.1_rc13 powerpc-linux [SSL] [LZO2] [EPOLL] built on Jan  2 2009
    Thu Jan  1 01:27:23 1970 IMPORTANT: OpenVPN's default port number is now 1194, based on an official port number assignment by IANA.  OpenVPN 2.0-beta16 and earlier used 5000 as the default port.
    Thu Jan  1 01:27:23 1970 WARNING: file '/tmp/key' is group or others accessible
    Thu Jan  1 01:27:23 1970 TUN/TAP device tun0 opened
    Thu Jan  1 01:27:23 1970 UDPv4 link local (bound): [undef]:1194
    Thu Jan  1 01:27:23 1970 UDPv4 link remote: [undef]
    Thu Jan  1 01:27:28 1970 event_wait : Interrupted system call (code=4)
    Thu Jan  1 01:27:28 1970 SIGINT[hard,] received, process exiting
    
    Jörg



    PS: Gebaut wurde es so, falls es interessiert:
    Im Openwrt PPC40x und schonmal openssl-libs ausgesucht. "make" baut dann erstmal die passende Toolchain für uns ;-)
    Code:
    PATH=/home/joerg/openwrt/trunk/staging_dir/toolchain-powerpc_gcc3.4.6/bin/:$PATH
    
    
    # Alle sourcen aus dem Freetz kopiert, dann sind sie ggf schon gepatched ;-)
    # openssl hatten wir ja schon bauen lassen 
    
    # fehlt noch lzo2 
    ./configure --enable-shared --enable-static  --disable-asm --disable-libtool-lock  --build=i386-linux-gnu --target=powerpc-linux --host=powerpc-linux  CC="powerpc-linux-uclibc-gcc" CFLAGS="-Os -pipe   -L/home/joerg/openwrt/trunk/staging_dir/toolchain-powerpc_gcc3.4.6/lib/ "
    make clean
    make
    
    # und dann natürlich openvpn (rc_13):
    
    ./configure --sysconfdir=/tmp/openvpn --enable-lzo --disable-shared --enable-static  --disable-debug --disable-plugins  --disable-management --disable-pkcs11 --disable-socks --disable-http --enable-password-save --enable-small --with-ssl-headers=../openssl-0.9.8i/include/  --with-ssl-lib=../openssl-0.9.8i/  --with-lzo-headers=../lzo-2.02/include/  --with-lzo-lib=../lzo-2.02/src/.libs/  --build=i386-linux-gnu -target=powerpc-linux --host=powerpc-linux  CC="powerpc-linux-uclibc-gcc" CFLAGS="-Os -pipe   -L/home/joerg/openwrt/trunk/staging_dir/toolchain-powerpc_gcc3.4.6/lib/ "
    make clean
    make
    
    # und (auf die Schnelle zum statischen bauen):
    
    powerpc-linux-uclibc-gcc  -Os -pipe -Wa,--trap -Wl,-rpath-link,/home/joerg/openwrt/trunk/staging_dir/toolchain-powerpc_gcc3.4.6/lib/   -L../openssl-0.9.8i/  -L../lzo-2.02/src/.libs/ -static -o openvpn  base64.o buffer.o crypto.o dhcp.o error.o event.o fdmisc.o forward.o fragment.o gremlin.o helper.o lladdr.o init.o interval.o list.o lzo.o manage.o mbuf.o misc.o mroute.o mss.o mtcp.o mtu.o mudp.o multi.o ntlm.o occ.o pkcs11.o openvpn.o options.o otime.o packet_id.o perf.o pf.o ping.o plugin.o pool.o proto.o proxy.o ieproxy.o ps.o push.o reliable.o route.o schedule.o session_id.o shaper.o sig.o socket.o socks.o ssl.o status.o thread.o tun.o win32.o cryptoapi.o  -lssl -lcrypto -ldl -llzo2
    
    powerpc-linux-strip openvpn
    
     

    Anhänge:

  7. SuperS04

    SuperS04 Neuer User

    Registriert seit:
    28 Dez. 2008
    Beiträge:
    5
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Danke, habe es mal getestet und sieht gar nicht so schlecht aus, bis auf ein warning bezgl. der Kernel Version.

    /tmp # ./openvpn --genkey --secret /tmp/key
    /tmp # insmod -f /tmp/tun.o
    insmod: warning: kernel-module version mismatch
    /tmp/tun.o was compiled for kernel version 2.4.36.2-dbox2
    while this kernel is version 2.4.36.6-dbox2
    /tmp # echo -e "dev tun\nsecret /tmp/key" > ovpn.cfg
    /tmp # ./openvpn ovpn.cfg
    Sat Jan 3 16:54:52 2009 OpenVPN 2.1_rc13 powerpc-linux [SSL] [LZO2] [EPOLL] built on Jan 2 2009
    Sat Jan 3 16:54:52 2009 IMPORTANT: OpenVPN's default port number is now 1194, based on an official port number assignment by IANA. OpenVPN 2.0-beta16 and earlier used 5000 as the default port.
    Sat Jan 3 16:54:52 2009 TUN/TAP device tun0 opened
    Sat Jan 3 16:54:52 2009 UDPv4 link local (bound): [undef]:1194
    Sat Jan 3 16:54:52 2009 UDPv4 link remote: [undef]

    Das mit dem Kernel ist doch nicht weiter wild, oder?

    VG
    Jens
     
  8. SuperS04

    SuperS04 Neuer User

    Registriert seit:
    28 Dez. 2008
    Beiträge:
    5
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    So habe jetzt mal mit der originalen Config probiert und den Zertifikaten und es funktioniert. :D

    Manchmal wäre es ja ganz einfach, wenn man mehr Ahnung hätte.;)

    Tausend Dank.:groesste:
     
  9. MaxMuster

    MaxMuster IPPF-Promi

    Registriert seit:
    1 Feb. 2005
    Beiträge:
    6,924
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    #9 MaxMuster, 2 Feb. 2011
    Zuletzt bearbeitet: 4 Feb. 2011
    Hier mal ein aktuelleres Binary (2.1.4). So gebaut:
    Code:
    # zuvor "make menuconfig" mit Wahl von
    # Target: PPC 40x
    # liblzo , zlib, openssl (z.B. indem man OpenVPN wählt ;-))
    #
    # dann im openwrt Ordner
    OWRT=$(pwd)
    PATH=${OWRT}/staging_dir/toolchain-powerpc_gcc-4.4.5_uClibc-0.9.32/bin/:$PATH
    tar xvzf ~/freetz-trunk-new/dl/openvpn-2.1.4.tar.gz
    cd openvpn-2.1.4/
    patch -p0 < ~/freetz-trunk/make/openvpn/patches/*.patch
    AR=powerpc-openwrt-linux-uclibc-ar AS="powerpc-openwrt-linux-uclibc-gcc -c -Os -pipe -funit-at-a-time -mcpu=405 -fhonour-copts -msoft-float" LD=powerpc-openwrt-linux-uclibc-ld NM=powerpc-openwrt-linux-uclibc-nm CC="powerpc-openwrt-linux-uclibc-gcc" GCC="powerpc-openwrt-linux-uclibc-gcc" CXX="powerpc-openwrt-linux-uclibc-g++" RANLIB=powerpc-openwrt-linux-uclibc-ranlib STRIP=powerpc-openwrt-linux-uclibc-strip OBJCOPY=powerpc-openwrt-linux-uclibc-objcopy OBJDUMP=powerpc-openwrt-linux-uclibc-objdump SIZE=powerpc-openwrt-linux-uclibc-size CFLAGS="-Os -pipe -funit-at-a-time -mcpu=405 -fhonour-copts -msoft-float " CXXFLAGS="-Os -pipe -funit-at-a-time -mcpu=405 -fhonour-copts -msoft-float " CPPFLAGS="-I${OWRT}/staging_dir/target-powerpc_uClibc-0.9.32/usr/include -I${OWRT}/staging_dir/target-powerpc_uClibc-0.9.32/include -I${OWRT}/staging_dir/toolchain-powerpc_gcc-4.4.5_uClibc-0.9.32/usr/include -I${OWRT}/staging_dir/toolchain-powerpc_gcc-4.4.5_uClibc-0.9.32/include " LDFLAGS="-static -L${OWRT}/staging_dir/target-powerpc_uClibc-0.9.32/usr/lib -L${OWRT}/staging_dir/target-powerpc_uClibc-0.9.32/lib -L${OWRT}/staging_dir/toolchain-powerpc_gcc-4.4.5_uClibc-0.9.32/usr/lib -L${OWRT}/staging_dir/toolchain-powerpc_gcc-4.4.5_uClibc-0.9.32/lib" LIBS="-lssl -lcrypto -llzo2 -ldl" ./configure --target=powerpc-openwrt-linux --host=powerpc-openwrt-linux --build=x86_64-linux-gnu  --sysconfdir=/tmp/openvpn --enable-lzo --disable-shared --enable-static  --disable-debug --disable-plugins  --enable-management --disable-pkcs11 --disable-socks --disable-http --enable-password-save --enable-small  
    #
    # bauen
    #
    make
    #
    # und "strippen"
    #
    powerpc-openwrt-linux-strip openvpn
    
     

    Anhänge: