Loadbalancing im VPN Tunnel???



  • Hallo Liebe Senser jetzt mal eine Aufgabe für einen echten Pro.
    Ich will Loadbalancing zur Banbreitensteigerung im VPNTunnel realisieren.
    Meine Ansatz im Moment

    Client  –--  pfsenserouter(vpnclient1) ---- vpntunnel als Interfaces Group vereint  ---------  tunnel 1 --------- wan 1--------------------------------sense(vpnserver1:1194)-------- Eine feste IP für Client   
                                            (vpnclient2) ---- vpntunnel als Interfaces Group vereint  ---------  tunnel 2 ---------  wan 2--------------------------------          (vpnserver2:1195)-------- in beiden Tunneln.

    At Moment stehen beide Tunnel der Client hat auch Zugriff, das Netz steht. Nur leider wird immer nur einer der Tunnel verwendet. Müsste doch von der Idee wie bei Multiwan auch funktionieren !?


  • Moderator

    Es gab in einem engl. Thread mal eine Anleitung, dass das ggf. mit OSPF funktioniert indem beide VPN Gateways (müssen natürlich in getrennten Netzen sein) als Router gesetzt werden und die Routen mit gleichen Kosten angegeben werden, womit sich dann pro Verbindung ein Balancing ergeben würde und natürlich auch Failover funktioniert.

    Theoretisch könnte es aber auch mit Gateway Gruppen klappen, dann müssten die entsprechenden Firewall Regeln noch auf die GW-Groups angepasst werden.

    Grüße



  • Dann muss ich jetzt erstmal herausfinden wie OSPF richtig funktioniert. Habe ich das Richtig verstanden das ist also ein Protokoll mit dem sich Ip Adressen bündeln lassen.
    Bisher ist es so das ich 2 gleiche Clients und 2 gleiche Server habe nur der Serverport ist verändert. Heißt das der die beiden Clienten auf dem Servern ja eigentlich nur einer die gleiche IP bekommen.  Sehe schon bin noch weit von einer Lösung entfernt.


  • Moderator

    @dkst:

    Dann muss ich jetzt erstmal herausfinden wie OSPF richtig funktioniert. Habe ich das Richtig verstanden das ist also ein Protokoll mit dem sich Ip Adressen bündeln lassen.
    Bisher ist es so das ich 2 gleiche Clients und 2 gleiche Server habe nur der Serverport ist verändert. Heißt das der die beiden Clienten auf dem Servern ja eigentlich nur einer die gleiche IP bekommen.  Sehe schon bin noch weit von einer Lösung entfernt.

    Nein ;)
    OSPF - open shortest path first. Es ist ein Protokoll zum (dynamischen) Routing bzw. der Routenfindung. Dabei kann OSPF auch mehrere Routen zum gleichen Ziel verwalten, diese aber mit einer Gewichtung versehen. Die Routingtabelle wird also ggf. so angepasst, dass ein Paket den (möglichst) schnellsten Weg zum Ziel nimmt oder mehrere Wege zum Ziel kennt. Bspw. 2 Links zum gleichen Zielswitch, der eine über einen Gigabit Link, der andere über 100MBit. Zielnetz ist das Gleiche, allerdings würde man die Gewichtung natürlich anpassen. Failover ist dann möglich, denn wenn der "günstigste" Weg ausfällt, ist der teure der Einzige und damit an der Reihe. Kommt der andere wieder, ist die billigere Route wieder da und wird aktiv. Sind beide gleich gewichtet wird versucht von Verbindung zu Verbindung beide Kanäle zu nutzen.

    Das ganze kann man aber auch ohne OSPF manuell konfigurieren. Was mit unterschiedlichen IPs gemeint war ist nicht der Client/Server Part - sonst würden die Tunnel ja nicht schon stehen, sondern das VPN Transfernetz, das für die beiden Tunnel vergeben ist. Das muss unterschiedlich sein, so dass Clients aus Netz Server zwei Gateways für Netz Client angeboten bekommen und sich dann die Tunnel in die Quere kommen. Ich denke aber ein erster simpler Ansatz wären tatsächlich Gateway Gruppen (wie bei MultiWAN) die dann bei der Regel angegeben werden.



  • So JeGr schon mal vielen Dank im Vorraus für deine bisherigen mühen. Auf dem Bild solltest du mein VPNNetz sehen so wie es zur Zeit läuft. Ob ich dabei einen Clienten oder Server habe ist irrelevant.
    Ich bin in der Lage auf die Kameras zuzugreifen.
    Beispielsweise auf die Kamera1 mit der IP 10.0.010:64330.
    Meine erste Frage zum Loadbalaning wäre auf welcher Seite muss ich die Gatewaygroup setzen auf der Serverseite oder auf der Clientenseite?
    Dann ist es ja so ich fange an und setze zwei neue Interfaces ovpns1 und ovpn2.
    Diese Interfaces brauchen aber ja auch einen Gateway um über System:Gateway:Group zusammengefasst werden zu können. Da komme ich im Moment nicht weiter ??????????
    Alternativ gibt es auch die Möglichkeit unter Interface LAAG die beiden Interfaces LAG Proto:LOADBALANCE zusammen zu fassen.
    An dieser Stelle bastel ich gerade leider bisher ohne Erfolg.
    Ziel ist es das der loadbalancer die Pakete des Videostream verteilt auf 2 oder mehr Leitungen ich aber weiter nur eine IP zum abgreifen des Signals habe.




  • System: Gateways: Edit gateway
    The following input errors were detected:
    You can not use a IPv4 Gateway Address on a IPv6 only interface. :(  An der Stelle ist dann erstmal Ende für mich, es bleiben viele ?????????


  • Moderator

    Sehe ich das richtig, dass der VPN Server nur einen Serverprozess für beide Clients hat? Wenn ja ist das wahrscheinlich das Problem, da es dann keine dedizierten Gateways pro Verbindung gibt.

    Client (eplus) –> VPN1 10.255.0.2/24 --> Server (Prozess1, 10.255.0.1/24)
    Client (Congstar) --> VPN2 10.255.1.2/24 --> Server (Prozess2, 10.255.1.1/24)

    Wenn beide Seiten - Client & Server - auf beiden Seiten beide Tunnel aufbauen und über separate VPN Interfaces und Netze verwalten, dann hast du auch 2 dedizierte Gateways auf jeder Seite. Sprich auf Serverseite hast du die Gateways 10.255.0.2 & ..1.2 über die das Netz 192.168.1.0/24 erreichbar ist.
    Auf Clientseite genauso, hier hast die die .0.1 und die .1.1 als GW für das Netz 192.168.2/3.0/24 verfügbar für den Rückweg. Damit hat jeder Tunnel ein eigenes dediziertes Gateway.

    Bei der oben gezeichneten Lösung sehe ich auf Serverseite aber nur einen Serverprozess mit /16er Netz, somit wird es auch nur eine IP geben. Das ist der Haken, denn damit kann die Clientseite nur Pakete an den Server 10.0.0.1 (Beispiel) schicken, aber nicht differenzieren, über welche Leitung das gehen soll. Hören auf dem Server 2 OVPN Serverprozesse, mit extra IPs, dann kann man auch beim routen durch die Auswahl des Gateways automatisch den Tunnel bestimmen.

    Ich kann das leider nicht ausprobieren, da mir die 2. Ader zum Testen auf einer Seite fehlt. Aber mit nur einem Gateway wird es wahrscheinlich nicht klappen können.



  • Du siehst das vollkommen richtig mit einer Abweichung. Ich teste das wenn man es genau nimmt auch nur virtuell in Virtualbox an einer Leitung.
    Die Server(Pfsense) hat einen WAN feste IP, es laufen zwei genau gleich eingestellte Openvpnserver der 1 Server auf Port 50000, der 2 Server auf Port 50001. Beide Server nutzen die gleichen Zertifikate.

    Der Client  hat 2 WAN also auch 2 Gateways.
    Der erste Client geht über WAN 1 auf Port 50000  zu Openvpnserver 1.
    Der zweite Client geht über WAN 2 auf Port 50001 zu Openvpnserver 2.
    Beide Server geben den Clients dieselbe IP da ich diese unter OpenVPN: Client Specific Override vorbgebe.
    Ich versuche im Moment das Loadbalancing bei Client anzusetzen.

    Problem weiterhin:
    System: Gateways: Edit gateway
    The following input errors were detected:
    You can not use a IPv4 Gateway Address on a IPv6 only interface.

    Bekomme die Openvpn Interfaces / Gateways  gar nicht dazu das ich sie zusammenfassen kann.
    ;D



  • Weiß aber was du meinst teste es danke :-)



  • So habe das hinbekommen mit dem Gateway leider ist es so sobald man Openvpn als Interface einrichtet, geht nix mehr durch den Tunnel.
    Bin jetzt umgeschwenkt auf OSPF, erstmal mit einem VPN Tunnel zum Testen.
    Die beiden OSPF Router sehen sich und tragen auch alle Routen in die Routingtabelle ein aber der Ping vom Client funtzt noch nicht.



  • So 2 Tunnel stehen Quagga OSPF läuft, Routen passen, ping funtzt in alle Netze.
    Aber nur der Tunnel der am Default Gateway anliegt wird genutzt.
    Wie stellt man das nu ein ? :-) ???