Seite 1 von 8 12345 ... LetzteLetzte
Ergebnis 1 bis 20 von 155

Thema: Gesamten Fritz!Box LAN-Traffic über OpenVPN Tunnel ins Internet routen

  1. #1
    IPPF-Aufsteiger Avatar von gesko
    Registriert seit
    05.04.2005
    Beiträge
    44

    Frage Gesamten Fritz!Box LAN-Traffic über OpenVPN Tunnel ins Internet routen

    Hallo Gemeinde,

    giganews.com bietet einen OpenVPN-Zugang (VyprVPN) zur Anonymisierung an. Man erhält wahlweise eine IP Adresse aus den Niederlanden, aus den USA oder aus Honkong. Die 7390 soll also als client fungieren und den gesamten Internet-Traffic über den Tunnel routen.

    Hier ist die Client config:
    Code:
    client
    dev tun
    proto udp
    remote eu1.vpn.giganews.com 1194
    resolv-retry infinite
    nobind
    persist-key
    persist-tun
    persist-remote-ip
    ca ca.vyprvpn.com.crt
    tls-remote eu1.vpn.giganews.com
    auth-user-pass
    comp-lzo
    verb 3
    Eine Zertifikats-Datei "ca.vyprvpn.com.crt" ist vorhanden.

    Authentifizierung erfolgt mit Username / Passwort

    Ich habe mich versucht durch den Dschungel diverser Anleitungen zu kämpfen/googlen. Leider konnte ich keinen roten Faden finden. Das eine Howto sagt "freetz", ein anderes: es geht auch so. Zertifikate müssen mit wget nachgeladen werden u.s.w...

    Ich hoffe Ihr könnt mir hier helfen einen roten Faden zu finden.
    • Ist o.g. Szenario mit der 7390 out "of the box möglich" oder braucht man ggf. freetz?
    • Sind evtl. brauchbare Howtos vorhanden?
    • Ich habe einen Mac: das Programm Fritz!Box- Fernzugang einrichten scheidet daher aus. Hat jemand ggf. eine gut kommentierte Beispiel config Datei? und/oder Alternative?
    • Wie sieht das routing grundsätzlich aus?

    Gesko
    ------------------------------
    Live long and prosper!

  2. #2
    IPPF-Urgestein
    Registriert seit
    12.10.2005
    Ort
    München
    Beiträge
    15.451
    Zitat Zitat von gesko Beitrag anzeigen
    giganews.com bietet einen OpenVPN-Zugang (VyprVPN) zur Anonymisierung an.
    Sie bieten ihn zur Verschlüsselung deiner Online-Aktivitäten an. Anonym bist du deshalb noch lange nicht.
    Man weiß immer noch wer du bist, nur kann man nicht mehr sehen, was du für Daten überträgst
    Wegen deinem Missverständnis bezüglich der technischen Realisierung siehe hier: OpenVPN oder Fritzbox VPN
    OpenVPN läuft nur nach Modifikation auf der Box, z.B. mit freetz.
    Geändert von KunterBunter (06.03.2011 um 18:53 Uhr) Grund: Ergänzung, damit es kein Vollzitat mehr ist :-)
    DSL-Provider: M-net ISDN Surf&Fon-Flat an DSLAM Broadcom 161.242
    Repeater: FRITZ!Box 7390 Edition M-net Firmware 84.06.20
    Router: KD-Homebox FRITZ!Box 7270 V2 Firmware 54.06.05 Aktuelle Datenrate 21997/1277 kBit/s
    Router: Speedport W500V FW: BitSwitcher 0.3.9 als WLAN-Bridge an Speed!Box W701V FW: 29.04.80
    Telefone: Siemens OpenStage 40 SIP, optipoint 600 office SIP, optipoint 400 SIP, FON1 Siemens Gigaset A2
    VoIP-Provider: sipgate, dus.net, 1&1(freenet)

  3. #3
    IPPF-Aufsteiger Avatar von gesko
    Registriert seit
    05.04.2005
    Beiträge
    44
    [Edit frank_m24: Vollzitat vom Beitrag direkt darüber gelöscht, siehe Forumregeln.]

    Danke für den Hinweis, war mir bekannt. Es geht hier aber um die technische Realisierung. Solche VPSs taugen im übrigen ganz gut um geospezififsche Restriktionen zu umgehen.

    Gesko
    ------------------------------
    Live long and prosper!

  4. #4
    IPPF-Fünftausend-VIP
    Registriert seit
    01.02.2005
    Beiträge
    6.667
    Wenn du das OpenVPN-Binary auf der Box hast, funktioniert das ganz genauso, wie auf einem anderen (Linux)Gerät (ein statisch gebautes OpenVPN für die 7390 findest du mit der Suche hier im Forum oder baust es per freetz).
    Du brauchst ansonsten auf der Box "nur" die Config und das Zertifikat (wie z.B. auf einem PC), die Dateien könnten auch (einschließlich Binary) auf einem USB-Stick liegen. Es sind dann keine weiteren Besonderheiten auf der FB anders; jedes "Howto" zu deinem Vorhaben tut es also, was die Umsetzung angeht.

    Denk aber dran, dass die Box "nur" ein Client ist. Wenn also etwas durch den VPN-Tunnel geroutet wird, kommt es auf der "anderen Seite" mit der eigenen IP an; ich vermute mal, du möchtest zudem noch alle Geräte hinter der VPN-IP der Box "verstecken", wofür dann noch sowas wie iptables vorhanden sein muss, um die NAT zu realisieren...


    Jörg
    (FR) Eumex 300IP FW 06.04.49 (englisch) und "relativ aktuellem" freetz-devel mit openvpn und dropbear hinter AGFEO TK-HomeServer

  5. #5
    IPPF-Aufsteiger Avatar von gesko
    Registriert seit
    05.04.2005
    Beiträge
    44
    @MaxMuster

    Danke für Deine Ausführung. Könntest Du das mit den iptables vieleicht etwas näher erläutern. Brauche ich dazu zwingend freetz oder ist das auch ohne mod zu realisiren? Du hast Recht, ich möchte meine lokalen IPs verstecken.

    Gesko
    ------------------------------
    Live long and prosper!

  6. #6
    IPPF-Fünftausend-VIP
    Registriert seit
    01.02.2005
    Beiträge
    6.667
    Das geht (musste ich selbst erstmal probieren) auch ohne mod. Hier mal die benötigten Binaries für die 7390 (FW .91) und eine kurze Anleitung:
    Code:
    # Auf der Box FTP einschalten (Heimnetzwerk --> Speicher (NAS)  und dann "Speicher (NAS) aktiv" anhaken)
    # und auf der Box telnet aktivieren, wenn noch nicht geschehen (z.B. per Telefon #96*7*) 
    # dann erstmal den dekomprimieren so dass es nur noch ein "tar" ist
    # (z.B. mit gzip -d iptables_und_openvpn_FB7390_84_04_91.tar.gz )
    # und iptables_und_openvpn_FB7390_84_04_91.tar per FTP auf die Box bringen (liegt dann in /var/media/ftp)
    
    # Auf der Box dann in das FTP-Verzeichnis
    #
    cd /var/media/ftp
    
    # dort tar auspacken
    tar xvf iptables_und_openvpn_FB7390_84_04_91.tar
    
    # Module laden
    ./loadmodules.sh
    
    # iptables NAT-Regel für tun0
    ./iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE 
    
    # u.U. zur Sicherheit NAT-Table prüfen
    ./iptables -t nat -L -v
    
    # TUN-Device anlegen
    mknod /var/tmp/tun c 10 200
    
    # openvpn Testen:
    # key erzeugen ..
    ./openvpn --genkey --secret my.key
    # ... und los ...
    ./openvpn --dev tun --ifconfig 10.8.0.1 10.8.0.2 --secret ./my.key --dev-node /var/tmp/tun --daemon
    
    # .. und, läuft es ??
    ps | grep  openvpn | grep -v grep
    
    # .. o.k., dann wieder abbrechen
    killall openvpn
    
    # alles andere ist deine Sache ;-)
    Jörg


    PS: So sieht das dann in der Realität aus:
    Code:
    joerg@joerg-ubuntu:~$ telnet 192.168.178.1
    Trying 192.168.178.1...
    Connected to 192.168.178.1.
    Escape character is '^]'.
    
    
    BusyBox v1.8.2 (2010-07-08 13:23:44 CEST) built-in shell (ash)
    Enter 'help' for a list of built-in commands.
    
    ermittle die aktuelle TTY
    tty is "/dev/pts/0"
    Console Ausgaben auf dieses Terminal umgelenkt
    # cd /var/media/ftp/
    # ls
    FRITZ                                     Videos                                    lost+found
    Musik                                     iptables_und_openvpn_FB7390_84_04_91.tar
    # tar xvf iptables_und_openvpn_FB7390_84_04_91.tar 
    iptables
    net/
    net/netfilter/
    net/netfilter/xt_pkttype.ko
    net/netfilter/xt_conntrack.ko
    net/netfilter/xt_realm.ko
    net/netfilter/xt_state.ko
    net/netfilter/xt_comment.ko
    net/netfilter/xt_quota.ko
    net/netfilter/xt_esp.ko
    net/netfilter/xt_NOTRACK.ko
    net/netfilter/xt_length.ko
    net/netfilter/xt_NFQUEUE.ko
    net/netfilter/xt_helper.ko
    net/netfilter/xt_mark.ko
    net/ipv4/
    net/ipv4/netfilter/
    net/ipv4/netfilter/ipt_TOS.ko
    net/ipv4/netfilter/ipt_ttl.ko
    net/ipv4/netfilter/ip_nat_irc.ko
    net/ipv4/netfilter/ip_nat_ftp.ko
    net/ipv4/netfilter/ipt_MASQUERADE.ko
    net/ipv4/netfilter/ip_conntrack_tftp.ko
    net/ipv4/netfilter/ipt_layer7.ko
    net/ipv4/netfilter/ip_conntrack_irc.ko
    net/ipv4/netfilter/ip_conntrack_h323.ko
    net/ipv4/netfilter/ip_nat_sip.ko
    net/ipv4/netfilter/ipt_REDIRECT.ko
    net/ipv4/netfilter/iptable_nat.ko
    net/ipv4/netfilter/ip_nat_h323.ko
    net/ipv4/netfilter/ipt_ah.ko
    net/ipv4/netfilter/ip_conntrack.ko
    net/ipv4/netfilter/arp_tables.ko
    net/ipv4/netfilter/ipt_SAME.ko
    net/ipv4/netfilter/ip_nat_pptp.ko
    net/ipv4/netfilter/ipt_tos.ko
    net/ipv4/netfilter/ip_conntrack_pptp.ko
    net/ipv4/netfilter/ip_conntrack_sip.ko
    net/ipv4/netfilter/ip_nat_snmp_basic.ko
    net/ipv4/netfilter/ip_nat_tftp.ko
    net/ipv4/netfilter/ipt_ipp2p.ko
    net/ipv4/netfilter/ip_conntrack_ftp.ko
    net/ipv4/netfilter/iptable_raw.ko
    net/ipv4/netfilter/ip_nat.ko
    net/ipv4/netfilter/ipt_NETMAP.ko
    loadmodules.sh
    openvpn
    # ./loadmodules.sh 
    # lsmod 
    Module                  Size  Used by    Tainted: P  
    xt_state                1603  0 
    xt_realm                1286  0 
    xt_quota                1698  0 
    xt_pkttype              1481  0 
    xt_mark                 1445  0 
    xt_length               1515  0 
    xt_helper               1785  0 
    xt_esp                  1649  0 
    xt_conntrack            2203  0 
    xt_comment              1401  0 
    xt_NOTRACK              1461  0 
    xt_NFQUEUE              1545  0 
    iptable_raw             1447  0 
    iptable_nat             6662  0 
    ipt_ttl                 1519  0 
    ipt_tos                 1231  0 
    ipt_layer7             12844  0 
    ipt_ipp2p               9187  0 
    ipt_ah                  1478  0 
    ipt_TOS                 1684  0 
    ipt_SAME                1883  0 
    ipt_REDIRECT            1562  0 
    ipt_NETMAP              1537  0 
    ipt_MASQUERADE          2579  0 
    ip_nat_tftp             1532  0 
    ip_nat_snmp_basic      10464  0 
    ip_nat_sip              3799  0 
    ip_nat_pptp             4243  0 
    ip_nat_irc              2220  0 
    ip_nat_h323             7066  0 
    ip_nat_ftp              3094  0 
    ip_nat                 15549  11 iptable_nat,ipt_SAME,ipt_REDIRECT,ipt_NETMAP,ipt_MASQUERADE,ip_nat_tftp,ip_nat_sip,ip_nat_pptp,ip_nat_irc,ip_nat_h323,ip_nat_ftp
    ip_conntrack_tftp       3225  1 ip_nat_tftp
    ip_conntrack_sip        6520  1 ip_nat_sip
    ip_conntrack_pptp       8689  1 ip_nat_pptp
    ip_conntrack_irc        5572  1 ip_nat_irc
    ip_conntrack_h323      47996  1 ip_nat_h323
    ip_conntrack_ftp        6472  1 ip_nat_ftp
    ip_conntrack           44164  21 xt_state,xt_helper,xt_conntrack,xt_NOTRACK,iptable_nat,ipt_layer7,ipt_MASQUERADE,ip_nat_tftp,ip_nat_snmp_basic,ip_nat_sip,ip_nat_pptp,ip_nat_irc,ip_nat_h323,ip_nat_ftp,ip_nat,ip_conntrack_tftp,ip_conntrack_sip,ip_conntrack_pptp,ip_conntrack_irc,ip_conntrack_h323,ip_conntrack_ftp
    arp_tables             10412  0 
    userman_mod            42796  2 
    sch_sfq                 5671  4 
    sch_llq                 9170  1 
    sch_tbf                 5716  1 
    kdsldmod              986168  7 userman_mod
    ohci_hcd               20196  0 
    ehci_hcd               29274  0 
    usbcore               126854  3 ohci_hcd,ehci_hcd
    dect_io                16010  0 
    avm_dect              231812  1 dect_io
    capi_codec            186124  0 
    isdn_fbox_fon5        766763  5 
    pcmlink               276062  3 avm_dect,capi_codec,isdn_fbox_fon5
    rtc_avm                 6557  1 pcmlink
    rtc_core                7083  1 rtc_avm
    rtc_lib                 2712  2 rtc_avm,rtc_core
    Piglet_noemif          28817  0 
    bmedrv                  5871  0 
    opensrc_lkm             2038  1 bmedrv
    aclap_driver_lkm       19861  0 
    periap_driver_lkm      12348  0 
    sysKCode_lkm           12468  0 
    ethdriver_lkm          37933  2 aclap_driver_lkm,periap_driver_lkm
    timers_lkm              6121  0 
    bmdriver_lkm           12479  0 
    ap2ap_lkm              22767  4 kdsldmod,aclap_driver_lkm,ethdriver_lkm,bmdriver_lkm
    fusivlib_lkm           46422  8 kdsldmod,bmedrv,aclap_driver_lkm,periap_driver_lkm,sysKCode_lkm,ethdriver_lkm,bmdriver_lkm,ap2ap_lkm
    led_modul_Fritz_Box_7390    65357  2 
    # 
    # ./iptables -t nat -L -v
    Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
     pkts bytes target     prot opt in     out     source               destination         
    
    Chain POSTROUTING (policy ACCEPT 1 packets, 54 bytes)
     pkts bytes target     prot opt in     out     source               destination         
    
    Chain OUTPUT (policy ACCEPT 1 packets, 54 bytes)
     pkts bytes target     prot opt in     out     source               destination         
    # 
    # 
    # ./iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE 
    # 
    # ./iptables -t nat -L -v
    Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
     pkts bytes target     prot opt in     out     source               destination         
    
    Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
     pkts bytes target     prot opt in     out     source               destination         
        0     0 MASQUERADE  all  --  any    tun0    anywhere             anywhere            
    
    Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
     pkts bytes target     prot opt in     out     source               destination         
    # mknod /var/tmp/tun c 10 200
    # 
    # ./openvpn --genkey --secret my.key
    # cat my.key 
    #
    # 2048 bit OpenVPN static key
    #
    -----BEGIN OpenVPN Static key V1-----
    cb7c6a8b96870d336300ef2dc8496e58
    03d8f337c3c25092d994fb88ac55a7d7
    ca8d971081d96e8eed596993ca34ee77
    c37008b83fa331d68ead81331b7cd9e3
    02b9854776302da9073f2f0cdb12afa8
    0493848f5209fe6f9da388ade924f30d
    b2ed59fe868b3a3a639147962f6275e9
    203f8e0dad723b631c21835027ea6ead
    a1abe77bc88e16cedcf9da7c03096bb2
    b533dbd709790f8a0f974c147f1971b6
    e1f61d303a21a263821eabdfcd218896
    00c920d4bf685b750dbb2a521ab2ed44
    8c09177eb7a284e7a4672dafa95ac23a
    d05e784c9ca13a5f9805a4ae89fccf04
    7df84af5feb793cc933b82bcc5886068
    d1816ecb847af65897255eba50729bda
    -----END OpenVPN Static key V1-----
    # 
    # ./openvpn --dev tun --ifconfig 10.8.0.1 10.8.0.2 --secret ./my.key --dev-node /var/tmp/tun --daemon
    # 
    # ps | grep  openvpn | grep -v grep
     1468 root       1376 R   ./openvpn --dev tun --ifconfig 10.8.0.1 10.8.0.2 --secret ./my.key --dev-node /var/tmp/tun --daemon 
    # 
    # ifconfig tun0
    tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
              inet addr:10.8.0.1  P-t-P:10.8.0.2  Mask:255.255.255.255
              UP POINTOPOINT RUNNING NOARP ALLMULTI MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:100 
              RX bytes:0 (0.0 B)  TX bytes:240 (240.0 B)
    
    #
    Angehängte Dateien Angehängte Dateien
    Geändert von MaxMuster (07.03.2011 um 20:50 Uhr)
    (FR) Eumex 300IP FW 06.04.49 (englisch) und "relativ aktuellem" freetz-devel mit openvpn und dropbear hinter AGFEO TK-HomeServer

  7. #7
    IPPF-Aufsteiger Avatar von gesko
    Registriert seit
    05.04.2005
    Beiträge
    44
    @MaxMuster
    Vielen Dank für Deine ausführliche Hilfe. So Leute wie Du müssten in deutschsprachigen Foren mehr unterwegs sein.

    Komme heute leider nicht mehr zum Testen, werde aber auf jeden Fall berichten.

    Lieben Gruß

    Gesko
    ------------------------------
    Live long and prosper!

  8. #8
    IPPF-Aufsteiger Avatar von gesko
    Registriert seit
    05.04.2005
    Beiträge
    44
    Hallo Gemeinde,

    dank der grandiosen Hilfe von MaxMuster und einiger Recherche steht nun mein Tunnel zu giganews. Ich habe aber noch Fragen zum routing. Hier der Stand der Dinge:

    So starte ich OpenVPN und authentifiziere ich mich bei giganews:
    Code:
    # Prüfen ob Internet vorhanden
    while !(ping -c 1 www.google.de); do
    sleep 5
    done
    
    # Module laden
    ./loadmodules.sh
    
    # iptables NAT-Regel für tun0
    ./iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
    
    # tun-Device anlegen
    mknod /var/tmp/tun c 10 200
    
    # openVPN starten
    /var/media/ftp/openVPN/openvpn --client --config eu1.vpn.giganews.com.conf --dev-node /var/tmp/tun --daemon
    So sieht die config eu1.vpn.giganews.com.conf aus:

    Code:
    client
    dev tun
    proto udp
    remote eu1.vpn.giganews.com 1194
    resolv-retry infinite
    nobind
    persist-key
    persist-tun
    persist-remote-ip
    ca ca.vyprvpn.com.crt
    tls-remote eu1.vpn.giganews.com
    auth-user-pass password.txt
    comp-lzo
    verb 3
    Da man sich bei giganews mit Passwort und Usernamen anmelden muss benötigen wir noch eine Datei password.txt:

    Code:
    user
    pass
    Meldungen beim Verbindungsaufbau:

    Code:
    # ./openvpn --client --config eu1.vpn.giganews.com.conf --dev-node /var/tmp/tun         
    Thu Mar 10 21:14:59 2011 OpenVPN 2.1.4 mips-linux [SSL] [LZO2] [EPOLL] [MH] [PF_INET6] built on Mar  7 2011
    Thu Mar 10 21:14:59 2011 WARNING: file 'password.txt' is group or others accessible
    Thu Mar 10 21:14:59 2011 WARNING: Make sure you understand the semantics of --tls-remote before using it (see the man page).
    Thu Mar 10 21:14:59 2011 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
    Thu Mar 10 21:14:59 2011 LZO compression initialized
    Thu Mar 10 21:14:59 2011 Control Channel MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ]
    Thu Mar 10 21:14:59 2011 Socket Buffers: R=[132096->131072] S=[132096->131072]
    Thu Mar 10 21:14:59 2011 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
    Thu Mar 10 21:14:59 2011 UDPv4 link local: [undef]
    Thu Mar 10 21:14:59 2011 UDPv4 link remote: [AF_INET]138.199.67.17:1194
    Thu Mar 10 21:14:59 2011 TLS: Initial packet from [AF_INET]138.199.67.17:1194, sid=3dad9f4f b88c26da
    Thu Mar 10 21:14:59 2011 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
    Thu Mar 10 21:14:59 2011 VERIFY OK: depth=1, /C=KY/ST=GrandCayman/L=GeorgeTown/O=GoldenFrog-Inc/CN=GoldenFrog-Inc_CA/emailAddress=admin@goldenfrog.com
    Thu Mar 10 21:14:59 2011 VERIFY X509NAME OK: /C=KY/ST=GrandCayman/L=GeorgeTown/O=GoldenFrog-Inc/CN=eu1.vpn.giganews.com/emailAddress=admin@goldenfrog.com
    Thu Mar 10 21:14:59 2011 VERIFY OK: depth=0, /C=KY/ST=GrandCayman/L=GeorgeTown/O=GoldenFrog-Inc/CN=eu1.vpn.giganews.com/emailAddress=admin@goldenfrog.com
    Thu Mar 10 21:15:03 2011 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
    Thu Mar 10 21:15:03 2011 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
    Thu Mar 10 21:15:03 2011 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
    Thu Mar 10 21:15:03 2011 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
    Thu Mar 10 21:15:03 2011 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 2048 bit RSA
    Thu Mar 10 21:15:03 2011 [eu1.vpn.giganews.com] Peer Connection Initiated with [AF_INET]138.199.67.17:1194
    Thu Mar 10 21:15:05 2011 SENT CONTROL [eu1.vpn.giganews.com]: 'PUSH_REQUEST' (status=1)
    Thu Mar 10 21:15:05 2011 PUSH: Received control message: 'PUSH_REPLY,redirect-gateway def1 bypass-dhcp,dhcp-option DNS 208.67.222.222,dhcp-option DNS 208.67.220.220,explicit-exit-notify 5,rcvbuf 262144,route-gateway 10.9.0.1,topology subnet,ping 10,ping-restart 60,ifconfig 10.9.0.121 255.255.0.0'
    Thu Mar 10 21:15:05 2011 Options error: Unrecognized option or missing parameter(s) in [PUSH-OPTIONS]:4: explicit-exit-notify (2.1.4)
    Thu Mar 10 21:15:05 2011 OPTIONS IMPORT: timers and/or timeouts modified
    Thu Mar 10 21:15:05 2011 OPTIONS IMPORT: --sndbuf/--rcvbuf options modified
    Thu Mar 10 21:15:05 2011 Socket Buffers: R=[131072->264192] S=[131072->131072]
    Thu Mar 10 21:15:05 2011 OPTIONS IMPORT: --ifconfig/up options modified
    Thu Mar 10 21:15:05 2011 OPTIONS IMPORT: route options modified
    Thu Mar 10 21:15:05 2011 OPTIONS IMPORT: route-related options modified
    Thu Mar 10 21:15:05 2011 OPTIONS IMPORT: --ip-win32 and/or --dhcp-option options modified
    Thu Mar 10 21:15:05 2011 TUN/TAP device tun0 opened
    Thu Mar 10 21:15:05 2011 TUN/TAP TX queue length set to 100
    Thu Mar 10 21:15:05 2011 /sbin/ifconfig tun0 10.9.0.121 netmask 255.255.0.0 mtu 1500 broadcast 10.9.255.255
    Thu Mar 10 21:15:05 2011 NOTE: unable to redirect default gateway -- Cannot read current default gateway from system
    Thu Mar 10 21:15:05 2011 Initialization Sequence Completed
    Was mir hier auffällt ist:
    Code:
    Thu Mar 10 21:15:05 2011 PUSH: Received control message: 'PUSH_REPLY,redirect-gateway def1 bypass-dhcp,dhcp-option DNS 208.67.222.222,dhcp-option DNS 208.67.220.220,explicit-exit-notify 5,rcvbuf 262144,route-gateway 10.9.0.1,topology subnet,ping 10,ping-restart 60,ifconfig 10.9.0.121 255.255.0.0'
    .
    .
    .
    Thu Mar 10 21:15:05 2011 /sbin/ifconfig tun0 10.9.0.121 netmask 255.255.0.0 mtu 1500 broadcast 10.9.255.255
    Thu Mar 10 21:15:05 2011 NOTE: unable to redirect default gateway -- Cannot read current default gateway from system
    Wie schaffe ich es nun den gesamten traffic über den Tunnel ins Internet zu routen?

    Eine Lösung wäre sicherlich das Löschen der default route und setzen einer Neuen. Aber da gibt es doch sicher eine elegantere Lösung oder?

    Code:
    #Löschen des default gateway
    route del default dev dsl
    
    #Host route zu OpenVPN server-IP
    route add -host 138.199.XXX.XXX dev dsl
    
    #default route auf tun0 setzen
    route add -net 0.0.0.0/0 dev tun0

    Wie macht Ihr Profis das? Sehr gerne würde ich das Ganze reversibel gestalten. Also nach einem reboot sollte die box wieder normal laufen.

    Bin für jeden Tipp dankbar.

    Gesko
    ------------------------------
    Live long and prosper!

  9. #9
    IPPF-Fünftausend-VIP
    Registriert seit
    01.02.2005
    Beiträge
    6.667
    Das Problem ist eine etwas "merkwürdige" Art von AVM, ihr Routing zu gestalten (sieht man auch hier als freetz Ticket).

    Dort ist auch eine Lösung drin, die aber scheinbar das AVM-VPN "kaputt" macht. Ansonsten bliebe, das Umrouten per "up-script" zu machen, das Thema kannst du hier nachlesen.

    Jörg
    (FR) Eumex 300IP FW 06.04.49 (englisch) und "relativ aktuellem" freetz-devel mit openvpn und dropbear hinter AGFEO TK-HomeServer

  10. #10
    IPPF-Aufsteiger Avatar von gesko
    Registriert seit
    05.04.2005
    Beiträge
    44
    @MaxMuster
    Noch mal vielen Dank für Deine Hilfe. Die Lösung per "up-script" funktioniert:
    Code:
    # Find OpenVPN server IP address
    VPNS=$(ping -c1 eu1.vpn.giganews.com | sed -n '/PING/ s/^[^(]*(\([0-9\.]*\).*/\1/p')
    
    # Set route to VPN server over device dsl
    route add $VPNS dev dsl
    
    # Set route to tun0 device
    route add -net 0.0.0.0/1 dev tun0
    route add -net 128.0.0.0/1 dev tun0
    Das script zum Ändern der default route funktioniert leider nicht. Die unmodifizierte 7390 hat wohl kein awk.

    Code:
    #!/bin/sh
    #
    # script to correct strange default route by dsld
    #
    
    #- important variables
    #$1={online|offline]
    #DNS1=
    #DNS2=
    #IPADDR=
    #GATEWAY=
    
    #- debug
    #	exec 1> "/tmp/$(basename "$0").log"
    #	exec 2>&1
    #	echo "`date` -- $(basename "$0") $*"
    #	env | sort
    #	set -x
    
    #- magic
    case "$1" in
    	online )
    		DEFAULTROUTEIF="`route -n | awk '/^0.0.0.0[[:space:]]+0.0.0.0/ {print $8}'`"
    		if [ "$DEFAULTROUTEIF" = "dsl" ]; then
    			ifconfig $DEFAULTROUTEIF $IPADDR dstaddr $IPADDR
    			ifconfig $DEFAULTROUTEIF:dsld 169.254.2.1 dstaddr 169.254.2.1
    			DEFAULTROUTEIF_IPADDR="$IPADDR"
    			route del default 2> /dev/null
    			route add default gw $DEFAULTROUTEIF_IPADDR dev $DEFAULTROUTEIF
    		fi
    	;;
    esac
    Code:
    # route -n | awk '/^0.0.0.0[[:space:]]+0.0.0.0/ {print $8}'
    -sh: awk: not found
    Da ich leider nicht sehr fit in Sachen shell scripting und regular expressions bin komme ich hier leider nicht weiter. Siehst Du eine Möglichkeit das script für die unmodifizierte 7390 anzupassen?


    Gesko
    Geändert von gesko (11.03.2011 um 22:02 Uhr)
    ------------------------------
    Live long and prosper!

  11. #11
    IPPF-Fünftausend-VIP
    Registriert seit
    01.02.2005
    Beiträge
    6.667
    Versuche mal stattdessen:
    Code:
     route -n | sed -n '/^0.0.0.0[[:space:]]\+0.0.0.0/ s/^.*[[:space:]]\([^[:space:]]\+\)$/\1/p'
    (FR) Eumex 300IP FW 06.04.49 (englisch) und "relativ aktuellem" freetz-devel mit openvpn und dropbear hinter AGFEO TK-HomeServer

  12. #12
    IPPF-Aufsteiger Avatar von gesko
    Registriert seit
    05.04.2005
    Beiträge
    44
    @MaxMuster

    Vielen Dank. So funktioniert es. Hier mal der Stand der Dinge:


    startup.sh
    Code:
    #!/bin/sh
    #
    # Project: Connect fritz!box 7390 to VyprVPN via OpenVPN
    #
    # Start up script to connect the 7390 to giganews.com/VyprVPN via openVPN.
    # 
    
    # get the config file
    . ./config.cfg
    
    # start telnetd
    /usr/sbin/telnetd -l /sbin/ar7login
    
    # Check for internet connection.
    while !(ping -c 1 www.google.de); do
    	sleep 5
    done
    
    # Loading modules
    $INSTDIR/loadmodules.sh
    
    # Create iptables NAT rule for tun0
    $INSTDIR/iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
    
    # Create tun device
    mknod /var/tmp/tun c 10 200
    
    # Correct default gateway. Delete default gateway and add a corrected one.
    # Necessary because of AVMs strange 0.0.0.0 gateway not recognized by openVPN.
    # Will break AVMs VPN !!!!! Alternative: use openVPn with --up and --down scripts
    # to do the routing.
    DEFAULTROUTEIF="`route -n | sed -n '/^0.0.0.0[[:space:]]\+0.0.0.0/ s/^.*[[:space:]]\([^[:space:]]\+\)$/\1/p'`"
    		if [ "$DEFAULTROUTEIF" = "dsl" ]; then
    			ifconfig $DEFAULTROUTEIF:dsld 169.254.2.1 dstaddr 169.254.2.1
    			route del default 2> /dev/null
    			route add default gw 169.254.2.1 dev $DEFAULTROUTEIF
    		fi
    	
    # Set bypass routing. 
    # Get entries from file bypass.cfg. Resolve name and set route to dsl.
    BYPCFG=$INSTDIR/bypass.cfg
    		cat $BYPCFG | while read a; do
    			NEWSS=$(ping -c1 $a | sed -n '/PING/ s/^[^(]*(\([0-9\.]*\).*/\1/p')
    			route add $NEWSS dev dsl
    		done
    
    # Check if there is a password.txt file. If the file exists delete it.
    test -f $INSTDIR/password.txt && rm $INSTDIR/password.txt
    
    # Create a new password file and write usernemae and password.txt
    touch $INSTDIR/password.txt
    echo $USERNAME >> $INSTDIR/password.txt
    echo $PASSWORD >> $INSTDIR/password.txt
    
    # Check if there is NOT a logfile. If not create it.
    ! test -f $INSTDIR/log.txt && touch $INSTDIR/log.txt
    
    # Firing up OpenVPN in background. Write output to log.txt. 
    $INSTDIR/openvpn --config $SERVERLOC.vpn.giganews.com.conf --auth-user-pass $INSTDIR/password.txt --dev-node /var/tmp/tun --script-security 2 1>/var/media/ftp/openVPN/log.txt 2>&1 &
    In das Verzeichnis "/etc/onlinechanged" darf ich leider nicht schreiben, da read only. Habe die Korrektur der "default route" nun direkt über das Start-Script gemacht. Kriegt man das bei einer "ungemoddedten" 7390 auch irgendwie "boot save" über onlinechanged hin, oder beleibt mir nur der Weg über die "debug.cfg"?

    Hast Du vielleicht auch noch alternative Ideen für die Zwangstrennung?

    Lieben Gruß

    Gesko
    ------------------------------
    Live long and prosper!

  13. #13
    IPPF-Fünftausend-VIP
    Registriert seit
    01.02.2005
    Beiträge
    6.667
    Ich würde das Verzeichnis mit einer Kopie "überladen" (die Skripte sind ja nicht so groß):
    Code:
    # Temp-Verzeichnis als Ersatz
    mkdir -p /var/tmp/onlinechanged
    # alles kopieren
    cp -a /etc/onlinechanged/* /var/tmp/onlinechanged
    # Kopie ueberladen
    mount -o bind /var/tmp/onlinechanged /etc/onlinechanged/
    # Jetzt ist das Verzeichnis "schreibbar" 
    echo "hallo hallo" >  /etc/onlinechanged/test.txt
    cat /etc/onlinechanged/test.txt
    
    # nachher loeschen nicht vergessen ;-)
    rm /etc/onlinechanged/test.txt
    Das ganze dann, Einschließlich Erzeugen des neuen Skripts in die rc.config.
    Eine Alternative wäre, den "neuen" Ordner ins Flash zu verlegen, dann bleibt auch "deine Ergänzung" und du muss beim Starten nur einmal deinen Ordner über den originalen "drüber mounten".

    Jörg
    (FR) Eumex 300IP FW 06.04.49 (englisch) und "relativ aktuellem" freetz-devel mit openvpn und dropbear hinter AGFEO TK-HomeServer

  14. #14
    IPPF-Aufsteiger Avatar von gesko
    Registriert seit
    05.04.2005
    Beiträge
    44
    @MaxMuster.

    Vielen Dank. Das mit dem überladen werde ich später testen und berichten. Ich verstehe leider nicht alles. Was meinst Du mit "Erzeugen des neuen Skripts"? Wie funktioniert " ins Flash zu verlegen"? Bei welcher Lösung bleibt "meine Ergänzung" nicht erhalten?

    Es wäre toll wenn Du das vielleicht etwas genauer erläutern könntest.

    Wünsche Dir einen schönen Tag.

    LG

    Gesko
    ------------------------------
    Live long and prosper!

  15. #15
    IPPF-Fünftausend-VIP
    Registriert seit
    01.02.2005
    Beiträge
    6.667
    Alles, was in "/var/tmp" passiert, ist nur im RAM der Box und nach einem Neustart "weg". Wenn du also dort ein Skript für "onlinechanged" ablegen willst, was das Problem des Defaultgateways löst, muss das bei jedem Neustart neu angelegt werden...
    Nutzt du dafür den Flash-Speicher (wie z.B. oben abgegeben für die Binaries vom OpenVPN und iptables analog eine Ordner "/var/media/ftp/onlinechanged"), dann ist das "Rebootsicher". Wenn du dorthin die AVM-Dinge kopierst und dein eigenes Skript dort anlegst, brauchst du nach jedem Neustart nur dafür zu sorgen, dass dieser Ordner den "originalen" Ordner überlagert (z.B. indem du den "mount -o bind ..." Befehl im Skript debug.cfg ausführst...

    Jörg
    (FR) Eumex 300IP FW 06.04.49 (englisch) und "relativ aktuellem" freetz-devel mit openvpn und dropbear hinter AGFEO TK-HomeServer

  16. #16
    IPPF-Aufsteiger Avatar von gesko
    Registriert seit
    05.04.2005
    Beiträge
    44
    @MaxMuster

    Dank Deiner Hilfe funktioniert alles echt prima. Hier mal kurz der Stand der Dinge, bevor ich noch einige Fragen zu den iptables habe:

    Eintrag in die debug.cfg
    Code:
    mkdir -p /var/tmp/onlinechanged
    cp /var/media/ftp/openVPN/start_openvpn /var/tmp/onlinechanged/
    Kopieren nach /var/tmp/onlinechanged reicht da das Verzeichnis durch /bin/onlinechanged berücksichtigt wird.

    Eigentliches Skript start_openvpn

    Code:
    #!/bin/sh
    #
    # Project: Connect fritz!box 7390 to VyprVPN via OpenVPN
    #
    # Start up script to connect the 7390 to giganews.com/VyprVPN via openVPN.
    
    
    case "$1" in
            online )
                    #####################################################
    				# LOAD CONFIG FILE config.cfg. 
    				#####################################################
    
    				# Load config file
    				. /var/media/ftp/openVPN/config.cfg
    				
    				
    				#####################################################
    				# CHANGE TO INSTALL DIR
    				#####################################################
    				cd $INSTDIR
    
    				#####################################################
    				# BYPASS CONFIGURATION in bypass.cfg 
    				#####################################################
    				# Last line must be a blank line.
    
    
    				#####################################################
    				#####################################################
    				# MAIN SCRIPT 
    				#####################################################
    				#####################################################
    
    				#####################################################
    				# Check for internet connection.
    				#####################################################
    				while !(ping -c 1 www.google.de) >/dev/null 2>&1; do
    					sleep 5
    				done
    
    				#####################################################
    				# Loading modules
    				#####################################################
    				for x in $(ls net/ipv4/netfilter/); do
    					y=${x%.*} # strip file extension
    						if ! lsmod | grep $y >/dev/null 2>&1; then # Test if module is NOT installed
    							insmod net/ipv4/netfilter/$x;	# then install module.
    						fi
    				done
    
    				for x in $(ls net/netfilter/); do
    					y=${x%.*}
    						if ! lsmod | grep $y >/dev/null 2>&1; then # Test if module is NOT installed
    							insmod net/netfilter/$x; # then install module.
    						fi
    				done
    
    				#####################################################
    				# Create iptables NAT rule for tun0
    				#####################################################
    				# First flush iptables to prevent duplicates.
    				$INSTDIR/bin/iptables -t nat -F
    				$INSTDIR/bin/iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
    
    				#####################################################
    				# Check if tun device NOT exists; then create it
    				#####################################################
    				[ ! -c /var/tmp/tun ] && mknod /var/tmp/tun c 10 200
    
    				#####################################################
    				# Correct default gateway.
    				#####################################################
    				# Delete default gateway and add a corrected one.
    				# Necessary because of AVMs strange 0.0.0.0 gateway not recognized by openVPN.
    				# Will break AVMs VPN !!!!! Alternative: use openVPn with --up and --down scripts
    				# to do the routing.
    				DEFAULTROUTEIF="`route -n | sed -n '/^0.0.0.0[[:space:]]\+0.0.0.0/ s/^.*[[:space:]]\([^[:space:]]\+\)$/\1/p'`"
    						if [ "$DEFAULTROUTEIF" = "dsl" ]; then
    							ifconfig $DEFAULTROUTEIF:dsld 169.254.2.1 dstaddr 169.254.2.1
    							route del default 2> /dev/null
    							route add default gw 169.254.2.1 dev $DEFAULTROUTEIF
    						fi
    	
    				#####################################################
    				# Set bypass routing. 
    				#####################################################
    				# Get entries from file bypass.cfg. Resolve name and set route to dsl.
    				BYPCFG=$INSTDIR/bypass.cfg
    						cat $BYPCFG | while read a; do
    							NEWSS=$(ping -c1 $a | sed -n '/PING/ s/^[^(]*(\([0-9\.]*\).*/\1/p')
    			
    							if ! route -n | grep $NEWSS >/dev/null 2>&1; then 
    								route add $NEWSS dev dsl	
    			
    							fi
    			
    						done
    		
    				#####################################################
    				# Check if there is a password.txt file. If the file exists delete it.
    				#####################################################
    				test -f $INSTDIR/password.txt && rm $INSTDIR/password.txt
    
    				#####################################################
    				# Create a new password file and write usernemae and password.txt
    				#####################################################
    				touch $INSTDIR/password.txt
    				echo $USERNAME >> $INSTDIR/password.txt
    				echo $PASSWORD >> $INSTDIR/password.txt
    
    				#####################################################
    				# Check if there is NOT a logfile; then create it
    				#####################################################
    				! test -f $INSTDIR/log.txt && touch $INSTDIR/log.txt
    
    				#####################################################
    				# Start OpenVPN. Write output to log.txt. 
    				#####################################################
    				# Write output to log.txt 
    				$INSTDIR/bin/openvpn --config $INSTDIR/$SERVERLOC.vpn.giganews.com.conf --auth-user-pass $INSTDIR/password.txt --dev-node /var/tmp/tun --script-security 2 1>$INSTDIR/log.txt 2>&1 &
    
            ;;
            offline )
            
                    #####################################################
    				# get the config file
    				#####################################################
    				. /var/media/ftp/openVPN/config.cfg
    				
    				#####################################################
    				# Kill openVPN
    				#####################################################
    				killall openvpn
    
    				#####################################################
    				# Del bypass routing. 
    				#####################################################
    				# Get entries from file bypass.cfg. Resolve name and del route to dsl.
    				BYPCFG=$INSTDIR/bypass.cfg
    						cat $BYPCFG | while read a; do
    							NEWSS=$(ping -c1 $a | sed -n '/PING/ s/^[^(]*(\([0-9\.]*\).*/\1/p')
    							route del $NEWSS dev dsl
    						done
    
            ;;
    esac
    Nun habe ich noch einige Fragen zum routing. Bei einem portscan ist mir aufgefallen, dass z.B. der telentd, das Webinterface und der ftp Server der Box von außen durch den Tunnel erreichbar sind. Wie unterbinde ich das am besten? Habe ich da mit iptables eine Chance? Hast Du da vielleicht auch noch einige rules zur Hand?

    Nochmal ganz herzlichen Dank für Deine Hilfe.

    Lieben Gruß

    Gesko
    ------------------------------
    Live long and prosper!

  17. #17
    IPPF-Fünftausend-VIP Avatar von sf3978
    Registriert seit
    02.12.2007
    Beiträge
    7.089
    Zitat Zitat von gesko Beitrag anzeigen
    ... Bei einem portscan ist mir aufgefallen, dass z.B. der telentd, das Webinterface und der ftp Server der Box von außen durch den Tunnel erreichbar sind. Wie unterbinde ich das am besten? Habe ich da mit iptables eine Chance? ...
    Ja, mit iptables kannst Du für unerwünschte source-IP-Adressen, die Ports auf denen diese Server lauschen, blocken.
    Office Internet & Phone 50, AVM FRITZ!Box 6360 Cable (kbw) - FRITZ!OS 06.04 - , an Motorola-CMTS, zusätzlich eine feste (statische) IPv4-Adresse für meinen Server, am Bridge-Anschluss

  18. #18
    IPPF-Aufsteiger
    Registriert seit
    01.08.2006
    Beiträge
    28
    By any chance, would you already have the ipv6 iptables compiled for the 7390 with the same firmware or 84.04.88 ?

  19. #19
    IPPF-Fünftausend-VIP
    Registriert seit
    01.02.2005
    Beiträge
    6.667
    You might try this one...
    Angehängte Dateien Angehängte Dateien
    (FR) Eumex 300IP FW 06.04.49 (englisch) und "relativ aktuellem" freetz-devel mit openvpn und dropbear hinter AGFEO TK-HomeServer

  20. #20
    IPPF-Aufsteiger
    Registriert seit
    01.08.2006
    Beiträge
    28
    Thanks it works well, except 4 modules :

    insmod: can't insert 'net/ipv4/netfilter/ip_conntrack_amanda.ko': unknown symbol in module or invalid parameter
    insmod: can't insert 'net/ipv4/netfilter/ip_nat_amanda.ko': unknown symbol in module or invalid parameter
    insmod: can't insert 'net/ipv4/netfilter/ip_queue.ko': Cannot allocate memory
    insmod: can't insert 'net/ipv4/netfilter/ip_tables.ko': invalid module format

    By any chance, do you also have ebtables static and the ebtables .ko ?

    Thanks
    Guylhem

Seite 1 von 8 12345 ... LetzteLetzte

Ähnliche Themen

  1. Antworten: 7
    Letzter Beitrag: 24.07.2012, 09:56
  2. VPN zu Fritzbox 7170 und gesamten Internetverkehr darüber Routen
    Von ranseier im Forum FRITZ!Box Fon: DSL, Internet und Netzwerk
    Antworten: 3
    Letzter Beitrag: 28.03.2009, 10:15
  3. Fritz!Box 7170 soll allen Traffic via FindNot.com OpenVPN routen
    Von gambrinus im Forum FRITZ!Box Fon: DSL, Internet und Netzwerk
    Antworten: 4
    Letzter Beitrag: 09.03.2008, 16:13
  4. Über openVPN Tunnel telefonieren
    Von it-fisi im Forum FRITZ!Box Fon: Telefonie
    Antworten: 4
    Letzter Beitrag: 27.11.2007, 18:47
  5. [Frage]Eigene NIC für * vs. NIC für gesamten Traffic
    Von BigChief im Forum Asterisk Allgemein
    Antworten: 0
    Letzter Beitrag: 30.06.2006, 21:42

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •