Sophos UTM Site2Site VPN mit mehreren Providern: IPSec, Failover, GRE/RED Devices und OSPF Routing

In diesem Testaufbau geht es darum, zwei Standorte mit mehreren Internetprovidern redundant über VPN zu verbinden. Hat man mehrere interne Netzwerke an den Standorten und will nicht jedesmal die IPSec SA’s anlegen und pflegen, bietet sich IPSec im Transportmode und dazu ein GRE Tunnel an. Dieser GRE Tunnel kann auf der Sophos UTM als „L2 Device“ für das OSPF Routing ausgewählt werden. Sophos nennt das ganze statt GRE ein „RED“ (Remote Ethernet Device). In meinem Testszenario habe ich an jedem Standort zwei Internetprovider simuliert. Dazu nimmt am einfach ein Linuxsystem und richtet darauf mehrere Ethernetschnittstellen in verschiedenen VLANs ein. Da der ganze Test auf einem VMware vSphere System abgebildet wird, war das Bereitstellen der Sophos UTM, der Clients und des Routers ohne größeren Aufwand möglich:
Sophos-vApp      Sophos-vApp-Network
Folgender schematischer Aufbau liegt der Simulation zugrunde:
Sophos-Testaufbau
Ich beginne mit dem Anlegen und konfigurieren der RED Tunnel und des OSPF. Die grundsätzlichen Einstellungen und Inbetriebnahme der UTM und des Linuxrouters werde ich hier nicht erläutern. Dieser Artikel ist nicht für Einsteiger gedacht 🙂 Wir steigen direkt nach dem Grundsetup ein. Als erstes definieren wir die WAN Zugänge:
Sophos-1-WAN Sophos-2-WAN
und legen das Uplink Balancing an:
Sophos-1-UplinkbalanceSophos-3-Uplinkbalance
Nun werden die RED Tunnel aktiviert und definiert. Sophos 1 nehmen wir als Server:
Sophos-1-RED-Server
Anschliessend die Provisioning Files downloaden und auf Sophos 2 als Client anlegen:
Sophos-2-RED-Client
Für jeden RED Client nehmen wir einen Internetprovider (WAN1 und WAN2) des RED Servers als Zielhost. Wenn man dieses Setup nun aktiviert passiert folgendes:
Sophos-RED-beide-23er
Die Verbindung zum RED Server (Sophos 1) wird über den ersten Internetprovider im Uplink Balancing hergestellt! Das müssen wir mit einer Multipath-Rule auf dem RED Client verhindern!
Sophos-RED-Multipathrule2     Sophos-RED-Multipathrule1
Wichtig ist dabei die Option „Skip Rule on Interface Error“, denn sonst wird der ausgefallene Tunnel durch das Uplink Balancing wieder über den verbleibenden Provider aufgebaut und wir erreichen nach einem Ausfall einer Leitung wieder den Zustand, dass beide RED Tunnel über einen Provider aufgebaut werden. Durch das strikte Zuweisen der Pfade von RED Tunnel  1 über WAN3 und RED Tunnel 2 über WAN4 wird dieses verhindert. Nun sollte das ganze so aussehen:
Sophos-RED-beide-23er-24er
Wenn die Tunnel angelegt sind, können wir die dazugehörigen Interfaces in der Sophos UTM anlegen (interfaces & Routing). Als „Hardware“ wählen wir reds1 und reds2 aus. Diese Interfaces werden vom System wie normale Netzwerkkarten behandelt:
Sophos-2-RED-Interfaces2
Sophos-1-RED-Interfaces1 Sophos-2-RED-Interfaces1
Nun haben wir Interfaces die wir beim Einrichten von OSPF zuweisen können:
Sophos-1-Interfaces Sophos-2-Interfaces
Im OSPF legen wir eine „Backbone“ Area 0.0.0.0 an. In einer richtigen integration muss man hier natürlich eine andere Zone wählen sofern man OSPF schon im Einsatz hat. Die internen Schnittstellen und die RED Interfaces müssen im OSPF als OSPF Interface angelegt werden. Anschliessend werden diese OSPF Interfaces der Area zugewiesen:
Sophos-1-OSPF Sophos-2-OSPF
Nun haben wir erreicht, das die Informationen der Backbone Area „0.0.0.0“ über die zwei Standorte durch die Tunnel verteilt werden. Die Routen sind auf beiden Sophos UTM sichtbar und die Clients können sich erreichen. Zum abschliessenden Test des Setups simuliert man am besten den Ausfall eines Internetprovider, in dem man die Netzwerkkarte im Linuxrouter deaktiviert. Man sieht kurz wie OSPF den neuen Pfad wählt und die Verbindung ohne große Verluste bestehen bleibt:
Sophos-RED-FailoverScreen
Mit diesem Setup erspart man sich das Definieren der ganzen IPsec SA’s und kann dynamische Routingverfahren über einen IPsec Tunnel nutzen.

15 Gedanken zu „Sophos UTM Site2Site VPN mit mehreren Providern: IPSec, Failover, GRE/RED Devices und OSPF Routing

  1. Leonid Kogan

    Hallo, hast du schon mal ausprobiert ob man irgendwie mit Linux einen RED Device Verbindung emulierten kann? Bzw. wie die IPSec Parameter sind, falls RED Verbindung eine IPSec Verbindung ist.

  2. Tom

    Hallo Michael,
    erstmal danke für Deinen Artikel, ich habe ihn gefunden weil ich gegoogelt habe wie man mit 2 UTMs per redundanten RED Tunnel und je 2 Providern einen Anbindung realisiert. Ich bekomme es aber nicht hin den Internettraffic, der nicht im OSPF definiert ist, an den Hauptstandort zu routen. Hast Du mir nen Tip, bin am verzweifeln 🙂 besten Dank schonmal, Gruss tom

  3. Enrico

    Danke für den großartigen Artikel! Funktioniert sehr gut. Warum aber die Multipfad-Regel der ausgehenden RED-Verbindung an jeweils einen Internetprovider? So stellt man doch eigentlich zwei getrennte Tunnel sicher, kann also den Provider nicht kreuzweise verbinden. Übersehe ich da etwas, aber wenn man auf diese zwei Regeln verzichtet, wird stets von Provider A am Standort 1 ein Tunnel nach Provider B und einer nach Provider A am Standort 2 aufgebaut. An Standort 2 kann also einer von beiden ausfallen. Fällt am Standort 1 Provider A aus, würden beide Tunnel von B aus aufgebaut werden. Insofern könnten an Standort 1 und Standort 2 jeweils beliebig A und B ausfallen. Das Beispiel oben verstehe ich so, dass beim Ausfall von Provider A am Standort 1 und Provider B am Standort 2 keine Verbindung möglich wäre?

    1. Michael Klehr Beitragsautor

      Die Multipath Regel wird beim Ausfall einer Leitung übersprungen. So sind zwei Tunnel aktiv über die man OSPF betreiben oder auch den Traffic aufsplitten kann. Viele Wege führen nach Rom 🙂 Hast du dein Setup das du beschreibst schon mal erfolgreich nachgestellt und ausprobiert?

  4. Enrico

    Stimmt, wenn die Regel beim Ausfall übersprungen wird, klappt das. Ich habe den Screenshot im Artikel fehlinterpretiert, dass Skip on error eben NICHT aktiviert sein soll und das machte für mich keinen Sinn. Ich habe das Setup ohne Multipath-Regel mit 3 Außenstandorten am Laufen, klappt gut. Haken bei meiner Variante ohne Multipath-Regel: da im Normalfall ohne Leitungsstörung beide Verbindungen der Außenstelle über denselben Provider gehen, habe ich auf einem der Tunnel schlechtere Latenzen, da ich A-A und A-B verbinde. Jetzt wo ich den Text oben so verstehe, dass „Skip“ setzen soll, macht das mehr Sinn und ich stelle das mal um.

  5. Pingback: Distributing Remote Access SSL VPN IP Range in OSPF - Sophos User Bulletin Board

  6. Pingback: Anonym

      1. Leo

        Hi! Danke für deine Antwort. Ich habe momentan einen Testaufbau mit einem SG230 Cluster und eine standalone XG. Bekomme den RED-Tunnel auch hoch – jedoch geht leider kein Ping durch auf das gegenüberliegende RED-Interface. Hast du schonmal einen RED-Tunnel zwischen UTM/SG und XG testen können?

        OS ist jeweils aktuell ..

        Danke & Viele Grüße

  7. Thorsten Leiser

    Hallo Michael,

    wir haben das Setup ebenfalls nachgebaut. Ziel bei unserem Setup ist, zwei RED-Tunnel aufzuspannen. Einen über das MPLS-Netzwerk unseres Providers und das zweite über das normale Internet.
    Die Außenstellen, die bisher nur über MPLS angebunden sind bekommen zusätzlich noch einen normalen Internetzugang. Dadurch soll die MPLS-Strecke entlastet werden, da der Internet-Verkehr direkt vom Internetzugang in den Niederlassungen abgearbeitet wird und zum anderen sparen wir uns das teure MPLS-Backup, da beim Ausfall der MPLS-Strecke der RED-Tunnel über das Internet greift.
    Das Routing haben wir nicht über OSPF gemacht, sondern über statisches Routing mit Availability-Groups, wobei die MPLS-Strecke Vorrang hat.
    Problem war, dass die Multipath-Rules nicht gezogen haben. Fällt der Internet-RED-Tunnel weg, dann baut er diesen über die MPLS-Strecke wieder auf. Dabei ist es egal, ob Skip-Rule gesetzt ist oder nicht. Dadurch hat er auch nicht zurückgeschwenkt, sobald die Internetverbindung wieder verfügbar war.
    Bei einem Ausfall der MPLS-Strecke würde somit der Failover deutlich länger dauern, da dann beide Tunnel abbrechen.
    Dies konnte ich nur mit entsprechenden Gateway-Routen realisieren, die in der Außenstelle definiert werden. Damit konnte ich die RED-Tunnel an die jeweiligen WAN-Gateways pinnen.

    Ansonsten funktioniert das Setup einwandfrei, vielen Dank für die Vorlage.

    Gruß

    Thorsten

Schreibe einen Kommentar