Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Routing zwischen mehreren LANs und VPN-Tunneln

    Scheduled Pinned Locked Moved Deutsch
    5 Posts 2 Posters 607 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      Callya
      last edited by

      Hallo Community,

      ich habe dieses Setup aufgebaut:
      alt text

      Die orange linie ist eine OpenVPN-Verbindung, die auch funktioniert. Ich habe die Firewall auf dem Router Tuvok deaktiviert und auf den VPN-Clients eine any/any-Regel gemacht, um diese auszuschließen. Die Clients auf dem Bild sind exemplarisch, Linux-Maschinen und haben feste IP-Adressen. Das ipv4-Routing ist auf allen mit Routingaufgaben versehenen Servern enabled.

      Die Router mit WAN-Adressen sind Fritzboxen (in Dachau und München) und eine Vodafone-Box in Bucharest.

      Wenn ich jetzt von den Maschinen pinge stellt sich die Situation folgendermaßen dar:

      • Bambam -> AKK: OK
      • Bambam -> Checkov: NOK
      • Bambam -> Fred: OK
      • Bambam -> Asterix: NOK
      • Checkov -> AKK: OK
      • Checkov -> Fred: NOK
      • Checkov -> Picard: OK
      • Checkov -> Asterix: NOK
      • AKK -> Fred: NOK
      • AKK -> Checkov: OK
      • AKK -> Dobrinth: OK
      • AKK -> Asterix: NOK

      Die LAN-Interfaces der VPN-Maschinen (Tuvok, Falballa, Bambam) können von den Servern (AKK, Barney, Asterix, Checkov) erfolgreich gepingt werden.

      Daher vermute ich den Fehler im Routing. Hier sind die Routing-Tabellen von

      • Tuvok:
        default 192.168.1.1 UGS 32081 1500 em0
        127.0.0.1 link#5 UH 38 16384 lo0
        192.168.1.0/24 link#1 U 22771 1500 em0
        192.168.1.4 link#1 UHS 0 16384 lo0
        192.168.2.0/24 192.168.254.2 UGS 0 1500 ovpns1
        192.168.3.0/24 link#2 U 3051 1500 em1
        192.168.3.1 link#2 UHS 0 16384 lo0
        192.168.4.0/24 192.168.254.2 UGS 0 1500 ovpns1
        192.168.254.0/24 192.168.254.2 UGS 10 1500 ovpns1
        192.168.254.1 link#8 UHS 0 16384 lo0
        192.168.254.2 link#8 UH 22307 1500 ovpns1
      • Bambam:
        default via 192.168.4.1 dev wlan0 src 192.168.4.2 metric 302
        192.168.1.0/24 via 192.168.254.1 dev tun0
        192.168.2.0/24 via 192.168.254.1 dev tun0
        192.168.3.0/24 via 192.168.254.1 dev tun0
        192.168.4.0/24 dev wlan0 proto dhcp scope link src 192.168.4.2 metric 302
        192.168.254.0/24 dev tun0 proto kernel scope link src 192.168.254.3
      • Falballa:
        default via 192.168.2.1 dev wlan0 src 192.168.2.4 metric 302
        192.168.1.0/24 via 192.168.254.1 dev tun0
        192.168.2.0/24 dev wlan0 proto dhcp scope link src 192.168.2.4 metric 302
        192.168.3.0/24 via 192.168.254.1 dev tun0
        192.168.4.0/24 via 192.168.254.1 dev tun0
        192.168.254.0/24 dev tun0 proto kernel scope link src 192.168.254.2
      • Akk:
        default via 192.168.3.1 dev eth0 src 192.168.3.11 metric 202
        192.168.3.0/24 dev eth0 proto dhcp scope link src 192.168.3.11 metric 20
      • Checkov:
        default via 192.168.1.1 dev ens18 onlink
        192.168.1.0/24 dev ens18 proto kernel scope link src 192.168.1.11
        192.168.2.0/24 via 192.168.1.4 dev ens18
        192.168.3.0/24 via 192.168.1.4 dev ens18
        192.168.4.0/24 via 192.168.1.4 dev ens18
      • Picard:
        default via 192.168.1.1 dev bond0 proto static metric 300
        192.168.1.0/24 dev bond0 proto kernel scope link src 192.168.1.247 metric 300
        192.168.2.0/24 via 192.168.1.4 dev bond0
        192.168.3.0/24 via 192.168.1.4 dev bond0 proto static metric 300
        192.168.4.0/24 via 192.168.1.4 dev bond0 proto static metric 300

      Was ich hier nicht verstehe ist, warum Tuvok (der pfSense-Router) den Traffic aus dem VPN in das 192.168.1er-Netz nicht durchreicht, in das 192.168.3er-Netz jedoch schon.

      Hat jemand von Euch vielleicht eine Idee woran es liegen kann?

      JeGrJ 1 Reply Last reply Reply Quote 0
      • JeGrJ
        JeGr LAYER 8 Moderator @Callya
        last edited by

        @callya Ohne mehr Regeln und Details zu kennen schwierig.

        Mein primärer Tipp wäre auf das asymmetrische Routing. Macht man nicht, macht immer Probleme. Egal ob jetzt kommt "ja aber bei mir..." oder "mit anderen geht das..." - asymmetrisches Routing kann und wird immer doofe Probleme machen die man nicht wirklich abschätzen kann. Daher vermeidet man es.

        Da du nur von irgendwelchen "VPN Maschinen" schreibst und ich nicht weiß was Bambam und Falballa bspw. sind und ob die wirklich nur VPN machen, kann ich kein Allheilmittel nennen. Wenn das wirklich nur VPN Nodes sind, würde ich sie in eine extra DMZ mit anderer IP Range stecken, damit von dort auch wirklich ALLES geroutet wird und kein Traffic asymmetrisch zu Clients direkt läuft deren Antwort aber wieder über einen Router/Gateway läuft.

        Wenn das alles 3 pfSensen sind, dann würde ich die ISP Anbindung mit den Fritzen und Vodafone Boxen ändern und dort ein Transfernetz bauen damit die pfSensen alle direkt in einer Linie hinter den Upstream Routern stehen und vor allem LAN Traffic. Dann läuft alles an Paketfluß über die Kisten und man weiß ganz genau, dass - so alles korrekt eingestellt ist - alles sauber durchgeroutet wird. Dann muss nur noch Regelwerk und VPN Config passen und man hat gewonnen.

        Cheers
        \jens

        Don't forget to upvote 👍 those who kindly offered their time and brainpower to help you!

        If you're interested, I'm available to discuss details of German-speaking paid support (for companies) if needed.

        1 Reply Last reply Reply Quote 0
        • C
          Callya
          last edited by

          Danke für den Tipp. Eine Umstellung vom asymmetrischen Routing ist nicht möglich. Die Fritzbox in München und die Vodafone-Box sind vom Provider "kastriert".

          Die am VPN beteiligten Maschinen sind:

          • Tuvok: eine VM mit pfSense
          • Falballa und Bambam: je ein Raspberry Pi Zero mit aktuellem Raspbian ohne weitere Dienste

          Was ich allerdings ändern kann wäre ein zusätzliche pfSense-VM in Dachau, die in einem eigenen Netz hängt und Tuvok als default gateway benutzt.

          C 1 Reply Last reply Reply Quote 0
          • C
            Callya @Callya
            last edited by

            Habe das Problem gelöst.

            Auf den Clients hat die route:
            192.168.254.0/24 via 192.168.2.4 dev eth0
            gefehlt.

            Die Ping-Antwort (ICMP reply) wurde vom empfangenden System magels route versucht über das default-Gateway zu routen. Diese sind aber die WAN-Router und nicht die OpenVPN-Server.

            Nur im 192.168.3er-Netz ist das default-GW der pfSense-Router, der auch VPN-Server ist. Daher hat es hier funktioniert.

            JeGrJ 1 Reply Last reply Reply Quote 0
            • JeGrJ
              JeGr LAYER 8 Moderator @Callya
              last edited by JeGr

              @callya Ah das geht natürlich auch. Normalerweise hat man im Default GW dann die Route zum VPN Server drin damit der es weiterrouten kann. In deinem Setup wäre dann aber asymmetrisches Routing entstanden was sich mehrfach mies auswirken kann. Man kann aber natürlich auch auf den Clients das GW eintragen, dann senden die es direkt dahin. Ist aber in den meisten Fällen zu viel Arbeit weil jeder Client angefasst werden muss.

              Alternative dazu noch möglich: via DHCP eine zusätzliche Route pushen, hängt dann aber vom GW ab, ob das diese Möglichkeit hat. Das müsste - wenn man das mit der pfSense machen wollen würde - die DHCP Option 121 sein wenn ich recht entsinne. Ist dann nur etwas "Gefriemel", da man DHCP Option 121 als "string" konfigurieren muss und da nicht einfach IP Netz und Maske reinklöppeln kann.

              FYI: Wenn man DHCP Option 121 manuell konfigurieren möchte, muss das Format des Strings in pfSense so aussehen:

              0xMMZZZZZZZZGGGGGGGG

              Wobei die Buchstaben als Platzhalter stehen für:

              M = Subnetz Maske in CIDR Notation in Hexadezimal, also /24 -> 18
              Z = Zielnetz in Hexadezimal                      172.16.1.0 -> AC100100
              G = Gateway über den geroutet wird in Hex     192.168.1.254 -> C0A801FE
              

              das wird zusammengesetzt nach RFC 3442, was heißt, dass die unnötigen Bits weggelassen werden müssen (kompakte Schreibweise).

              Somit:

              Für 172.16.1.0/24 via 192.168.1.254:
              DHCP Option 121: 18:AC:10:01:C0:A8:01:FE
              

              Man kann natürlich auch mehrere Routen angeben, die werden dann einfach aneinander gehängt. Da würde ich aber stark empfehlen vorher die Netzplanung gut zu machen, dann muss man da ggf. nur ein größeres Netz routen (bspw. 172.16.x.y -> /16 routen für alle VPN Ziele). Man muss bei der Hex-Schreibweise dann aufpassen, dass man bei der Kompaktschreibweise wirklich nur die notwendigen Bits schreibt, sonst wird das GW falsch ausgelesen :)

              Cheers
              \jens

              Don't forget to upvote 👍 those who kindly offered their time and brainpower to help you!

              If you're interested, I'm available to discuss details of German-speaking paid support (for companies) if needed.

              1 Reply Last reply Reply Quote 1
              • First post
                Last post
              Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.