IPv4-Workaround für Deutsche Glasfaser-Kunden

Eine möglichst einfache Anleitung
Auf vielfachen Wunsch hier eine möglichst einfach gehaltene Anleitung zur Lösung der Problematik, die in diesem Artikel beschrieben wird.
Kurzfassung des verlinkten Artikels: Privatkunden bei Deutsche Glasfaser erhalten keine öffentlich erreichbare IPv4-Adresse. Viele möchten oder müssen über IPv4 interne Geräte bzw. Dienste aus dem Internet zugänglich machen. Es gibt verschiedene Ansätze für Umgehungslösungen. Hier stelle ich eine relativ simple, günstige und selbstverwaltete vor.
Ich realisiere diese Umgehungslösung in diesem Artikel mit dem günstigsten Strato V-Server, den VC 1-1 für 1 € pro Monat bei einem Jahresvertrag.
In dieser Anleitung beziehe ich mich nur auf TCP-Dienste. Es gibt auch Lösungen für UDP, das ist aber kein Bestandteil dieses Artikels.
Voraussetzungen
Vorkenntnisse
Diese Anleitung geht davon aus, dass Sie souverän Windows und eine FritzBox bedienen können. Auch mit macOS und vielen anderen Routern kann man das natürlich machen, aber da weichen die Schritte ab. Außerdem sollten Sie grundlegende Kenntnisse abseits der grafischen Oberfläche besitzen und schon einmal mit der Windows-Eingabeaufforderung gearbeitet haben.
Virtueller Linux-Server
Wie gesagt, gibt es bei Strato einen sehr günstigen virtuellen Linux-Server, der dieser Aufgabe dennoch gewachsen ist. Alternativ kann man sich in der Hetzner Cloud oder bei einem anderen Provider einen günstigen virtuellen Linux-Server mit Ubuntu 24.04 bereitstellen lassen.
Installation und Konfiguration
Die Magie steckt in rinetd
Mit dem einfach zu konfigurierenden Dienst rinetd kann man Anfragen an TCP-Ports weiterleiten. Seit ein paar Versionen unterstützt rinetd auch UDP, dazu habe ich selbst aber noch keine Erfahrung gesammelt. Für UDP habe ich in der Vergangenheit für den gleichen Zweck socat genutzt. Dieses Programm ist allerdings komplizierter einzusetzen als rinetd. Weil es hier möglichst einfach zugehen soll, verwende ich rinetd.
Nach der Bestellung bei Strato den Server installieren
Nach der Bereitstellung des virtuellen Linux-Servers erhält man von Strato eine Mail, in der steht, dass man sich einloggen und den Server konfigurieren soll.
- In der Bestellübersicht im Kundenportal auf den Server klicken.
- Auf der folgenden Seite etwas weiter unten auf „Neuinstallation“ klicken.

In der Grundkonfiguration kann man sich am Strato Linux-Server über SSH nur mit einem SSH-Key anmelden. Das Root-Passwort funktioniert hingegen nur über den Zugriff durch die VNC-Konsole im Kundenportal.
Denken Sie sich ein möglichst komplexes Passwort für den Nutzer root aus, auch wenn Strato Ihnen das mangels verfügbarer Sonderzeichen erschwert. Das Betriebssystem ist Ubuntu 24.04 (ohne Plesk). Bestätigen Sie die Checkbox ganz unten.

Strato lässt die Installation des Servers nur dann zu, wenn man einen Public SSH-Key mitteilt und damit SSH einrichtet. Also …
- Öffnen Sie die Windows-Eingabeaufforderung.

- Geben Sie folgendes ein:
C:\Users\Andreas> ssh-keygen -t rsa -b 4096 -C "Strato V-Server"
Bestätigen Sie den Speicherpfad mit Enter und vergeben Sie ein Passwort zum Schutz des privaten Schlüssels. Notieren Sie sich das Passwort, Sie benötigen es später für den Verbindungsaufbau.
Mit diesem Befehl erzeugt ssh-keygen ein Schlüsselpaar. Der private Schlüssel bleibt auf Ihrem System, den öffentlichen Schlüssel geben Sie Strato.

- Zeigen Sie den Public Key an mit:
C:\Users\Andreas> type .ssh\id_rsa.pub
Markieren Sie den Key (nur bis zum Kommentar „Strato V-Server“) und kopieren Sie ihn mit Enter in die Zwischenablage.

- Fügen Sie den Key bei Strato ein und klicken Sie auf „Neuinstallation starten“.
Falls Sie währenddessen ausgeloggt werden, loggen Sie sich erneut ein und starten den Vorgang noch einmal. Dann sollte es auf Anhieb funktionieren.

Hat alles geklappt, sehen sie nach kurzer Zeit eine Erfolgsmeldung.

Da der SSH-Zugang nun eingerichtet ist, verwende ich diesen für den weiteren Verlauf der Anleitung anstelle der VNC-Konsole im Kundenportal.
- Stellen Sie nun eine Verbindung her:
C:\Users\Andreas> ssh root@[ip-adresse]
Ersetzen Sie [ip-adresse] durch die IPv4-Adresse Ihres Strato-Servers aus dem Kundenportal.
- Bestätigen Sie mit
yes
und geben Sie das Passwort für Ihren privaten Schlüssel ein.

Nach dem Login aktualisieren Sie zunächst die Paketquellen:
root@ubuntu:~# apt update
In meinem Fall können 32 Pakete aktualisiert werden.

Aktualisieren Sie die Pakete mit:
root@ubuntu:~# apt upgrade -y
Anschließend installieren Sie rinetd:
root@ubuntu:~# apt install rinetd
Starten Sie den Server zur Sicherheit neu (z.B. nach Kernel-Updates):
root@ubuntu:~# reboot
Konfiguration von rinetd
Nachdem Sie sich nach dem Neustart wieder eingeloggt haben, öffnen Sie die Konfigurationsdatei:
root@ubuntu:~# nano /etc/rinetd.conf

IPv6-Adresse herausfinden und Firewallregel einrichten
Bevor Sie die rinetd.conf
anpassen können, benötigen Sie die IPv6-Adresse des Zielgeräts im internen Netz und eine passende Firewallregel:
- In der FritzBox gehen Sie zu Internet -> Freigaben, klicken auf „Gerät für Freigaben hinzufügen“ und wählen das gewünschte Gerät aus.
- Die FritzBox trägt dann selbständig die IPv6-Interface-ID ein.

- Unten auf der Seite klicken Sie auf „Neue Freigabe“, legen die Portfreigabe (z.B. Port 5001 für ein Synology NAS, Freigabename z.B. HTTPS) an, wählen bei „Internetzugriff über“ ausschließlich IPv6 und bestätigen.

- Anschließend sehen Sie im Freigabe-Fenster den neuen Eintrag. Klicken Sie auf den Stift, um die vollständige IPv6-Adresse inkl. Präfix in der Spalte „IP-Adresse im Internet“ anzuzeigen, und kopieren Sie diese in die Zwischenablage.


Zurück zum Linux-Server
In der bereits geöffneten Datei /etc/rinetd.conf
fügen Sie nach dem gesamten Block
# forwarding rules come here
einen Eintrag im folgenden Format ein:

Natürlich müssen Sie dabei sowohl die vollständige IPv4-Adresse Ihres Linux-Servers als auch den gewünschten TCP-Port und die vollständige IPv6-Adresse des Zielgeräts eintragen.
Mit STRG+X, y, Enter speichern Sie die Datei und kehren zur Kommandozeile zurück.
Jetzt nur noch den rinetd neu starten
Starten Sie den rinetd-Dienst neu:
root@ubuntu:~# systemctl restart rinetd
Und einen Test durchführen
Ein Test zeigt, dass die IPv4-auf-IPv6-Weiterleitung funktioniert. Nach Eingabe der öffentlichen IPv4-Adresse des Linux-Servers öffnet sich das Webinterface der Synology DiskStation im internen Netz hinter dem Deutsche Glasfaser-Anschluss.

Aus dem Linux-Server können Sie sich jetzt ausloggen:
root@ubuntu:~# exit
Hinweise zum Schluss
Änderungen am IPv6-Präfix
Man erhält bei Deutsche Glasfaser im Privatkundentarif kein festes IPv6-Präfix. Das Präfix kann sich also ändern und damit müsste die neue IPv6-Adresse des Ziels in der rinetd.conf aktualisiert werden.
Allerdings ändert sich das Präfix bei DG wohl so selten, dass dies kein wirkliches Problem oder viel zusätzlichen Aufwand bedeutet.
Regelmäßige System-Updates
Den eingesetzten Linux-Server sollte man in regelmäßigen Abständen aktualisieren. Spätestens alle vier Wochen. Man kann das teilweise auch automatisieren. Wie das geht, dazu gibt es vielleicht mal einen weiteren Artikel.
Firewall bei Strato einrichten
Strato bietet im Kundenportal auch eine Firewall für die gebuchten Server. Hier kann man alles bis auf SSH und die gewünschten Weiterleitungsports blocken. Damit wäre das System noch besser gegen Fremdeinwirkung geschützt. Im Auslieferungszustand läuft auf den virtuellen Linux-Servern vermutlich nicht viel, was überhaupt auf Verbindungsversuche reagiert.
Statt einer Portweiterleitung lieber ein VPN verwenden
Warum man keine internen Dienste im Internet direkt zur Verfügung stellen sollte und stattdessen aus Sicherheitsgründen lieber ein VPN verwendet, erfahren Sie in diesem Artikel.
Mit großer Macht kommt große Verantwortung
Einen aus dem Internet erreichbaren Server zu betreiben, sollte man nicht auf die leichte Schulter nehmen. Es gibt schon zu viele gehackte Systeme da draußen, die für illegale Aktivitäten genutzt werden. Wenn Sie auf dem Linux-Server sonst nichts weiter betreiben, regelmäßig Updates einspielen und die Firewall aktiviert haben, sind Sie hier recht sicher unterwegs. Fühlen Sie sich unsicher oder überfordert, lassen Sie es lieber sein.
Hat Ihnen der Artikel weitergeholfen?
Falls ja, dann würde ich mich über eine Einladung zu einem Kaffee freuen:
ko-fi.com/andreasfiebig
Vielen Dank! 😉

Sie haben keine Lust zum Tüfteln?
Wenn Sie ein Unternehmen haben oder selbstständig sind, helfe ich Ihnen gerne im Rahmen einer Beratung bei der Einrichtung. Kontaktieren Sie mich.