Jaaa, da steht man nun mit seinen Diensten, die von außen erreichbar sein sollen. Nachdem ich umgezogen bin und Internet von Unitymedia bekommen habe, konnte ich kein meiner Dienste mehr von außen erreichen. Das Problem nennt sich DS-Lite von Unitymedia, hier mal eine kurze Erläuterung von Wikipedia:
Diese DS-Lite-Umsetzung führt allerdings beim Endkunden zu einem Problem: Es sind keine IPv4-basierenden Portfreigaben mehr möglich, da die Pakete an die öffentliche IP-Adresse bereits beim Provider ausgefiltert werden. Dienste, die an einem DS-Lite-Anschluss angeboten werden, können also von Geräten, die keine IPv6-Verbindungen aufbauen können, nicht erreicht werden.
Quelle: Wikipedia
Bisher gibt es mir bekannte 3 Möglichkeiten die Dienste trotzdem von außen erreichbar zu machen:
- Einen Unitymedia Business Anschluss mieten (dort bekommt man eine Feste IPv4 Adresse) und man kann wie gewohnt Ports freigeben
- Einen „Portmapper“ Dienst benutzen, wie zum Beispiel: http://www.feste-ip.net/dslite-ipv6-portmapper/universelle-portmapper/
- einen kleinen vServer im Internet mieten, OpenVPN installieren und den Client/Server der den Dienst im Heimnetzwerk verwaltet, mit dem OpenVPN Server verbinden lassen. Pakete vom VPN-Server zum Clienten weiterleiten und schon läufts .. 😉
Punkt 1 sollte selbst erklärend sein. Zu Punkt 2 gibt es auch schon tausende Anleitungen, zudem ist der Support da sehr nett und die Seite auch schon fast selbsterklärend.
Nun kommen wir zu Punkt3. Ich erkläre kurz die Vorgehensweise wie man solch einen OpenVPN Server installiert, passend konfiguriert und dann schlussendlich den Port auf den Client umleitet.
WICHTIG: Es gibt eine neue Version der Anleitung zu dem Thema: https://www.maffert.net/portweiterleitung-zugriff-von-aussen-bei-ds-lite/
Da ich die Installation von einem OpenVPN Server hier http://www.maffert.net/openvpn-server-mit-debian/ und hier http://www.maffert.net/openvpn-server-mit-debian/ schon beschrieben habe, verweise ich zum Teil auf die Beiträge.
- Den OpenVPN-Server bis einschließlich Punkt 7, wie auf http://www.maffert.net/openvpn-server-mit-debian/ beschrieben, installieren und einrichten.
- Folgender Parameter hinzufügen, um den ganzen Traffic über den OpenVPN Server zu schicken:
Datei: /etc/openvpn/server.confpush "redirect-gateway def1"
- Um sicherzustellen das der ganze IPv4-Datenverkehr weitergeleitet wird, muss folgendes auskommentiert/hinzugefügt werden:
Datei: /etc/sysctl.confnet.ipv4.ip_forward=1
- Um die Einstellungen direkt zu setzen, am besten direkt noch folgendes ausführen:
echo 1 > /proc/sys/net/ipv4/ip_forward
- iptables unser Vorhaben bei bringen:
iptables -t nat -F POSTROUTING iptables -t nat -A POSTROUTING -o eth0 -s 10.8.0.0/24 -j MASQUERADE
- Nun wie schon in meinem anderen Blog Eintrag beschrieben, nur „Punkt 9 | Zum VPN-Server verbinden“ lesen.
- wenn alles geklappt hat, ist man jetzt schon mit dem VPN-Server verbunden. Jetzt gilt es die OpenVPN IP-Adresse herauszufinden, die der Client bekommen hat. Entweder via CMD > ipconfig oder bei den Netzwerkkarten nachschauen und dort unter Status > Details …
- Möchten wir nun Beispielsweise Port 8081 an den Client mit der OpenVPN IP-Adresse 10.8.0.6 weiterleiten, muss noch folgende Regel, auf dem OpenVPN-Server erstellt werden:
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 8081 -j DNAT --to-destination 10.8.0.6:8081
- Ab diesem Zeitpunkt sollte der Port offen sein und der Dienst von außen über die IP-Adresse vom vServer erreichbar sein.
Nützlicher Tipp:
Um nicht jedes Mal nach einem Neustart die iptables Regeln wieder händisch eintippen zu müssen, kann man die auch in /etc/rc.local schreiben, so dass die bei einem Neustart automatisch geladen werden:
Datei: /etc/rc.local
#!/bin/sh -e # # [...] # # initialize natting for openvpn iptables -t nat -F POSTROUTING iptables -t nat -A POSTROUTING -o eth0 -s 10.8.0.0/24 -j MASQUERADE iptables -t nat -A PREROUTING -p tcp -m tcp --dport 8081 -j DNAT --to-destination 10.8.0.6:8081 exit 0
Hi,
Danke erstmal für die Anleitung soweit sogut hab ich es auch hinbekommen, allerdings kann ich sobald ich über diesen VPN online bin nur per IVP6 Seiten aufrufen etc. also webseiten die nur ipv4 oder programme die nur ipv4 haben klappen leider nicht. Eine Idee was ich da übersehen hab?