Öffentliche IPv4 Adresse trotz CGNAT (mit Sophos UTM RED Tunnel)
In diesem Beitrag erkläre ich dir, wie du Carrier-Grade Nat umgehen und somit eine öffentliche IPv4 nutzen kannst.
Das bedeutet im Umkehrschluss, dass diese Anleitung nur anwendbar ist, sofern du noch eine ISO-Datei der Sophos UTM Home und eine laufende Lizenz hast.
Da ich nach langer Wartezeit (ca. 2 Jahre) endlich meinen Glasfaseranschluss ins Haus bekommen habe, stand ich vor einer bisher nicht gegenwärtigen Herausforderung: mit der Deutschen Glasfaser hatte ich nun einen 600/300 Mbit Internetanschluss und benötigte meinen rund 60 EUR teuren Hetzner Root-Server nicht länger. Die Deutsche Glasfaser vergibt aber leider keine öffentlichen IPv4 Adressen, sondern nutzt Carrier Grade NAT. DynDNS würde also nicht mehr funktionieren. Ich wollte aber meine Dienste nun unbedingt auf meinem heimischen Server betreiben (Mail, Webserver, Game Server, Chat Server, etc).
Was nun?
Ich habe zu Hause eine kostenlose und virtualisierte Sophos UTM Firewall auf meinem Proxmox Hypervisor laufen. Ich benötigte nun also einen günstigen virtuellen Server, welcher mir die Möglichkeit bietet, eigene ISO Images laden zu können, um eine weitere Sophos UTM in einem Rechenzentrum zu installieren. Denn mit diesem vServer und der dort installierten Sophos UTM, wäre ich in der Lage eine öffentliche IPv4 Adresse für meinen Internetzugang zu erhalten.
Ich habe die Idee eines Portmappers verworfen, weil ich mit einer 2. virtualisierten UTM deutlich mehr Möglichkeiten habe und ich auch davon ausging, möglicherweise Probleme mit meinem Mailserver zu bekommen (bezüglich blacklisting) oder es anderweitige Komplikationen in meinem Szenario geben könnte.
Ein vServer muss her!
Mit dem Server-Anbieter netcup GmbH habe ich eine gute Möglichkeit gefunden für wenig Geld eine virtualisierte Sophos UTM in einem Rechenzentrum betreiben zu können (sogar günstiger als die Portmapper Variante) und somit an eine statische und öffentliche IPv4 Adresse für meinen Server zu Hause zu gelangen. Ich habe mich hier für die günstigste Variante eines vServers entschieden. Dieser hat eine virtuelle CPU, 2 GB RAM, 20 GB SSD Speicher und 40 TB ungedrosselten Traffic - mehr als ausreichend für meine öffentliche Aussenstelle!
Auf dem vServer wird das Installationsmedium gemountet und die Sophos UTM wie gewohnt installiert. Ich habe mir noch eine 2. IP Adresse dazu bestellt, weil ich den Tunnel über eine andere IP als die NAT Regel laufen lassen wollte. Diese 2. IP Adresse muss dann als zusätzliche Adresse in der vServer Sophos UTM konfiguriert werden.
Und damit ihr als Neukunde 5 EUR sparen könnt, habe ich folgenden Gutscheincode für euch:
36nc16167837880
Diesen Gutscheincode könnt ihr in eurem Warenkorb oder unter folgendem Link einlösen: https://www.netcup.de/bestellen/gutschein_einloesen.php
Konfiguration des RED Tunnels
Im Rechenzentrum
In der Sophos UTM auf der Rechenzentrumsseite wird nun die Serverseite des RED Tunnels eingerichtet. Der Zweigstellenname spielt keine Rolle - hier habe ich "netcup Sophos" gewählt, damit erkennbar ist, wo sich die Sophos befindet. Als Client-Typ muss dann "RED-Firewall-Server" ausgewählt werden, den Rest lässt man unberührt.
In der RED-Verwaltung unter "[Server] Clientverwaltung" sollte nun deine neu eingerichtete Zweigstelle auftauchen. Mit einem Klick auf "Download" neben "Bereitstellungsdatei herunterladen" lädst du die Konfiguration für deine Sophos UTM zu Hause herunter.
Zu Hause
Nun loggst du dich auf deiner Sophos UTM zu Hause ein und gehst in die Verwaltung deiner "Definitionen & Benutzer". Dort musst du einen neuen Host mit der 1. öffentlichen IP deiner netcup Sophos UTM anlegen. Bei IPv4-Adresse trägst du die 1. IP Adresse deines netcup vServers ein.
Danach gehst du in die RED-Verwaltung. Allerdings öffnest du hier das "[Client] Tunnel-Management" und erstellst einen neuen Tunnel. Bei "UTM-Host" fügst du deinen gerade frisch erstellten Host (hier: Netcup Sophos #1) ein. Im nächsten Schritt lädst du die zuvor heruntergeladene Konfigurationsdatei (hier: Provis.-Datei) hoch und speicherst.
Danach sollte ein neues Objekt wie folgt auftauchen:
Wenn du alles korrekt ausgeführt hast, ist der Tunnel nun in der Übersicht online, was wie folgt aussieht!
Einrichtung der RED Interfaces
Im Rechenzentrum
Damit du deinen Traffic über deinen Tunnel hin- und herschicken kannst, benötigst du auf beiden Seiten eine neue Schnittstelle. Diese solltest du wie folgt konfigurieren (natürlich kannst du eine andere IP Adresse verwenden, wichtig ist nur, dass sie im gleichen Bereich sein wird, wie die IP Adresse der neuen Schnittstelle auf deiner Sophos UTM zu Hause).
Zu Hause
Damit deine Sophos zu Hause auch die Route kennt, auf welcher sie Anfragen zu deiner Sophos UTM im Rechenzentrum schicken darf, richtest du einen "Uplink-Ausgleich" unter "Schnittstellen" ein.
Statisches Routing
Im Rechenzentrum
Damit deine Sophos UTM im Rechenzentrum die Route in deine Heimnetze findet, benötigt sie statisches Routing. Das richtest du beispielsweise wie folgt ein:
Punkt 1: Hier gibst du dein entferntes Netz an (in meinem Fall ist dass das lokale Netz meiner Fritzbox)
Punkt 2: Hier gibst du das Gateway ein (die IP Adresse von deinem RED Interface zu Hause), damit die Sophos UTM weiß, wen sie fragen muss um in dein lokales Netz zu kommen.
Konfiguration der NAT Regeln
Im Rechenzentrum
Nun musst du erstmal eine zusätzliche Adresse einrichten, sofern du, wie ich, eine 2. IP Adresse dazugebucht hast. Das sieht dann biepielsweise so aus:
Im Rechenzentrum benötigst du nur eine einzige NAT Regel, welche jeglichen Traffic über deinen RED Tunnel zu deiner Sophos UTM nach Hause schickt. Diese NAT Regel sieht wie folgt aus:
Punkt 1: Hier trägst du Any ein, da du aus jeden Datenverkehrsquelle Traffic weiterleiten möchtest.
Punkt 2: Hier trägst du ebenfalls Any ein, da du jeden Datenverkehrsdienst weiterleiten möchtest.
Punkt 3: Hier gibst du die Schnittstelle mit der 2. IP Adresse deines netcup Servers ein.
Punkt 4: Das Ziel ändern wir auf die lokale IP Adresse deiner Sophos UTM zu Hause um (in meinem Fall die 192.168.200.2)
Punkt 5: Die Quelle ändern wir auf das RED Interface deiner netcup (Rechenzentrum) Sophos UTM um (in meinem Fall die 192.168.200.1)
Zu Hause
Wenn du nun beispielsweise einen Minecraft Server zu Hause betreibst, sieht die NAT Regel auf deiner Sophos UTM zu Hause wie folgt aus:
Punkt 1: Hier trägst du die IP Adresse deines netcup Sophos UTM RED Interfaces ein (in meinem Fall die 192.168.200.1)
Punkt 2: Hier trägst du den Port deines Minecraftservers ein (in meinem Fall TCP 25565)
Punkt 3: Hier trägst du die IP Adresse deines Sophos UTM RED Interfaces von zu Hause ein (in meinem Fall die 192.168.200.2)
Punkt 4: Und hier soll der Traffic an das Ziel des Minecraft Servers weitergeleitet werden.
Fazit
Du hast nun eine öffentliche und vorallem statische IPv4 Adresse für deinen Haus-Internetanschluss. Über weitere NAT Regeln kannst du hier verschiedene Dienste im Internet zur Verfügung stellen - Webserver solltest du allerdings nicht über NAT sondern über die Sophos Webserver Protection nach aussen richten. Hierüber werde ich aber in einem eigenständigen Artikel schreiben.