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

FritzBox als OpenVPN Client

Dieses Thema im Forum "FRITZ!Box Fon: Modifikationen" wurde erstellt von Asterix3, 1 Okt. 2008.

  1. Asterix3

    Asterix3 Neuer User

    Registriert seit:
    28 Sep. 2008
    Beiträge:
    10
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo Gemeinde,

    suche jetzt schon seit längerem eine Lösung für mein Problem.
    Habe eine FritzBox mit einem openVPN Client versorgt, die sich in mein Firmennetz einwählen soll.
    Von der Box aus funktioniert alles soweit gut, sie wählt sich zertifikatsbasiert ein und ich kann von einer SSh Shell alle Rechner im Firmennetzwerk erreichen, allerdings können die Rechner im homelan hinter der Fritzbox nicht ins Firmennetzwerk pingen.
    Macht die Box automatisch ein Routing? Mit welcher IP kommt sie im Firmennetzwerk an?

    Firmennetzwerk: 172.16.0.0
    Transfernetz openVPN: 10.10.10.0
    Homelan: 192.168.178.0

    Wo muss ich welches Routing eintragen bzw was wird in der Fritzbox unter IP Routing eingestellt?
    Der VPN Server ist ein Suse system

    Danke und Gruß

    Stefan
     
  2. MaxMuster

    MaxMuster IPPF-Promi

    Registriert seit:
    1 Feb. 2005
    Beiträge:
    6,919
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Moin,

    die Fritzbox (generell: der Client) erscheint gegenüber dem Server und auch dessen LAN mit seiner "VPN-IP", bei dir die IP aus dem 10.10.10.-er Netz. Von dort scheinst du ja das ServerLAN erreichen zu können, das Routing des Clients ist also o.k.
    Damit du die "HomeLAN" IPs aus dem Servernetz erreichen kannst, ist aber auch der "Rückweg" wichtig, der scheinbar bei dir nicht klappt.
    Zum einen muss das HomeLAN erstmal zum VPN-Server geroutet werden (entfällt, wenn der Server dort das Defaultgateway ist), zum anderen muss der Server das HomeLAN durch das VPN zum Client routen. Das muss in der OpenVPN-Konfig eingestellt werden, wenn du mehrere Clients nutzt, benötigst du zusätzlich noch das "client-config-dir" mit einem entsprechenden "iroute" Eintrag für das Netz...

    Wie sehen denn deine Konfigs aus?

    Jörg
     
  3. Asterix3

    Asterix3 Neuer User

    Registriert seit:
    28 Sep. 2008
    Beiträge:
    10
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo Jörg,

    der Rückweg funktioniert.
    Habe testweise mal ne Kiste im Firmennetzwerk mit sniffer laufen. Ich sehe das ein ping von der Fritzbox dort ankommt und auch korrekt replied wird.
    Wenn ich allerdings von einem Client hinter der Fritzbox nen ping versuche kommt dieser erst garnicht ins Firmennetz!
    Sieht so aus als würde die Fritbox nicht ins tun routen sondern ins dsl.
    Wo bringe ich der box bei welches netzwerk die wohin routet?

    Gruß

    Steff
     
  4. MaxMuster

    MaxMuster IPPF-Promi

    Registriert seit:
    1 Feb. 2005
    Beiträge:
    6,919
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Moin,

    mit welcher IP war denn die FB sichtbar? Kannst du aus dem Firmennetz oder vom Server aus die LAN-IP der FB erreichen?

    Du musst in der Client-Config das Routing ins Firmennetz haben ("route 172.16.0.0 255.255.0.0" [oder andere Maske])...
    Analog in der Serverkonfig "route 192.168.178.0 255.255.255.0", wenn es nur diesen Client gibt. Ansonsten muss das ins "client-config-dir" mit dem route und dem iroute Befehl, sonst gibt es auf dem Server Fehler der Art MULTI: bad source address from client [192.168.178.xy] und die Pakete werden verworfen.

    Jörg

    PS: Muss da evtl auf dem Suse-Sytem noch was an der Firewall gedreht werden??
     
  5. Asterix3

    Asterix3 Neuer User

    Registriert seit:
    28 Sep. 2008
    Beiträge:
    10
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    hmmm

    also aus dem Firmennetz war die box unter ihrer Transfernetzip also 10.10.10.6 erreichbar.
    Wo finde ich auf der Box die clientconfig? (Hatte bis jetzt nur das Webinterface!)
    Wo finde ich das client-config-dir?

    Steff
     
  6. MaxMuster

    MaxMuster IPPF-Promi

    Registriert seit:
    1 Feb. 2005
    Beiträge:
    6,919
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    #6 MaxMuster, 1 Okt. 2008
    Zuletzt bearbeitet: 1 Okt. 2008
    Also, das client-config-dir gibt es auf dem Server, das benötigst du, wenn du eine "Multi-Client-Umgebung" hast, bei der Netze hinter den Clients sind.

    Wie kriegt denn der Client seine Config? Nutzt du das Freetz-Paket?

    Jörg

    Edit: Letztlich ist die Frage, ob das Routing in der GUI festgelegt wird ("entferntes Netz") oder ob der Client diese Infos per "pull" vom Server bekommt, der das "push"ed

    Edit 2: Sofern du Freetz nutzt, findest du die aktuelle Konfig unter /mod/etc/openvpn.conf
     
  7. Asterix3

    Asterix3 Neuer User

    Registriert seit:
    28 Sep. 2008
    Beiträge:
    10
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #7 Asterix3, 1 Okt. 2008
    Zuletzt bearbeitet: 1 Okt. 2008
    Also Server ist wie schon gesagt ein suse
    Client ist die Fritzbox die ganze konfig wird gepusht
    Hier mal ein Auszug aus der debug.

    Wed Oct 1 18:43:08 2008 RESOLVE: Cannot resolve host address: TUN:172.16.0.0: [HOST_NOT_FOUND] The specified host is unknown.
    Wed Oct 1 18:43:08 2008 OpenVPN ROUTE: failed to parse/resolve route for host/network: TUN:172.16.0.0
    Wed Oct 1 18:43:08 2008 TUN/TAP device tun0 opened
    Wed Oct 1 18:43:08 2008 TUN/TAP TX queue length set to 100
    Wed Oct 1 18:43:08 2008 /sbin/ifconfig tun0 10.10.10.6 pointopoint 10.10.10.5 mtu 1400
    Wed Oct 1 18:43:10 2008 NOTE: unable to redirect default gateway -- Cannot read current default gateway from system
    Wed Oct 1 18:43:10 2008 /sbin/route add -net 172.16.0.0 netmask 255.255.0.0 gw 10.10.10.5
    Wed Oct 1 18:43:11 2008 /sbin/route add -net 10.10.10.1 netmask 255.255.255.255 gw 10.10.10.5
    Wed Oct 1 18:43:11 2008 Initialization Sequence Completed

    was mich wundert ist die "cannot resolve host". Der Fehler kommt wenn ich im Webinterface unter "entferntes Netz" folgenden Eintrag mache:
    TUN:172.16.0.0 255.255.0.0

    aber die routen sind doch alle da, oder?

    Hier mal noch die aktuelle Routing-Tabelle der Fritzbox
    10.10.10.1 10.10.10.5 255.255.255.255 UGH 0 0 0 tun0
    192.168.180.1 * 255.255.255.255 UH 2 0 0 dsl
    10.10.10.5 * 255.255.255.255 UH 0 0 0 tun0
    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
    172.16.0.0 10.10.10.5 255.255.254.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


    Gruß

    Stefan
     
  8. MaxMuster

    MaxMuster IPPF-Promi

    Registriert seit:
    1 Feb. 2005
    Beiträge:
    6,919
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    In das entfernte Netz kommt nur das Netz selbst, also "172.16.0.0 255.255.0.0" (ohne das TUN davor)

    Ansonsten bekommt die Box die Route über das pull/push, wie man sieht.

    Hast du denn mal beim Server geschaut, ob da im Log evtl "MULTI: bad source address from client ..." Fehler auflaufen?!?

    Ist es eine Multi-Client-Config auf dem Server? Kannst du vom Server die LAN-IP der Box erreichen?

    Jörg
     
  9. Asterix3

    Asterix3 Neuer User

    Registriert seit:
    28 Sep. 2008
    Beiträge:
    10
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Im serverlog sind keine Fehler!
    Ich kann vom server nur die 10.10.10.6 erreichen (tun interface der box) nicht aber die LAN IP 192.168.178.1
    Liegt da der Fehler? Fehlt da noch ein Routing?
    Firewall auf dem Server ist deaktiviert

    Stefan
     
  10. MaxMuster

    MaxMuster IPPF-Promi

    Registriert seit:
    1 Feb. 2005
    Beiträge:
    6,919
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ist denn in der Server-Config der "route 192.168.178.0 255.255.255.0" Befehl drin? Was sagt das Routing auf dem Server?

    Jörg
     
  11. Asterix3

    Asterix3 Neuer User

    Registriert seit:
    28 Sep. 2008
    Beiträge:
    10
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hier das routing vom Server, habe route 192... eingetragen.

    10.10.10.2 * 255.255.255.255 UH 0 0 0 tun0
    192.168.178.0 10.10.10.2 255.255.255.255 UGH 0 0 0 tun0
    10.10.10.0 10.10.10.2 255.255.255.0 UG 0 0 0 tun0
    172.16.0.0 * 255.255.254.0 U 0 0 0 eth0
    127.0.0.0 * 255.0.0.0 U 0 0 0 lo
    default 172.16.0.1 0.0.0.0 UG 0 0 0 eth0
     
  12. MaxMuster

    MaxMuster IPPF-Promi

    Registriert seit:
    1 Feb. 2005
    Beiträge:
    6,919
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Hast du das von Hand eingetragen?
    Wenn du (wie vorher angegeben) den FB-Client mit 10.10.10.6 hast, stimmt die Route zu 10.10.10.2 nicht, die Netzmaske sollte auch 255.255.255.0 sein...

    Versuche doch mal händisch die Route auf die .6 zu ändern. Ansonsten wäre das genau das "klssische" Bild des schon beschriebeben Phänomens, eine Config für mehrere Clients, in der das Routing zu einem Client in der "Haupt-Config" und nicht im client-config-dir steht...


    Jörg
     
  13. Asterix3

    Asterix3 Neuer User

    Registriert seit:
    28 Sep. 2008
    Beiträge:
    10
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Stimmt ist was dran!
    Nur, was kommt jetzt ins ccd Verzeichnis? Habe hinter der Fritzbox mehrere Rechner. muss ich für jeden ein cert generieren?

    Steff
     
  14. MaxMuster

    MaxMuster IPPF-Promi

    Registriert seit:
    1 Feb. 2005
    Beiträge:
    6,919
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Nein, so viele Certs brauchst du nicht, das geht "anders" ;-).

    Entscheidend ist die Frage, ob sich mehr als ein Client anmelden will und noch hinter mindestens einem Client ein weiteres Netz ist, was mit dem Server oder dem Server-Netz kommunizieren will. Dann kommt ein "zweistufiges" Routing zum Tragen: Das "normale" Routing schickt alle diese Netze zum OpenVPN, dass dann wiederum dafür sorgen muss, dieses "interne Routing" zu erledigen, diese Netze "zum richtigen Client zu schicken".

    Wenn diese Bedingungen zutreffen, geht das wie folgt:

    Auf dem Server wird ein Verzeichnis angelegt, das ist dein "client-config-dir" (sagen wir mal "ccd"). Das taucht in der Server-Config auf als "client-config-dir /<dein_Pfad-zu>/ccd"
    Für jeden Client wird dort eine Datei angelegt mit dem Namen, den der Client im Zertifikat hat (also z.B.: client01, client02 usw), deren Inhalt dann mindestens das Routing der beim Client vorhandenen Netze enthält, ich schlage immer vor, auch die IPs dort "festzulegen". Dann lautete die Datei /<dein_Pfad-zu>/ccd/client01:
    Code:
    # Client-Config-Datei für client01 
    #
    # IP's für den Tunnel und das Routing des VPN-Netzes
    ifconfig-push 10.10.10.6 10.10.5
    push "route 10.10.10.1 255.255.255.255"
    push "route-gateway  10.10.10.1"
    # Routing des "ServerLANs" bekanntmachen
    push "route 172.16.0.0 255.255.0.0"
    # Client-LAN routen
    route 192.168.178.0 255.255.255.0
    iroute 192.168.178.0 255.255.255.0
    
    Mit dem "ifconfig-push" mit .6 und .5 bist du "Windowsclientkompatibel", weil da TUN-Interfaces immer eigene Adressbereiche mit der Maske 255.255.255.252 bekommen müssen, ansonsten könntest du (davon ausgehend dass der Server die .1 hat) auch echte Point-to-Point Adressen, wie ifconfig-push 10.10.10.6 10.10.1 nehmen...


    Jörg
     
  15. Asterix3

    Asterix3 Neuer User

    Registriert seit:
    28 Sep. 2008
    Beiträge:
    10
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #15 Asterix3, 2 Okt. 2008
    Zuletzt bearbeitet: 2 Okt. 2008
    Sorry, aber kriegs einfach nicht hin!

    Wäre es möglich, daß du mir eine client und server conf bastelst?

    Hier mal meine openvpn.conf (Client auf der Fritzbox)

    # OpenVPN 2.1 Config, Thu Oct 2 09:24:00 CEST 2008
    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 xxx.xxx.xxx.xxx 1194
    nobind
    pull
    tun-mtu 1400
    mssfix
    verb 3
    daemon
    cipher BF-CBC
    comp-lzo
    keepalive 10 120
    resolv-retry infinite

    und hier die server.conf

    dev tun
    tun-mtu 1400
    proto tcp
    port 1194
    tls-server
    ca keys/ca.crt
    cert keys/openvpn.crt
    key keys/openvpn.key
    dh keys/dh1024.pem
    server 10.10.10.0 255.255.255.0
    keepalive 10 60
    status-version 1
    status /var/log/openvpn/server.log 30
    cipher BF-CBC
    comp-lzo
    float
    client-config-dir ccd
    max-clients 100
    user nobody
    group nogroup
    persist-key
    persist-tun
    route "192.168.178.0 255.255.255.0"
    verb 2
    tls-verify /etc/openvpn/verify

    im ccd Verzeichnis habe ich deine konfig entsprechend übernommen.

    Hier noch die ccd/client01
    # Client-Config-Datei für client01
    #
    # IP's für den Tunnel und das Routing des VPN-Netzes
    ifconfig-push 10.10.10.6 10.10.10.5
    push "route 10.10.10.1 255.255.255.255"
    push "route-gateway 10.10.10.1"
    # Routing des "ServerLANs" bekanntmachen
    push "route 172.16.0.0 255.255.255.0"
    # Client-LAN routen
    route 192.168.178.0 255.255.255.0
    iroute 192.168.178.0 255.255.255.0


    Gruß

    Steff
     
  16. MaxMuster

    MaxMuster IPPF-Promi

    Registriert seit:
    1 Feb. 2005
    Beiträge:
    6,919
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    #16 MaxMuster, 2 Okt. 2008
    Zuletzt bearbeitet: 2 Okt. 2008
    Moin,

    eigentlich hast du jetzt das, was du benötigst, wo laufen denn Fehler auf???

    Egal: Wenn ich die Openvpn-GUI das mal bauen lasse, kommt das dabei raus:
    Code:
    # Die Server-Config (cat /mod/etc/openvpn_temp.conf):
    #  OpenVPN 2.1 Config, Sat Jan  8 00:15:19 CET 2000
    proto tcp-server
    dev tun
    ca /tmp/flash/ca.crt
    cert /tmp/flash/box.crt
    key /tmp/flash/box.key
    dh /tmp/flash/dh.pem
    tls-server
    port 1194
    ifconfig 10.10.10.1 255.255.255.0
    mode server
    client-config-dir /var/tmp/clients_openvpn_temp
    topology subnet
    max-clients  100
    push "route 172.16.0.0 255.255.255.0.0 10.10.10.1"
    route 192.168.178.0 255.255.255.0 10.10.10.6
    route 192.168.179.0 255.255.255.0 10.10.10.10
    tun-mtu 1500
    mssfix
    verb 3
    daemon
    cipher BF-CBC
    comp-lzo
    keepalive 10 120
    ######################
    # Und der Inhalt vom ccd, hier /var/tmp/clients_openvpn_temp
    # erhalten durch: 
    # for x in `ls /var/tmp/clients_openvpn_temp`; do
    #  echo "# Inhalt von $x"
    #  cat /var/tmp/clients_openvpn_temp/$x
    # done
    ######################
    # Inhalt von client01
    ifconfig-push 10.10.10.6 255.255.255.0
    push "topology subnet"
    iroute 192.168.178.0 255.255.255.0
    # Inhalt von client02
    ifconfig-push 10.10.10.10 255.255.255.0
    push "topology subnet"
    iroute 192.168.179.0 255.255.255.0
    
    Die Pfade musst du natürlich entsprechend anpassen und das sollte zu deinem Client passen...

    Jörg
     

    Anhänge:

  17. Asterix3

    Asterix3 Neuer User

    Registriert seit:
    28 Sep. 2008
    Beiträge:
    10
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    So habs jetzt endlich. :)

    Vielen Dank nochmals für eúre Hilfe! Echt ein super Forum!

    Hier poste ich nochmals die server.conf:
    # Die Server-Config (cat /mod/etc/openvpn_temp.conf):
    # OpenVPN 2.1 Config, Sat Jan 8 00:15:19 CET 2000
    proto tcp-server
    dev tun
    ca keys/ca.crt
    cert keys/openvpn.crt
    key keys/openvpn.key
    dh keys/dh1024.pem
    tls-server
    port 11940
    ifconfig 10.10.10.1 10.10.10.2
    mode server
    client-config-dir ccd
    max-clients 100
    push "route 172.16.0.0 255.255.255.0 10.10.10.2"
    route 192.168.178.0 255.255.255.0
    #route 192.168.179.0 255.255.255.0 10.10.10.10
    log /var/log/openvpn/openvpn.log
    tun-mtu 1400
    mssfix
    verb 3
    daemon
    cipher BF-CBC
    comp-lzo
    keepalive 10 120

    client.conf
    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 xxx.xxx.xxx.xxx 1194
    nobind
    pull
    tun-mtu 1400
    mssfix
    verb 3
    daemon
    cipher BF-CBC
    comp-lzo
    keepalive 10 120
    resolv-retry infinite

    Gruß

    Steff
     
  18. boesi666

    boesi666 Neuer User

    Registriert seit:
    13 Juni 2007
    Beiträge:
    7
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    172.16.0.0 Netz

    mensch das kenn ich doch irgendwo her aus STA?
     
  19. Asterix3

    Asterix3 Neuer User

    Registriert seit:
    28 Sep. 2008
    Beiträge:
    10
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
  20. löwenfan60

    löwenfan60 Neuer User

    Registriert seit:
    24 Jan. 2010
    Beiträge:
    26
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo, ich habe eine Fritzbox 7270 mit freetz und openvpn die als Server laufen soll und eine 7170 mit freetz und openvpn(Eltern) als client. Ich würde gerne die beiden Boxen über openvpn laufen lassen. Allerdings habe ich vor noch weitere Fritzboxen über openvpn laufen zu lassen! Ich möchte das man zwischen den beiden Netztwerken ohne Einschränkungen zugreifen kann. Ich lese jetzt seit einer Woche etliche Beiträge und hab schon etliche sachen ausprobiert, aber ich blick echt nicht mehr durch! Das bearbeiten mit vi funktioniert überhaupt nicht, ich weiß nicht wie ich es angehen soll. Es gibt soviel verschiedene Konstellationen und bei jeder die ich probiert habe bekomme ich irgendwo einen Fehler! Meistens im vi wenn ich die ar7.cfg bearbeiten will und sie dann abspeichern will. z.B Fehler: E32 Kein Dateiname!

    Kann mir vielleicht jemand einen Rat geben wie ich da richtig anfangen soll?
    Bin in Sachen Netzwerk ziemlich neu auf dem Gebiet! Möchte es aber trotzdem schaffen.

    Ich hoffe es kann mir jemand eine Hilfestellung geben?!

    Gruß Rainer:newbie: