öffentliche IPv4 Adressen vom vServer zur Sophos UTM über RED Tunnel

(Es handelt sich hier um einen aktualisierten alten Beitrag mit nun vernünftigen Routing und ohne Nebenprobleme)

Mittlerweile verwenden einige Provider (grad neue Provider) aufgrund von der allgemeinen IPv4 Knappheit Carrier Grade NAT (RFC 6264) um ihre Kunden den Zugang zum Internet zu ermöglichen.  Dies bedeutet, das sich x Kunden eine öffentliche IPv4 teilen, der Provider ausgehend NAT über eben diese einrichtet und eingehend initiierte Verbinden nicht funktionieren. Es gibt zwar Ansätze in der Art von einer UPNP ähnlichen Weise das CGN selektiv durch den Kundenrouter zu „öffnen“, allerdings ist mir noch kein Provider bekannt der dies tatsächlich ermöglicht. Die mögliche Lösung nennt sich IPv6, dieses Protokoll hat derzeit noch einen – vergleichsweise – geringen Verbreitungsgrad, leidet unter dem Henne-Ei Problem, ist also noch nicht flächendeckend nutzbar. IPv6 sollte trotzdem soweit möglich eingesetzt werden.

Mein Grundproblem ist das mein neuer FTTH Provider leider nur DS-Lite anbietet, d.h. ich benutze mit anderen Kunden zusammen eine IPv4 über das besagte CGN Gateway des Providers und bekomme ein volles IPv6-Stack inkl. /48 Prefix. Eingehende Verbindungen etwa für Owncloud, Teamspeak Server oder einer Webcam über IPv4 kann ich wie schon erwähnt aus den Gründen nicht von Aussen erreichbar machen.

Anfangs verwendete ich den super Dienst von www.feste-ip.net (REF Link) – Diese bieten einen sogenannten Portmapper auf ihren Servern an die eingehende IPv4 Verbindungen in IPv6 umsetzen. Im Heimnetz braucht man dann entsprechend IPv6 kompatible Endgeräte. Nachteile sind das nur TCP Verbindungen möglich sind, IPsec, UDP ist nicht möglich. Für CGN „geplagte“ User ohne „große“ Firewall (wie etwa die Sophos UTM) ist www.feste-ip.net eine super Möglichkeit etwa eine IP Kamera von Außen wieder zugänglich zu machen.

Als Sophos UTM Nutzer haben wir allerdings einige Werkzeuge im Repertoire die einem aus dieser CGN-Falle eleganter wieder hinaus helfen können. Auch mit anderen Firewall Lösungen wie pfSense oder RouterOS wird das folgende Szenario abbildbar sein, habe da allerdings keine praktischen Erfahrungen.

Grundsätzlich können wir zwischen zwei Sophos UTMs etwa eine VPN oder RED Verbindung aufbauen. Hätten wir also eine Sophos extern mit mindestens einer eigenen IPv4 Adresse zur Verfügung, könnten wir mittels von unserer Heim Sophos initiierten (ausgehenden) Verbindung einen Tunnel erstellen. Ich hatte mir hierzu bei dem vServer Anbieter Vultr.com (Ref Link) der die Installation von eigenen ISOs erlaubt eine Sophos „in der Cloud“ erstellt, welche ich dann über OpenVPN SSL per Site2Site verbunden hatte. Es gibt auch die Möglichkeit bei anderen Anbietern die Sophos UTM zu installieren. Providerdienste wäre ein sehr guter Anbieter aus dem Raum Düsseldorf.

Durch das vernetzten eines „Dummy“ Transport Netzes auf der vServer Seite mit dem internen LAN der Sophos zuhause konnte ich per Full-NAT eingehende Verbindungen auf die vServer IP an Geräte hinter der Heim Sophos „weiterreichen“. Natürlich hat diese Vorgehensweise den Nachteil das hier ein Doppel-NAT stattfindet, auf der vServer Seite ein NAT eingerichtet werden muss, auf der Heim Sophos entsprechende Firewall Regeln. Nein ich wollte hier noch eleganter vorgehen!

Die Sophos UTM hat eine schöne Funktion namens „Remote Ethernet Device“ (RED) welche auf einfache Art und Weise die Erstellung eines GRE Tunnels ermöglicht. Kurz erklärt, die RED Technik wird hauptsächlich für die Anbindung von Außenstellen genutzt, durch sog. RED Appliances in Form von kleinen Hardware Kisten wird hierbei in der Außenstelle entweder im Split Setup oder Bridged das entfernte Netz angebunden. Die RED Funktionalität kann allerdings auch zwischen zwei UTMs verwenden werden!

Die Sophos beim vServer Anbieter wird also erstmal mit der Sophos per RED-Tunnel verbunden. Durch den bestehenden Tunnel gibt es nun beim Reiter "Interfaces" auf jeder Seite die Möglichkeit diesen RED-Tunnel als Interface Einzurichten. Auf der vServer Seite bekommt das neu Erstellte RED-Interface z.B die private IP 172.27.29.2, diese IP brauchen wir nachher als Gateway.

Unter statische Routen muss jetzt noch eine Interface Route für die zusätzliche gebuchte öffentliche IPv4 gesetzt werden. Als Interface wird hier das neu erzeugte RED Tunnel Interface angegeben. Hierdurch wird eingehender Traffic der für die zweite IPv4 bestimmt ist auf den Tunnel "abgekippt". Zwei Firewall Regeln für eingehenden und ausgehenden Traffic von der zweiten IPv4 zum Internet IPv4, und von Any IPv4 zu der zweiten IPv4 müssen zum Erlauben von Traffic angelegt sein.

Auf der Sophos die zuhause in Betrieb ist erstellen wir ebenfalls ein Interface mit dem RED Tunnel als Basis und geben als IPv4 Adresse des Interfaces die zusätzliche öffentliche IPv4 die zum vServer gebucht wurde. Als Gateway die 172.27.29.2.

Ergebnis: Wir haben auf der Sophos zuhause nun ein Interface mit öffentlicher IPv4 Adresse welche durch den RED Tunnel geleitet wird. Alles kann genutzt werden inkl. HE IPv6 Tunnel (IP41), IPsec, RED, S2S ...

Sollte es nach einigen Stunden Probleme mit der Verbindung geben muss je nach VPS Provider ggf. dort auf der WAN Schnittstelle ein Haken bei "Proxy ARP" gesetzt werden!

12 Kommentare

  1. Hallo,
    vielen Dank für die Anleitung, habe nun einen Server bei Vultr konnte die Installation auch vornehmen. Nun komme ich aber von extern nicht auf die UTM drauf, habe Ja nur eine Schittstelle.
    Wäre super dankbar für 2 kleine Tips.

  2. Hallo, habe soweit alles erfolgreich umgesetzt, funktioniert für IPv4 einwandfrei. Jetzt möchte ich auf dem gleichen Weg durch den RED-Tunnel auch ein öffentliches IPv6-Netz auf die interne Firewall durchleiten. Dies funktioniert leider nicht. Der VPN-RED-Tunnel ist prinzipiell auch IPv6-fähig. Wenn ich an beiden Tunnel-Interfaces private IPv6-Adressen eintrage, können sich die beteiligten Firewalls auf ihrer IPv6-Adressen gegenseitig anpingen. Aber ein öffentliches IPv6-Netz bekomme ich nicht durch den Tunnel durch.

    Hat jemand eine Idee?

  3. Guten Abend

    Gibt des auch eine Möglichkeit mehr als eine zusätzliche IP durchzureichen?

    Danke für die Anleitung!

    Grüsse Simon

  4. Hallo,

    vielen Dank für den Artikel und die gute Idee. Ich habe seit diesem Monat auch das Problem mit dem CGNAT und finde den Ansatz sehr interessant. Der Anleitung folgend habe ich alles entsprechend eingerichtet. Jedoch kann ich nur ein Standardgateway in der UTM definieren. Wenn ich nun das Standardgateway der Heim-UTM vom WAN-Interface auf das RED-Interface lege, wird der Tunnel getrennt. Gern würde ich das zum Laufen bekommen und bin für einen Gedankenaustausch dankbar.

    Besteht bei diesem Ansatz auch die Möglichkeit nur den VPN-Traffic über das RED-Interface abzuwickeln und das Standardgateway auf dem WAN Interface des ISP zu belassen?

    Grüße Dirk

    1. ja, das Standard Gateway kann auf dem WAN Interface bleiben. Das ganze muss ja über das Uplink Balancing eingerichtet werden.

  5. Hi,

    ich wollte mich mal an die Umsetzung deiner Anleitung machen. Leider kann ich eine UTM nicht als RED Client auswählen. Meine UTM hat aktuell die Firmware 9.7x und wird mit einer Home Use License betrieben.
    Ich bin da erstmal aufgeschmissen. Hast du evtl. eine Idee?

    Gruß, Bastian

    1. Hi, muss du nochmal genau schauen. Man kann als Client eine UTM auswählen, nennt sich neuerdings aber "Red Firewall Server" und "Red Firewall Server Legacy".

  6. Danke für die Einladung.
    Ich hab das ganze genauso gemacht wie beschrieben. Die zweite IP ist dann von itnern auch aufrufbar, wenn ich aber von außen zugreife, wird keine Anfrage an die interne UTM weitegeleitet. Auf der WAF kommt intern nichts an, Firewall hat auch keine Einträge. Hab die Firewall auf der externen UTM scho nauf Any-Any gestellt, aber keine Änderung. Ich hab keine Ahnung mehr wo ich suchen soll.

    Statische Route ist angelegt.

  7. Hi,
    ich bekomme bald graue Haare. Müsste ich auf der Sophos Home nicht die Gateway IP 172.27.29.2 über das Red Interface anpingen können damit diese als Gateway funktioniert?

    Sowohl "ping 192.168.113.1 -I reds1" als auch "ping 8.8.8.8 -I reds1" funktionieren aber nicht. Ein " ping 95.179.133.xxx -I reds1!" liefert aber ein Ergebnis. 95.179.133.xxx ist in dem Fall die zweite externe IP.
    Hast du vielleicht einen Hinweis für mich?
    Gruß Frank

Kommentare sind geschlossen.

WordPress Appliance - Powered by TurnKey Linux