
boba
Über (dynamic) DNS. Ipv6 Adressen kann sich ja niemand merken, das geht nur noch über DNS. Für Zugriff lokal macht das in aller Regel der Router. Bei meiner Fritzbox beispielsweise sind alle lokalen Geräte als gerät1.fritz.box, gerät2.fritz.box usw. zugreifbar, ohne dass ich irgendwas dafür konfigurieren müsste. Das macht die Fritzbox von selbst.Wie kannst Du dabei den Überblick behalten, hinter welcher IPv6 ein bestimmtes internes Gerät steckt?
Wenn es um den Zugriff aus dem Internet geht: ddns Dienste. Ich muss gestehen, dass ich nicht weiß, wie gut ipv6 von aktuellen dynamic dns Providern unterstützt werden. Weil das vor einigen Jahren noch nicht akzeptabel war, habe ich als kleines Projekt ein eigenes ddns gebaut. Heute geht das, was ich nachfolgend beschreibe, bestimmt auch mit öffentlichen Diensten.
Sieht bei mir wie folgt aus:
- Ich habe für mich seit Urzeiten eine Domain, über die auch meine email läuft. Nennen wir sie example.org. Auf www.example.org läuft ein Webserver, ein vps bei Hosteurope. Dort drauf läuft der primary name server für example.org (mit bind).
- Meinem internen LAN zuhause habe ich eine subdomain gegeben: home.example.org.
- Allen lokalen Systemen habe ich Namen gegeben, sowas wie pc1.home.example.org, geraet2.home.example.org, iot3.home.example.org.
- Diese Geräte laufen alle völlig unkonfiguriert was ipv6 angeht, d. h. sie ermitteln selbständig ihre ipv6 Adresse mit SLAAC über den Prefix, der über die Fritzbox reinkommt, plus den selbstberechneten Host-Anteil.
- Den ipv6-Hostanteil sieht man in der Fritzbox unter Internet->Freigaben->Portfreigaben in der Spalte "IP-Adresse". Der ist konstant, da von der MAC Adresse abgeleitet.
- Die Hostanteile aller meiner Geräte habe ich auf dem vps in eine Datenbank eingetragen.
- Um die ipv6 Adresse zusammenzubasteln, benötigt man noch den Prefix. In der Fritzbox gibts in Internet->Freigaben->DynDNS die Möglichkeit, ein custom ddns zu definieren. Dort gibts den Parameter <ip6lanprefix>, der den Prefix ergibt. Dort habe ich dann die folgende Update-URL definiert: "http://www.example.org/dns/update.php?username=<username>&password=<pass>&hostname=<domain>&ip6=<ip6addr>&ip6prefix=<ip6lanprefix>&ds=<dualstack>"
- Wann immer die Fritzbox sich neu verbindet, wird diese URL von der Fritzbox automatisch aufgerufen mit entsprechend ausgefüllten Werten.
- Auf dem vps habe ich ein php Skript geschrieben, das diesen Aufruf entgegennimmt.
- Kommt der Aufruf, geht das Skript alle Geräte in der Datenbank durch und kombiniert den gespeicherten Hostanteil mit dem übergebenen ip6lanprefix und produziert damit die für jedes Gerät neue gültige ipv6 Adresse.
- Für jede ipv6 Adresse ruft er dann für den bind ein nsupdate auf, mit dem die ipv6 Adresse entsprechend für bind aktualisiert wird.
Ich schätze, eine ähnliche Funktionalität mit dem Prefix-Update bieten auch öffentliche ddns Dienste. Geht natürlich auch klassisch mit Update-Agent auf jedem Endgerät wie bei ipv4, aber das ist halt deutlich aufwändiger, weil man jeden Client anfassen muss, und ein Update-Agent kann unter Umständen nicht zwischen einer via privacy Extensions generierten temporären (und damit für den Fernzugriff nutzlosen) ipv6 Adresse und der primären permanenten ipv6 Adresse unterscheiden.