IPV6 über IPV4 erreichbar machen mit VPS und Socat

Version: 25.04.25

Problematik von DS-Lite-Anschlüssen und eingeschränkter IPv4-Erreichbarkeit

📡 Bei vielen modernen Internetanschlüssen – sowohl im Kabel- als auch im Glasfasernetz – kommt das sogenannte DS-Lite (Dual Stack Lite) zum Einsatz. Dabei erhalten Endgeräte im Heimnetzwerk nur eine öffentliche IPv6-Adresse, während IPv4-Verbindungen über ein geteiltes Gateway laufen. Das führt dazu, dass Geräte nicht direkt über IPv4 erreichbar sind, was bei bestimmten Anwendungen wie einem Webserver oder einem OpenVPN-Server zu erheblichen Einschränkungen führen kann.

🛠️ In diesem Tutorial zeige ich Ihnen, wie Sie trotz DS-Lite-Anschluss eine IPv4-Erreichbarkeit für Geräte im Heimnetz realisieren können – sei es für einen Webserver, einen OpenVPN-Server oder ähnliche Dienste. Die Lösung basiert auf einem Socat-Server, der auf einem VPS betrieben wird und als Brücke zwischen IPv4 und IPv6 fungiert.

⚠️⚠️ ⚠️ ACHTUNG: Ich empfehle keine einfache Portweiterleitung, sondern eine Verbindung vom VPS über Wireguard in das Heimnetzwerk ohne geöffnete Ports! Dieses Tutorial zeigt vom Grundsatz her, wie Socat funktioniert ! ⚠️ ⚠️ ⚠️

📋 Was wird für dieses Tutorial benötigt?

Für die Umsetzung dieser Lösung benötigen Sie:

  • Eine Fritzbox oder alternativ einen anderen Router, der Portfreigaben unterstützt und idealerweise über einen eigenen DynDNS-Dienst verfügt.
  • Einen kleinen VPS-Server, beispielsweise von Hetzner.com, um als Zwischenstation für die IPv4-Verbindung zu dienen.
  • Grundlegende Kenntnisse im Linuxbereich, da einige Schritte auf einem Linux-Server durchgeführt werden und ein gewisses Verständnis von Netzwerk- und Serverkonfigurationen hilfreich ist.

🔧 Mit diesen Komponenten/Fähigkeiten können Sie eine funktionierende Lösung für die IPv4-Erreichbarkeit in einem DS-Lite-Netzwerk aufbauen.

Im ersten Schritt geben wir den benötigten Dienst in der FritzBox nach außen (IPv6) frei und nutzen dabei unbedingt den MyFritz-DynDNS-Dienst.
In der Fritzbox klicken Sie dazu auf „Freigaben“:

Anschließend auf Portfreigaben und dann unten auf „Gerät für Freigabe hinzufügen“:

Wir wählen das Gerät aus und klicken auf „Neue Freigabe“:

Wir legen die Freigabe entsprechend an:

Nach dem Klick auf „okay“ sehen wir folgendes Ergebnis:

Die Freigabe wurde eingerichtet und die IPV6 Adresse (hier geschwärzt) wird angezeigt.

Wir nehmen die IPV6 Adresse in Bearbeitung mit dem Stift:

Wir sehen nun, dass die MyFritz-Adresse (Freigabe) eingerichtet wurde:

Diese Adresse ist wichtig und diese speichern wir uns ab!

proxmox-server.9ksdksdi398sksldsksdsdj.myfritz.net:80

Die Adresse wird später für die Einrichtung von Socat benötigt.

In der FritzBox sind wir schon fertig. Nun loggen wir uns auf den VPS ein, den wir vorher bei Hetzner.com angelegt haben:

Dazu verwenden wir ein SSH-Terminal (unter Linux) oder unter Windows ein Zusatzprogramm wie PuTTY:

Wir installieren nun Socat, als Softwarebrücke zwischen IPV4 und IPV6:

Jetzt erstellen wir einen SYSTEMD-Service, der auch bei jedem Neustart vom Server gestartet wird. Für jeden Dienst wird später eine eigene Datei benötigt. Wir legen in dem Tutorial aber nur einen Dienst an (z.B. einen Webserver):

In die Datei speichern wir folgenden Inhalt ab:

In unserer Beispielkonfiguration passiert folgendes:

🌐 Der VPS-Server lauscht auf Port 80 nach außen hin (IPv4, TCP4) und nimmt alle Anfragen unter IPv4 an. Diese Daten werden dann intern an IPv6 (TCP6) weitergeleitet – in unserem Fall an die Fritzbox-Freigabe.

Wir speichern die Datei (STRG+O) und schließen den Editor wieder (STRG+X).

Nun geben wir nacheinander folgende Befehle in die Konsole ein und bestätigen jeweils mit ENTER:

Das war es schon, unser VPS Server nimmt jetzt IPV4-Anfragen an und leitet diese an die Fritzbox in das IPV6 Netzwerk weiter.

Überprüfen können wir die Weiterleitung mit folgendem Befehl in der Konsole:

🧾 Als Ergebnis sollte folgende Ausgabe angezeigt werden (hier etwas geschwärzt, weil es mein eigener Socat-Server ist):

Der Dienst kann nun von außen erreicht werden unter:

IP-Adresse (VPS):Port

💡 Tipp: Wenn Sie einen OpenVPN-Server betreiben, können Sie diesen intern auf jedem beliebigen TCP-Port betreiben und nach außen hin z. B. den Port 443 oder 587 angeben (damit ist Ihr VPN auch in gesperrten WLANs – z. B. in Hotels – erreichbar).

🎉 Viel Spaß beim Einrichten des eigenen Socat-Servers.


bc1q8dxp9mlt3mkvaklu2vn8j6jteqyv53kschc90v

Lightning: itsc@strike.me