Frage: Open VPN LAN zu LAN Connection

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hi Leude,

    ich habe 2 Raspberrys im Einsatz:

    RPI 1: 192.168.0.29 im LAN 192.168.0.0/24 hinter Fritzbox (Server, Ports geforwarded, Route angelegt)

    RPI 2: 192.168.1.29 im LAN 192.168.1.0/24 hinter Fritzbox

    Die beiden LANs sind über das Internet getrennt. Ich habe mir dann flux mit eurem tollen Open VPN Tutorial OVPN Tut einen Tunnel zwischen RPI 1 und 2 errichten können. Sprich ich kann von RPI 2 zu RPI 1 pingen.

    Dabei ist RPI 1 der Server und RPI 2 der Client. Soweit so gut. Was ich aber will ist eine richtige LAN zu LAN (Site to Site) Verbindung.

    Das funktioniert noch nicht. Kann aber nur noch irgendwo am Routing liegen mMn. IpForwarding ist auf beidne PIs aktiviert. Kann mir noch jmd sagen was ich noch tun muss, bzw vergessen habe?


    Server Conf:

    Client Conf:

    Thanks!

  • Yepp.
    Super Tutorial.

    Wäre noch schöner mit geposteter interfaces und Routing Tabelle.
    Dann könnte man den Fehler mit einbauen.

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

  • Hallo,
    die geforderten Daten:

    von der Seite 192.168.0.0/24 (RPI 1):

    Code
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    default         fritz.box       0.0.0.0         UG    0      0        0 eth0
    172.16.3.0      172.16.3.2      255.255.255.0   UG    0      0        0 tun0
    172.16.3.2      *               255.255.255.255 UH    0      0        0 tun0
    192.168.0.0     *               255.255.255.0   U     0      0        0 eth0

    Von der Seite 192.168.1.0/24 (RPI 2):

    Code
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    default         fritz.box       0.0.0.0         UG    0      0        0 eth0
    172.16.3.0      172.16.3.5      255.255.255.0   UG    0      0        0 tun1
    172.16.3.1      172.16.3.5      255.255.255.255 UGH   0      0        0 tun1
    172.16.3.5      *               255.255.255.255 UH    0      0        0 tun1
    172.16.3.5      *               255.255.255.255 UH    0      0        0 tun0
    192.168.0.0     172.16.3.5      255.255.255.0   UG    0      0        0 tun1
    192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
  • Ganz einfach,
    nur haben wir auch was anderes zu tun als vor dem Rechner zu sitzen und zu warten das jemand ein Problem hat.

    Du musst auf beiden Fritzboxen Routen eintragen.
    Zum TUN Netz und zum entfernten LAN.

    Der_Imperator
    26. September 2014 um 13:46

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

    Einmal editiert, zuletzt von Der_Imperator (8. Oktober 2014 um 14:37)

  • Hallo Imperator,

    die Routen auf den jeweiligen Fritzboxen sind bzw. waren aber schon gesetzt zum Zeitpunkt meiner Frage. Habe es ja auch schon geschrieben, das ich die Routen gesetzt habe.

    Also von der Seite 192.168.0.0/24 habe ich gesetzt:
    192.168.1.0 (255.255.255.0) 192.168.0.29 ("Fremdnetz" an PI VPN Server im LAN)
    172.16.3.0 (255.255.255.0) 192.168.0.29 ("virtuelles Transportnetz" an PI VPN Server)

    von der Seite 192.168.1.0/24 habe ich gesetzt:
    192.168.0.0 (255.255.255.0) 192.168.1.29 ("Fremdnetz" an PI VPN Server im LAN)
    172.16.3.0 (255.255.255.0) 192.168.1.29 ("virtuelles Transportnetz" an PI VPN Client)

    Das ist mMn aber schon so korrekt! Routing sollte also eigenltich funktionieren !?! =(

  • Moin

    Du musst auf beiden Fritzboxen Routen eintragen.

    Bist du dir dessen sicher? Ich habe das vage Gefühl, dass hier irgendwas "falsch" läuft. Vielleicht vertue ich mich aber auch nur, weil ich OpenVpn auch nicht in vollständiger tiefe kenne.

    Zum einen sagt er, er möchte 2 Netze verbinden? Was bedeutet dass überhaupt vor dem Hintergrund, dass er sagt:

    Dabei ist RPI 1 der Server und RPI 2 der Client.

    Und dazu passend sind seine config's, die eine als server, die andere als client. Will er wirklich 2 Netze logisch "integrieren", so das alle Clients beider Netze INNERHALB eines großen Netzes arbeiten? Dann haperts imho an den configs, weil ich im Moment glaube, dass die client-config eben Client ist und nicht Server.
    Oder will er nur er nur einen "Road-Warrior" (der natürlich im Moment auch Mitglied irgendeines Netzes ist) in das entfernte Netz bringen, so braucht er definitiv keine Route auf dem Client-Router.

    Ich glaube auch irgendwie nicht so recht, dass er wirklich vorhat, einen openvpn-client als Gateway für die Clients des zweiten Netzes einzurichten.

    Wenn ich ehrlich bin, weiß ich wegen widersprüchlicher Aussagen überhaupt noch nicht, was er eigentlich genau erreichen möchte.

    Jm2c

    Einmal editiert, zuletzt von WinterUnit16246 (9. Oktober 2014 um 16:14)

  • Hallo zusammen,

    will definitiv keinen Roadwarrior, sondern 2 LANs verbinden. D.h. Ein RPI baut mit dem anderen RPI den Tunnel auf und routet die Pakete dann demensprechend durch. Deswegen muss ich ja auch auf beiden Routern die Routen setzen, wie Imperator schon richtig sagt

    Jedes Gerät in LAN 1 kann (nach Tunnelaufbau) jedes gerät in LAN 2 pingen und vice versa. So ist der Plan... sprich das Ziel.

    Eine Roadwarrior Lösung zu bauen ist sehr simpel, habe schon eine auf DD-WRT... Diese will ich aber ablösen...

    Danke!

  • Folgendes Zenario :
    Netz1 : 192.168.0.0/24
    Netz2 : 192.168.1.0/24
    OVPN transport Netz : 10.0.0.0/29 ( /29 = 255.255.255.252 = 2 Hosts + Netz und Broadcast )

    So sieht das Konstuckt aus :
    INET <-> NETZ1 <-> VPN <-> NETZ2 <-> INET
    und zwar deswegen weil in Netz1 und Netz2 jeweils zwei Netze an zwei Interfaces anliegem, eth0/wlan0 = Internet, tun0 = VPN

    Bei Netz1 und Netz2 geht die Default Route ins Internet.
    Das default Gateway ist der Router.
    Der kennt nur Netz1 / 2.
    Der Pi kennt Netz 1/2 sowie das VPN

    jetzt schickt ein Client aus Netz1 ein Paket an Netz2
    Das nimmt folgenden Weg :
    HOST -> Default Gateway -> Inet
    Warum ?
    Das default gateway kentt Netz 2 nicht.
    Jetzt tragen wir eine Route ein, auf dem gateway zu Netz 1.
    Wir dagen Ihm Netz2 findest du hinter dem PI.
    Das Paket :
    HOST -> Gateway -> PI -> gateway -> PI -> gateway -pi

    Warum ? Der Pi kennt netz 1 und das VPN aber nicht netz 2
    Jetzt bekommt der PI eine Route zu Netz 2

    Das Paket :
    HOST -> Gateway -> PI -> VPN -> PI2 - >HOST2
    Warum ?
    Der PI2 und Host 2 sind im gleichen Subnet. Hier wird kein Gateway benötigt.
    Der Rückweg des paket allerdings läuft wieder vor die Pumpe weil PI2 und GW2 keine Routen in Netz1 haben

    Ist doch ganz einfach ;)

    Merke : Jedes Gerät kennt nur die direkt angeschlossenen Netze.
    Das Default Gateway ist dazu da das man alles was man nicht kennt dorthin schickt.
    Das Default Gateway allerdings kennt auch nur die direkt angeschlossenen Netze und hat selber ein Default gateway. Im beispiel eines Routers geht alles was der Router nicht kennt ins Internet.
    Will man ausbrechen muß man dem jeweiligen Gateway einfach einen anderen Weg zeigen.
    In unserem Fall sagt man dem Router das sich das Transport netz und das Netz2 hinter dem PI findest.

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

    Einmal editiert, zuletzt von Der_Imperator (11. Oktober 2014 um 13:50)

  • Hi Imperator,

    jepp, deine Erklärung ist goldrichtig und auch definitv einleuchtend. Also ich habe gerade nochmal gebastelt. Wie schon weiter oben erwähnt, die Routen habe ich ja schon auf beiden FritzBoxen gesetzt.

    Also von der Seite 192.168.0.0/24:

    Code
    192.168.1.0 (255.255.255.0) 192.168.0.29 ("Fremdnetz" an PI VPN Server im LAN)
    172.16.3.0 (255.255.255.0) 192.168.0.29 ("virtuelles Transportnetz" an PI VPN Server)

    von der Seite 192.168.1.0/24:

    Code
    192.168.0.0 (255.255.255.0) 192.168.1.29 ("Fremdnetz" an PI VPN Server im LAN)
    172.16.3.0 (255.255.255.0) 192.168.1.29 ("virtuelles Transportnetz" an PI VPN Client)

    Auf den beiden PIs klappt auch beides wunderbar! Kann von Pi auf Seite A die Pi auf Seite B anpingen und vice versa.

    Routing Table von Pi-Server:

    Code
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    default         fritz.box       0.0.0.0         UG    0      0        0 eth0
    172.16.3.2        *               255.255.255.255 UH    0      0        0 tun0
    192.168.0.0     *               255.255.255.0   U     0      0        0 eth0
    192.168.1.0     172.16.3.2        255.255.255.0   UG    0      0        0 tun0

    Routing Table von Pi-Client:

    Code
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    default         fritz.box       0.0.0.0         UG    0      0        0 eth0
    172.16.3.1        *               255.255.255.255 UH    0      0        0 tun0
    192.168.0.0     172.16.3.1        255.255.255.0   UG    0      0        0 tun0
    192.168.1.0     *               255.255.255.0   U     0      0        0 eth0

    Man sieht also, jede Seite kennt die gegenüberliegende Seite. Soweit sogut! Aber, obwohl die Routen in den jeweiligen FritzBoxen sind, kennt der PC sie nicht.

    Mein PC auf PI-clientseite (192.168.1.0) kennt keine Route ins 192.168.0.0 Netz.
    Wenn ich diese Route manuell hinzufüge, klappt es auch nicht! Die PI müsste in diesem Fall den "Router" spielen und das Paket routen!

    zusammengefasst: zwischen PIs funkt es, die Weitergabe an die anderen Teilnehmer im LAN funkt aber nicht.

    Meine IP Forwarding in der /etc/sysctl.conf hatte einen Typo... ;(

    Wenn man den berichtigt, funktioniert ALLES prächtig! Ich danke vielmals!
    Jetzt mach ich mir ne Doku ;):danke_ATDE:


  • Jetzt mach ich mir ne Doku ;):danke_ATDE:


    :bravo2::bravo2::bravo2::bravo2::bravo2:

    Mach die Doku hier unter Tutorials, OpenVPN Side2Side VPN.
    Dann haben alle was davon ;)

    BTW: Du kannst jetzt ohne Probleme ein drittes Netz verbinden.
    Sind genau die selben Dinge zu beachten.
    Werden allerdings dann immer mehr Routen in den Netzen *lol*
    Das umgeht man mit "Route Summarization". Hier werden einzelne Routen zusammengefasst.
    Du sagst der FB z.B. das sie 192.168.0.0 255.255.0.0 hinter dem PI findet und schon ist die Route für alle zukünftig Verbundenen Netze gesetzt.

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!