Generell kann man nicht von einem IPv4 Netzwerk auf ein IPv6 Netzwerk zugreifen. Das heißt, man muss einen Umweg gehen, eine andere Chance hat man nicht. An dieser Stelle kommen die Portmapper ins Spiel, so wie beispielsweise
http://www.feste-ip.net/. Was macht der Portmapper nun? Vereinfacht gesagt: Er bekommt eine Anfrage über IPv4 an den Portmapper-Server. Dieser packt das Paket um, sodass ein IPv6 Paket daraus wird und leitet dies an die IPv6 Adresse über den Port weiter. Damit wird indirekt aus der IPv4 Kommunikation eine IPv6 Kommunikation. Also möchten wir wieder vom Handy aus das Webinterface
https://123.123.123.123:5001 aufrufen, so ist in diesem Fall 123.123.123.123 die IP Adresse des Portmapper-Server, welcher auf den Port 5001 die Pakete annimmt und diese umpackt und an die IPv6 des NAS 2001:db8:affe:0:0:1ff:e14:1234 auf dem Port 5001 weiterleitet. Das NAS antwortet dem Portmapper-Server und dieser leitet die Information dann an das Handy zurück. Das bedeutet, dass jedes Datenpaket über den Portmapper-Server muss. Daher sollte man hier keinesfalls unverschlüsselte Kommunikation verwenden - sollte man aber generell sowieso nicht!
Wie richte ich nun so einen Portmapper über feste-ip.net ein?
Also zunächst muss in der Fritzbox die Port
freigabe für IPv6 angelegt werden. In den neueren FritzOS Versionen ist Freigabe und Weiterleitung im gleichen Menü, nämlich unter "Internet" --> "Freigaben" --> "Portfreigaben" Hier fügt man über den Button "Gerät für Freigaben hinzufügen" ein neues Gerät hinzu und wählt das Gerät - also das NAS - aus. Über "Neue Freigabe" legt man entsprechende Portfreigaben an, z.B. 5001 und 443.
Anschließend muss man die IPv6 des NAS noch rausfinden. Meiner Erfahrung nach ändert sich die IPv6 auch nahezu nie, da bei mir das Präfix seitens des Providers gleich bleibt. Die IPv6 steht in DSM im Webinterface:
Alternativ kann man aber auch im DSM unter "Externer Zugriff" einen DDNS anlegen und dort z.B. Synology als Betreiber auswählen und sich eine blablabla.synology.me Adresse machen, in dieser ist dann auch immer die aktuelle IPv6 hinterlegt. Die hinterlegte IPv4 ist aber nicht nutzbar, da dies die vom Provider Router ist! Hier kann man später dann manuell eine einstellen, wenn man die vom Portmapper eintragen möchte - dazu aber später nochmal.
Man kann dann z.B. über diese Seite
http://www.ipv6scanner.com/cgi-bin/main.py noch prüfen, ob die IPv6 Freigabe erfolgreich war. Einfach die IPv6 des NAS eintragen sowie den freigegebenen Port und auf Scan drücken. Das Ergebnis sollte grün und "Open" sein.
Nun widmen wir uns dem Portmapper Dienst bei
http://www.feste-ip.net/. Es handelt sich um einen "Universellen Portmapper" den man erstellen muss. Dafür benötigt man einen Account und man hat aber 50 Credits Guthaben zum Testen, das heißt ca. 50 Tage kann man den Portmapper testen. Man geht also auf "Universelle Portmapper" und wählt neben "Universelle - IPv6 <-> IPv4 Portmapper" das Plus aus. Als Mapping-Server würde ich einen wählen, der geographisch in deiner Nähe steht. Das Feld Alias kann nach belieben ausgefüllt werden muss aber nicht gefüllt werden. In das Feld "DNS oder IPv6 Ziel" kommt jetzt die IPv6 des NAS oder der blablabla.synology.me DDNS. Unten bei Ports trägt man jetzt die Ports ein, die man freigeben möchte; also z.B. 443 und 5001.
Mit einem Klick auf "System eintragen und Portmappings erstellen" wird das Portmapping angelegt. Man landet wieder in der Übersichtsseite bei der ich auf ein paar Details eingehen möchte die sehr essentiell sind. In der Spalte "Hostname" taucht das auf, was in das Feld "DNS oder IPv6 Ziel" eingetragen wurde. Also sollte da die IPv6 oder die DDNS des NAS stehen. Bei IPv6 Zielport sollten die Ports stehen, die in der FritzBox freigegeben wurden für das NAS. In der letzten Spalte "IPv4 Mapping über" steht zunächst die Domain über die man per IPv4 das Ziel erreichen kann und jeweils ein zum IPv6 zugewiesener IPv4 Port (hier 41197 und 59932).
Was bedeutet das nun? Es bedeutet, damit ich jetzt vom Handy aus das Webinterface für DSM vom NAS aufrufen kann gebe ich nun
https://asdfasdfasdf.feste-ip.net:59932 ein. Nun warum plötzlich 59932 und nicht mehr 5001? Dies liegt daran, dass die Ports zufällig generiert werden - man kann sich die Ports für IPv4 "nicht" auswählen. Das ist natürlich nicht ganz optimal, da man jetzt über IPv6 mit dem Port 5001 und über IPv4 von extern mit dem Port 59932 aus zugreifen muss. Gebe ich in der Smartphone App jetzt immer asdfasdfasdf.feste-ip.net:59932 ein, so geht der Traffic immer über den Portmapper Server. Dies möchte man natürlich vermeiden, wenn man an einem IPv6 Anschluss sitzt, dann soll am besten eine direkte Verbindung über IPv6 aufgebaut werden. Das heißt, es wäre schön, dass der IPv6 Zielport gleich dem IPv4 Mapping Port ist.
Hier gibt es jetzt zwei Optionen. Eine ist kostenlos und die andere kostenpflichtig. Ich fange mit der kostenlosen an.
Im Fenster, in dem wir vorhin die Ports und IPv6 Zieladresse beim Portmapper eingetragen haben, gibt es unten das Auswahlfeld 1:1 Portmapper. Dort kann man sich bis zu 4 Ports auf einmal erstellen lassen, die 1:1 gemapped werden. Das sieht dann nach bestätigen so aus:
Die Ports werden zufällig generiert, man hat keinen Einfluss darauf. Die IPv6 Zielports müssten entsprechend im Router freigegeben werden und man würde das DSM nun von Port 5001 auf 48567 umstellen. Damit kann ich es erreichen, dass der IPv6 und IPv4 Port identisch sind. Damit ich mir jetzt in der Handy App keine Gedanken mehr machen muss, müssen wir noch einmal den DDNS Eintrag im NAS anpassen.
Im Fenster klickt man auf den Button "Externe IP einstellen". Hier lässt man die IPv6 wie sie ist, da diese bereits korrekt ist. Die IPv4 Adresse möchten wir aber verändern. Dann ist es nicht mehr die IPv4 Adresse des Anschlusses (bzw. des Routers vom Provider) sondern es soll die IPv4 Adresse des Portmapper-Server eingetragen werden. Diese kann man sich z.B. über die Webseite
https://ping.eu/nslookup/ heraussuchen, indem man die Domain einträgt die in der Spalte "IPv4 Mapping über" beim Portmapper steht. Ping.eu macht dann einen DNS Lookup und gibt die IP-Adresse des Portmapper-Servers aus, die wir in die DDNS eintragen können.
Gebe ich jetzt im Handy die Domain
https://asdfasdfasdf.synology.me:48567 ein, dann wird im Falle eines verfügbaren IPv6 Netzwerks das NAS direkt über die IPv6 angesprochen oder ansonsten über den Portmapper via IPv4 geleitet. Standardmäßig versuchen die Geräte aber zunächst die IPv6 direkt anzufragen, sodass man den Portmapper nur dann nutzt wenn es nicht anders geht.
Die kostenpflichtige Variante ist die Buchung eines dedizierten IPv4 Portmappers (2 Tage kostenlos testbar). Dies bedeutet, dass man eine eigene IPv4 Adresse bekommt die der Portmapper hat und man kann die Ports vollständig frei wählen. Das heißt, ich kann dann auch 5001 auf 5001 mappen oder auch 443 auf 443. Es werden keine zufälligen Ports generiert. Den dedizierten Portmapper kann man sich unter "Credits & Addons" auf dem Button "Addonbuchung" bestellen. Hier wählt man "Dedizierte Portmapper-IPv4" aus. Hat man diesen bestellt geht man wieder zum "Universellen Portmapper" und erstellt einen neuen Portmappereintrag. Als Mapping-Server wählt man nun den "Dedizierte Portmapper-IPv4" aus. Das Formular verändert sich in diesem Fall und man trägt links den gewünschten IPv4 Port (z.B. 5001) und rechts den gewünschten IPv6 Port (also ebenfalls 5001) ein. In die Mitte "IPv6 Ziel (DNS oder IP)" kommt wieder die IPv6 oder die DDNS des NAS. Wenn man diesen Portmapper angelegt hat sieht man in der Spalte "IP" die IPv4 Adresse die der eigene Portmapper hat. Diese IPv4 Adresse kann man dann wieder bei der Synology DDNS hinterlegen, um wieder zu erreichen, dass die Kommunikation automatisch über das passende Protokkoll beim Aufruf der DDNS stattfindet. Der Vorteil ist, man muss nicht die Ports im DSM verändern.
Wenn man alles erfolgreich eingetragen hat, dann kann man den IPv6 Scanner
http://www.ipv6scanner.com/cgi-bin/main.py noch einmal die Synology DDNS Domain scannen lassen. Er sollte nun anzeigen, dass IPv4 und IPv6 der Port grün "Open" ist.
Noch ein paar Hinweise:
- Es funktionieren nur TCP Ports! UDP Ports können nicht gemapped werden. Dies ist relevant für VPNs - OpenVPN kann aber über TCP arbeiten!
- Verwende nur verschlüsselte Kommunikation, da die Daten über den Portmapper gehen, sonst kann der die Pakete auslesen!
- Nur wenn die DDNS die IPv4 des Portmappers und die IPv6 des NAS hinterlegt hat und die Ports für IPv4 und IPv6 gleich sind, muss man sich keine Gedanken beim Aufrufen der Dienste wegen der Kommunikationswege machen. Ansonsten ist der Port jeweils anzupassen.
- Wenn du über IPv4 zugreifst (also über den Portmapper) und dann die IP Adresse blockierst (z.B. zu häufig falsches Passwort), dann wird kein Zugriff mehr über den Portmapper gehen, denn alle User haben die gleiche IP-Adresse bei Verwendung des Portmappers, da für das NAS nur dieser in Erscheinung tritt!
- Man kann beim Synology NAS nicht alle Ports verändern. Nutzt man z.B. HyperBackup Vault oder so kommt man um einen dedizierten Portmapper nicht herum!
- Natürlich ist es egal welchen DDNS Dienst man verwendet. Ich habe bei mir auch die IP-Adressen bei nem Hoster hinterlegt und mir zu nutze gemacht, dass sich die IPv6 eigentlich nie ändert und die IPv4 des dedizierten Portmappers sowieso nicht. Wichtig ist nur, dass eine Domain existiert die die korrekte IPv6 und IPv4 hinterlegt hat.
- Meines Wissens hat die Connect Box von Unitymedia Probleme mit IPv6 Freigaben