FTTH mit IPv6 (DG)
Seit 15.7.2020 habe ich einen Glasfaser-Anschluss, der technisch ein paar Anforderungen mitbringt. Es ist ein "Consumer"-Anschluss ohne statische IPv4-Adresse, was natürlich neue Herausforderungen an mein Home-Lab mitbringt. Ich habe zwar eine IPv6-Adresse aber keine öffentliche IPv4-Adresse. Die könnte ich durch den Wechsel auf einen "Business"-Anschluss natürlich bekommen aber ich nutze diese Change die Möglichkeiten mit dynamische Adressen auszuloten. Die IPv4-Knappheit betrifft ja auch andere Firmen und vielleicht ist IPv6 ja schon ein vollwertiger Ersatz.
Fritz!Box mit IPv6 und CGN
Die "Besonderheit" des Anschlusses sehen Sie schon im Übersichtsbild der Fritz!Box: Das Bild wurde am 24.7 aufgenommen, d.h. die Verbindung steht schon mal über 24h und wurde nicht abgebaut. Interessanter sind aber die IP-Adressen:
- IPv4 aus 100.64.0.0/10 (100.64.0.0 bis 100.127.255.255 =
4.194.304 Adressen)
Entgegen dem ersten Anschein sind das keine öffentlich routbaren Adressen, sondern besondere "Private Adresse" des Providers, der damit seinen Kunden eine im Internet nie genutzte "shared" IP-Adresse geben und per NAT umsetzen kann. Im Umkehrschluss bedeutet das aber, dass meine Fritz!Box und damit auch dahinter veröffentlichte Dienste nicht aus dem Internet erreichbar sind. - IPv6 Adresse und 56er Präfix
Bei IPv6 gib es nicht die Knappheit, so dass der Provider einen großen IPv6-Adressbereich bekommen kann und jeden Kunde nicht nur eine Adresse sondern gleich einen kompletten Bereich zuweisen kann.
Ich habe also 8 Bit (= 256 Subnetzes).
Hinweis:
Die IP-Adressen sind nicht auf immer statisch dem Kunden zugewiesen. Ab und an
ändern sich die IPv6-Adressen. Sie können Sie also nicht für eingehende
Verbindungen ohne dynamische DNS-Einträge nutzen.
Fernzugriff auf Heimnetz über IPv6
https://www.new.de/fileadmin/user_upload/new.de/Dokumente/Glasfaser/Fernzugriff_mittels_IPv6_ueber_DG_Router.pdf
Auf der anderen Seite ist so eine statische Zuordnung natürlich auch wieder kritisch zu sehen, da ihr Client dann im Internet recht gut identifizierbar ist. die früher zumindest alle 24h geänderte öffentliche IP-Adresse ist so plötzlich ein eindeutiges Kriterium.
- Carrier Grade NAT
-
IPv6 statt
Cookie-Tracking
Persistente IPv6-Netzwerke am FTTH-Anschluss erlauben Benutzertracking - IP-Adresse
https://de.wikipedia.org/wiki/IP-Adresse - Reserved IP addresses
https://en.wikipedia.org/wiki/Reserved_IP_addresses - Carrier grade NAT (CGN)
https://de.wikipedia.org/wiki/Carrier-grade_NAT - RFC 6598 IANA-Reserved IPv4 Prefix for Shared Address Space
https://tools.ietf.org/html/rfc6598 - Reservierte IPv4-Adressen
https://www.heise.de/Reservierte-IPv4-Adressen-3484192.html
IPv4 und IPv6
Ich habe also eine IPv4-Adresse mit 100.75/16, die nicht aus dem Internet erreichbar ist und eine IPv6-Adresse und ein IPv6 Subnetz, von denen aber nicht sicher ist, dass sie mir auf Dauer erhalten bleiben. Also gibt es einige Werge zur Veröffentlichung eigener Dienste, die mit einem Internet-Anschluss der "Deutschen Glasfaser" nicht funktionieren.
Client | DG IP 100.75.x.x oder IPv6 | Backend Server | Status | Beschreibung |
---|---|---|---|---|
IPv4Only |
IPv4 |
IPv4 |
Die 100.75.x.x Adresse aus dem "Provider Shared Space" ist nicht aus dem Internet erreichbar |
|
IPv4Only |
IPv6 |
IPv4 |
Ein IPv4Only Client kann nicht die offizielle IPv6 Adresse erreichen |
|
IPv4Only |
IPv4 |
IPv6 |
Wenn die Fritz!Box oder ein anderer Proxy oder Service den Zugriff auf die IPv4-Addresse auf eine IPv6-Adresse des internen Service umsetzen kann (Siehe PortProxy - ReverseNAT mit Windows), dann ist die Erreichbarkeit möglich. | |
IPv4Only |
IPv6 |
IPv6 |
Ein IPv4Only Client kann nicht die offizielle IPv6 Adresse erreichen |
|
IPv6 Client |
IPv4 |
IPv4 |
Ein IPv6Only Client kann eine offizielle IPv4 Adresse nur erreichen, wenn der Provider mithilft und die Namensauflösung (DNS64) und Routing über NAT64 umsetzt. Diese Technik nutzt z.B. auch Direct Access mit DA Namensauflösung. besser ist es IPv6 direkt zu nutzen | |
IPv6 Client |
IPv4 |
IPv6 |
Auch hier ist NAT64/DNS64 erforderlich und zusätzlich müssen Sie noch IPV4 auf IPv6 per Proxy umsetzen. Ja, es sollte gehen aber mir sind es zu viele Komponenten |
|
IPv6 Client |
IPv6 |
IPv4 |
Diese Fall beschreibt einen Service, der selbst nicht per IPv6 erreichbar ist. Der Client kann die öffentlichen IPv6-Addresse nutzen aber sie brauchen dennoch eine aktive Komponente, die Verbindung auf eine IPv4-Adresse umsetzen, z.B. PortProxy oder NAT64. |
|
IPv6 Client |
IPv6 |
IPv6 |
Der Fall ist natürlich einfach, da nur IPv6 zum Einsatz kommt. |
Veröffentlichen
Die vorige Tabelle hat gut gezeigt, dass einige Varianten ausscheiden, die reine IPv6-Option ideal wäre aber für die Koexistenz mi IPv4-Systemen doch noch ein Weg bereitgestellt werden sollte. Ob ihr eigener IP-Anschluss komplett IPv6-tauglich ist, können Sie z.B. mit folgender Webseite mal schnell testen:
Eine 10/10 ist der ideale Fall. Aber leiden haben nicht alle Anbindungen hier eine "10" und daher habe ich mir Gedanken gemacht, wie ich z.B. meinen eigenen PRTG-Server von extern erreichbar machen kann, damit ich auch zukünftig mit im meinem Smartphone den Status meiner Dienste sehen kann. Es gibt durchaus Optionen:
Option | IPv4only Client | IPV6 Client |
---|---|---|
Direkte IP-VeröffentlichungIch kann über meinen DSL-Router natürlich den internen Service oder Host nach extern veröffentlichen. Jeder, der damit an die öffentlichen IP-Adresse des Routers kommt, kann den Dienst erreichen. Mit dem DG-Anschluss bedeutet das aber
Sie sehen selbst, dass diese Option nur möglich ist, wenn der Client eine IPv6-Adresse auflösen und erreichen kann. Aber der Backend-Service selbst muss auch IPv6 annehmen, denn die Fritz!Box macht kein NAT zwischen IPV4 und IPv6 |
Nein | Ja |
Cloud ProxyAuf der Seite Azure AD Application Proxy habe ich ausführlich beschrieben, wie Microsoft Azure mir eine öffentlichen HTTP-Adressen bereitstellt und alle Zugriff über einen intern installierten AppProxy an einen lokalen Server weiter gibt. Das funktioniert wunderbar aber erfordert natürlich ein Lizenz ($) |
Ja | Ja |
IPv6-VPNWenn der Zugriff nur für mich und meine bekannten Geräte gefordert ist, dann könne ich natürlich auch ein VPN vom Client zu einem Server per IPv6 aufbauen und dann mich in in meinem privaten Netzwerk tummeln. Das geht dann sogar mit IPv4. Allerdings muss das VPN natürlich über IPv6 aufgebaut werden, da nur die IPv6-Adresse eine öffentliche Adresse ist. Über das VPN gewinne ich natürlich zusätzliche Sicherheit durch Verschlüsselung aber vor allem auch durch die Authentifizierung der Client z.B.: per Zertifikate o.ä. |
Ja | Ja |
IPv6 zu IPv4 ProxyOhne öffentlich erreichbare IPv4-Adresse kann ich aber Clients immer noch auf eine IPv6-Addresse lenken. Ich muss dann intern aber reine IPv4-Dienste mit etwas Hilfestellung erreichbar machen. Voraussetzung ist nur, dass der Client die IPv6-Adresse erreichen kann. Die Umsetzung von IPv6 auf IPv4 kann eine Firewall, ein HTTP-Proxy oder auch der Windows PortProxy übernehmen. Eine Fritz!Box kann das leider nicht mit Bordmitteln. |
Ja | Ja |
IPv6 Analyse
Es war damit mal an der Zeit die IP-Adressen genauer zu untersuchen. Meine Fritz!Box hat mir im "Online-Monitor" ja solche Daten geliefert:
verbunden seit 22.07.2020, 13:28 Uhr, IPv6-Adresse: 2a00:6020:1000:3:67:5a0b:1ee1:d90c, Gültigkeit: 3482/2132s, IPv6-Präfix: 2a00:6020:13fa:d300::/56, Gültigkeit: 3482/2132s
Das scheint eine "öffentliche IPv6-Adresse" in einem /56er Subnetz zu sein. Auch meinen Client habe ich dann per IPCONFIG /ALL meine IPv6-Adressen kontrolliert:
PS C:\> ipconfig /ALL Windows-IP-Konfiguration Ethernet-Adapter vEthernet (Extern): Verbindungsspezifisches DNS-Suffix: fritz.box Beschreibung. . . . . . . . . . . : Hyper-V Virtual Ethernet Adapter #3 Physische Adresse . . . . . . . . : F2-20-7A-B3-66-42 DHCP aktiviert. . . . . . . . . . : Ja Autokonfiguration aktiviert . . . : Ja IPv6-Adresse. . . . . . . . . . . : 2a00:6020:13fa:d300:e569:f4df:70eb:442e(Bevorzugt) Temporäre IPv6-Adresse. . . . . . : 2a00:6020:13fa:d300:d062:a007:3e65:45f2(Bevorzugt) Verbindungslokale IPv6-Adresse . : fe80::e569:f4df:70eb:442e%99(Bevorzugt) IPv4-Adresse . . . . . . . . . . : 192.168.178.91(Bevorzugt) Subnetzmaske . . . . . . . . . . : 255.255.255.0 Lease erhalten. . . . . . . . . . : Sonntag, 21. Juni 2020 22:52:14 Lease läuft ab. . . . . . . . . . : Freitag, 7. August 2020 11:51:38 Standardgateway . . . . . . . . . : fe80::cece:1eff:fe34:3d04%99 192.168.178.1 DHCP-Server . . . . . . . . . . . : 192.168.178.1 DHCPv6-IAID . . . . . . . . . . . : 1676812410 DHCPv6-Client-DUID. . . . . . . . : 00-01-00-01-22-75-DA-8C-8C-16-45-70-A0-EF DNS-Server . . . . . . . . . . . : fd00::cece:1eff:fe34:3d04 192.168.178.1 fd00::cece:1eff:fe34:3d04 NetBIOS über TCP/IP . . . . . . . : Aktiviert
Mein Client hat eine normale und eine "temporäre" IPv6-Adresse. Über die statische Adresse können andere Systeme meinen Client ansprechen, während mein Client ausgehende Verbindung über die temporäre Adresse aufbaut. Sie können dies z.B. mit Wireshark kontrollieren. Diese zweite Adresse kann der Client immer wieder ändern und damit in Grenzen eine Zuordnung erschweren.
Das betrifft aber nur den individuellen Client. Die Gegenseite sieht aber auch nach dem Wechsel immer noch das "Subnetz" des Client und bei NAT64 die IP-Adresse des FTTH-Anschlusses.
Über test-ipv6.com können Sie sehr einfach ihre IPv6-Adresse ermitteln, Wie sie von der Gegenseite gesehen wird.
Ist es ein Risiko, wenn ich die Adresse hier
veröffentliche?
Aus meiner Sicht nicht, denn sie ist nur
temporär und ändert sich. Es ist sehr aufwändig 2^64
Adressen pro 256 Subnetze, die ich auch noch habe, durchzuprobieren und dann noch drauf zu hoffen,
dass die Fritz!Box eingehende Verbindungen zulässt UND mein
Client diese auch noch durchlässt.
Interessant ist hier auch die IPv4-Adresse (Im Beispiel 94.31.84.48). Diese Adresse habe ich weder an meinem PC noch meiner Fritz!Box sondern diese ist das NAT-System für IPv4-Zugriffe. Die Kette der Systeme ist für IPv4 undIPv6 unterschiedlich.
Ausgehend sehen Sie, dass IPv6 sehr direkt dort hin geht während IPv4-Ziele durch das NAT des eigenen Routers als auch durch das NAT des Providers laufen. Das sehen Sie auch beim TraceRoute.
Traceroute | Traceroute -6 outlook.office365.com | Traceroute -4 outlook.office365.com |
---|---|---|
Stationen |
1 1 ms 1 ms 1 ms fritz.box 2 * * * Zeitüberschreitung der Anforderung. 3 * * * Zeitüberschreitung der Anforderung. 4 15 ms 15 ms 16 ms 2001:7f8:1::a500:8075:1 5 15 ms 15 ms 15 ms ae21-0.icr01.ams21.ntwk.msn.net 6 16 ms 15 ms 16 ms 2603:10a0:30f:9101::6 7 14 ms 16 ms 16 ms 2603:10a0:30f:9001::6 8 14 ms 13 ms 13 ms 2603:10a0:30f:9300::f6 9 15 ms 16 ms 15 ms 2603:10a0:304:c::fa 10 26 ms 27 ms 18 ms 2603:10a0:304:80a6:: 11 15 ms 15 ms 14 ms 2603:1026:204::2 |
1 1 ms 1 ms 1 ms fritz.box [192.168.178.1] 2 6 ms 9 ms 5 ms 100.68.0.1 3 9 ms 10 ms 10 ms 100.127.1.13 4 9 ms 11 ms 9 ms 185.22.46.72 5 * * 14 ms ams-ix-1.microsoft.com [80.249.209.20] 6 16 ms 18 ms 13 ms ae21-0.icr01.ams21.ntwk.msn.net [104.44.232.164] 7 * * * Zeitüberschreitung der Anforderung. 8 * * * Zeitüberschreitung der Anforderung. 9 * * * Zeitüberschreitung der Anforderung. 10 * * * Zeitüberschreitung der Anforderung. 11 * * * Zeitüberschreitung der Anforderung. 12 14 ms 13 ms 13 ms 52.97.170.34 |
Der Weg über IPv4 enthält einen weiteren Hop, der beim IPv6 entfällt.
IPv6 und DNS64/NAT64
Anscheinend hat Deutsche Glasfaser kein DNS64/NAT64 implementiert. Wenn ich meinem Client die IPv4-Adresse weg nehmen, dann kann ich keine IPv4-Gegenstellen mehr erreichen. Für ein richtiges IPv6Only-Deployment wäre aber das natürlich eine Voraussetzung.
- Mein Client frage per DNSv6 einen Namen
ab.
Er hat in dem Beispiel ja keine eigene IPv4-Adresse mehr und kann keinen IPv4-DNS-Server abfragen - Der DNS-Resolver "erkennt", dass die
Gegenstelle kein IPv6 liefert
In dem Fall liefert der DNS-Server dann eine IPv6-"NAT"-Adresse die auf die IPv4-Adresse verweist. Die beginnen übrigens alle mit dem Prefix "64:ff9b::" gefolgt von der IPv4-Adresse. Es sind natürlich auch andere Adressen denkbar. Das liegt im Verantwortungsbereich des Providers. - Der Client verbindet sich zur
IPv6-NAT-Adresse
Per Routing laufen die Pakete zu einem System von DG, welches anhand der IPv6-Zieladresse die reale IPv4-Adresse ermitteln und umsetzen kann
Technisch ist das alles schon lange spezifiziert aber ich muss natürlich den DNS64-Server des Providers fragen.
- Tunnelkomponenten
- NAT64
https://de.wikipedia.org/wiki/NAT64 - RFC 6146 - „Stateful NAT64“. Beschreibt den eigentlichen NAT64-Mechanismus
- RFC 6147 - „DNS64“. Beschreibt den für den Betrieb von NAT64 wichtigen Mechanismus DNS64
- RFC 6052 - IPv6 Addressing of IPv4/IPv6 Translators
- RFC 8215 - Local-Use IPv4/IPv6 Translation Prefix
IPv6 per DNS/DDNS
Sie wissen nun, dass IPv4 von extern ohne Hilfe nicht erreichbar ist aber die IPv6-Adresse durchaus genutzt werden kann. Wenn die IPv6-Adresse statisch ist, dann kann ich diese in einem externen DNS-Server natürlich fest hinterlegen. Sollte sich die IPv6-Adresse eines Service dennoch mal ändern, dann muss ich dann natürlich nachsteuern. In meinem Fall habe ich eine Fritz!Box, bei der ich aber die internen Systeme explizit freigeben muss:
Sie sehen hier drei Freigaben, die aber alle nicht "offen" sind. Den Port 25 leite ich auf einen Notebook, der als Spamtrap und Honeypot fungiert. Mich interessiert ja schon, welche unterschiedlichen Angriffe auf Endkunden-Anschlüsse gefahren werden. Der zweite Eintrag ist eine Gegenstelle meines End2End-UDP3478-Skripte, welches ich nur bei Bedarf starte. Der dritte Eintrag ist aber ein PRTG-Server der so über IPv6 aus dem Internet erreichbar sein könnte.
Interessant ist in dem Zuge, dass die Fritz!Box selbst ja einen "DynDNS"-Dienst (MyFritz) enthält. Die Box registriert sich damit mit meinem Konto beim DNS-Server von AVM und erlaubt mit den Zugriff über einen "langen" Namen. Der Hostname sind 16 Stellen mit Buchstaben und zahlen, also ca. 36^16 Kombinationen und registriert sowohl die IPv4- als auch IPv6-Adresse, wie sie der Fritz!Box bekannt sind. Ein NSLOOKUP zeigt dies:
C:\>nslookup 1234567890abcdef.myfritz.net Server: fritz.box Address: fd00::cece:1eff:fe34:3d04 Nicht autorisierende Antwort: Name: 1234567890abcdef.myfritz.net Addresses: 2a00:6020:1000:3:67:5a0b:1ee1:d9c0 100.75.251.69
Die IPv6-Addresse verweist auf die richtige Box und erlaubt mir von extern die Steuerung, wenn ich dies zulassen. Allerdings setzt die Fritz!Box keine Ports auf interne System um und daher ist diese Information nicht weiter hilfreich. Die IPv4-Adresse zeigt aber auf die "Carrier grade NAT"-Adresse ist und ist so gar nicht nutzbar.
Insofern sind beide Adressen nicht für weitere Dienste geeignet.
Auch meine Synology kann einen DDNS-Dienste nutzen. Hier sehen wir eine andere IPv6-Addresse, die so tatsächlich erreichbar wäre, wenn Sie denn in der Fritz!Box auch zugelassen wäre.
Auf der anderen Seite ist aber die ebenfalls registrierte IPv4-Adresse natürlich wertlos, da sie auf den NAT-Service des Zugangsproviders verweist und der sicher keine Zugriffe auf Port 443 genau auf meine Box weiter leitet. Der MyFritz!-Service nutzt also die von der Fritz!Box selbst lokal ermittelte IP-Adresse während Synology sich die Adresse nimmt, die als Quell-IP im Internet sichtbar ist.
Aktuell sieht es so aus, als ob ich meine 265 IPv6-Subnetze statisch behalte und daher kein DDNS brauche. Ich geben einfach die gewünschten Systeme mit den Ports in der Fritz!Box frei und addiere im Internet einen statischen AAAA-Eintrag bei meinem Webhosting-Provider
Wer IPv6-Dienste direkte registrieren will, sollte das direkt auf dem Sever machen, wie es z.B. die Synology vormacht. Eine Freischaltung auf der Fritz!Box ist natürlich zusätzlich erforderlich.
- Quickstart: Create an Azure DNS zone and record using the Azure portal
https://docs.microsoft.com/de-de/azure/dns/dns-getstarted-portal - Building a simple and secure DNS updater for Azure DNS with PowerShell
https://jussiroine.com/2018/06/building-a-simple-and-secure-dns-updater-for-azure-dns-with-powershell/ - Domain mit statischer IP-Adresse
verbinden
https://www.ionos.de/hilfe/domains/ip-adresse-konfigurieren/domain-mit-statischer-ip-adresse-verbinden/ - AAAA-Record kurz erklärt
https://www.ionos.de/hilfe/domains/glossar-domain-fachbegriffe-verstaendlich-erklaert/aaaa-record/ - Domain mittels Dynamischen DNS mit einem
Netzwerk mit wechselnder IP verbinden
(Linux)
https://www.ionos.de/hilfe/domains/ip-adresse-konfigurieren/domain-mittels-dynamischen-dns-mit-einem-netzwerk-mit-wechselnder-ip-verbinden-linux/
Deutsche Glasfaser - Freigaben ins Internet IPv6
https://www.youtube.com/watch?v=bGXi52UjdvA
PortProxy für IPv4
Nun ist der Weg aus dem Internet zu jeder IPv6-Adresse möglich aber leider gibt es immer noch Dienste, die selbst kein IPv6 sprechen. Dazu gehörte im Juni 2020 auch noch der PRTG-Server.
- Web GUI from IPv6 Client
https://kb.paessler.com/en/topic/46963-web-gui-from-ipv6-client
Ich muss mir also etwas überlegen, wie ich eine Anfrage auf eine IPv6-Adresse auf die IPv4-Adresse umsetze. Sicher kann ich dazu nun einen Loadbalancer, ReverseProxy o.ä. aufbauen und konfigurieren. Das muss ich aber gar nicht, denn das Bordmittel "PortProxy" von Microsoft Windows enthält diese grundlegende Funktion. Es wird leider nur per Kommandozeile konfiguriert aber kann zwischen IP-Adressen umsetzen.
Die Online-Hilfe zeigt die Möglichkeiten sehr gut auf:
C:\>netsh interface portproxy show Folgende Befehle sind verfügbar: show all - Zeigt alle Portproxyparameter an. show v4tov4 - Zeigt Parameter für Proxyvorgang von IPv4-Verbindungen mit anderem IPv4-Port an. show v4tov6 - Zeigt Parameter für Proxyvorgang von IPv4-Verbindungen mit IPv6 an. show v6tov4 - Zeigt Parameter für Proxyvorgang von IPv6-Verbindungen mit IPv4 an. show v6tov6 - Zeigt Parameter für Proxyvorgang von IPv6-Verbindungen mit anderem IPv6-Port an. C:\>netsh interface portproxy add v6tov4 Mindestens ein erforderlicher Parameter wurde nicht angegeben. Überprüfen Sie die erforderlichen Parameter und geben Sie sie erneut ein. Ungültige Syntax. Weitere Informationen finden Sie in der Hilfe des Befehls. Syntax: add v6tov4 [listenport=]<Ganze Zahl>|<Dienstname> [connectaddress=]<IPv4-Adresse>|<Hostname> [[connectport=]<Ganze Zahl>|<Dienstname>] [[listenaddress=]<IPv6-Adresse>|<Hostname>] [[protocol=]tcp] Parameter: Tag Wert listenport - IPv6-Port, der abgehört werden soll. connectaddress - IPv4-Adresse, mit der eine Verbindung hergestellt werden soll. connectport - IPv4-Port, mit dem eine Verbindung hergestellt werden soll. listenaddress - IPv6-Adresse, die abgehört werden soll. protocol - Zu verwendendes Protokoll. Derzeit wird nur TCP unterstützt. Anmerkungen: Fügt einen Eintrag für das Abhören von IPv6 und Proxy-verbindungen, die mit IPv4 hergestellt werden, hinzu.
Hier interessiert mich die Funktion "v6tov4" mit der ich Zugriffe auf einen Port einer IPv6-Adresse auf eine andere IP-Adresse und Port weiterleiten kann.
Ich habe auf dem PRTG-Server einfach folgenden Befehl gestartet:
netsh interface portproxy add v6tov4 -listenport=443 -connectaddress=127.0.0.1 -connectport=443 -protocol=tcp
Sofort war die Weboberfläche von PRTG auch per IPv6 erreichbar. Diese Funktion ist mit jedem Dienst nutzbar, der keine IPv6-Bindung anbietet und statische Ports nutzt.
Mit PRTG funktioniert dies aber nur, wenn ich per DNS-Allerdings nur, wenn ich einen DNS-Namen verwende und nicht die IPv6-Adresse. Das ist eine Besonderheit von PRTG, der den ersten Zugriff per "302 Moved" zu einer anderen URL umleitet und dabei den "Hostheader" auswertet. Wenn ich per IPv6-Adresse komme, dann kommt dieser Mechanismus wohl aus dem Tritt und liefert eine ungültige Location-Adresse, wie hier im Debugger des Browsers zu sehen ist.
Also sollten Sie einen DNS-Eintrag anlegen, der auf die IPv6-Adresse verweist, damit PRTG einfach eine URL bekommt, die er versteht.
Für die Erreichbarkeit aus dem Internet musste ich natürlich auf der Fritz!Box noch eine Freigabe einrichten.
Auch wenn ein Client eine öffentliche IPv6-Addresse hat, sorgt zumindest die Fritz!Box dafür, dass diese nicht aus dem Internet erreichbar ist. Die Freigabe ist hier aber kein "Reverse NAT", denn Umzusetzen gibt es hier nichts. Es ist eine Portfreischaltung.
- PortProxy - ReverseNAT mit Windows
- Netsh interface portproxy commands
https://docs.microsoft.com/de-de/windows-server/networking/technologies/netsh/netsh-interface-portproxy
Add6to4 https://docs.microsoft.com/de-de/windows-server/networking/technologies/netsh/netsh-interface-portproxy#add-v6tov4 - 6tunnel
https://GitHub.com/wojtekka/6tunnel
6tunnel allows you to use services provided by IPv6 hosts with IPv4-only applications and vice-versa. - DS-Lite IPv6 Geräte im Heimnetz erreichbar machen!
https://www.feste-ip.net/dslite-ipv6-portmapper/allgemeine-informationen/
https://www.feste-ip.net/dslite-ipv6-portmapper/fip-portmapper/
Kommerzielles Angebot
IPv4 durch Dienstleister
Die Umsetzung eines externen Zugriffs auf einen internen Service oder ihren Router muss nicht in ihrem Haus erfolgen. Es gibt mehrere Dienstleister, öffentliche Adressen auf ihre Adresse umzusetzen. Das sind natürlich kommerzielle Angebote.
- DS-Lite IPv6 Geräte im Heimnetz erreichbar machen !
https://www.feste-ip.net/dslite-ipv6-portmapper/allgemeine-informationen/
https://www.feste-ip.net/dslite-ipv6-portmapper/fip-portmapper/
Kommerzielles Angebot - Feste IPv4 für DG Home-Kunden für 10€
https://www.edv-kossmann.de/festeip/
Anscheinend hat der Anbieter ein Beim im DG Carrier Grade NAT
IPv4 mit AzureAD Proxy
Wer schon Cloud-Dienste von Microsoft nutzt, sollte in Azure prüfen, ob die Funktion "AzureAD App Proxy" vielleicht schon enthalten ist oder günstig dazu lizenziert werden kann. Es ist eine einfache und sichere Funktion, um interne Services über eine Azure-Komponente frei zu geben. Dazu ist mindestens ein "App Proxy Agent" im LAN erforderlich, der eine ausgehende Verbindung zu Azure aufbaut und offen hält. In Azure definieren Sie dann einen ProxyService, der die Anfragen aus dem Internet annimmt und nach optionaler Anmeldung über den etablierten Kanal zum Agent weiter zum eigentlichen Service leitet.
Hier sehen Sie eine Beispielkonfiguration eines App Proxy, der aus dem Internet über die "External URL:443" per HTTPS erreichbar ist und die Zugriffe ohne weitere Authentifizierung über den internen Proxy an die interne Webseite "https://prtg.fritz.box:844" weiter gibt.
Die Einrichtung ist auf Azure AD Application Proxy ausführlich beschrieben und in der Regel in wenigen Minuten erledigt. Für den Client sieht dieser Zugriff aus, als wen der Service in Azure läuft und unterliegt auch den Schutzfunktionen von Microsoft. Ich kann sogar eine Pre-Authentication und Conditional Access umsetzen oder den Zugriff einfach wie hier anonym (Passthrough) durchlassen.
- Azure AD Application Proxy
- Security considerations for accessing
apps remotely with Azure AD Application
Proxy
https://docs.microsoft.com/de-de/azure/active-directory/manage-apps/application-proxy-security - Network topology considerations when
using Azure Active Directory Application
Proxy
https://docs.microsoft.com/de-de/azure/active-directory/manage-apps/application-proxy-network-topology - Understand Azure AD Application Proxy connectors
https://docs.microsoft.com/de-de/azure/active-directory/manage-apps/application-proxy-connectors - Remote access to On-Premises
applications through Azure Active
Directory's Application Proxy
https://docs.microsoft.com/de-de/azure/active-directory/manage-apps/application-proxy - Application management with Azure Active
Directory
https://docs.microsoft.com/de-de/azure/active-directory/manage-apps/what-is-application-management - no.php - Transparent reverse proxy
written in PHP that allows you to not have
to write PHP any more
https://GitHub.com/michaelfranzl/no.php - php-reverse-proxy
https://GitHub.com/nbhr/php-reverse-proxy
VPN als Tunnel
Nicht unterschlagen möchte ich natürlich die Funktion eines VPN. Der FTTH-Anschluss hat natürlich keine IPv4-Addresse, die von extern erreichbar ist aber ich kann natürlich die IPv6-Adresse als Gegenstelle für einen VPN-Client nutzen. Es gibt von AVm einige gute Beschreibungen zum Einrichten eines VPN mit der Fritz!Box, allerdings funktioniert das aktuell angeblich nur mit öffentlichen IPv4-Adressen
Dann helfen mir die Ratgeber und Anleitungen hier aktuell noch nicht weiter.
- Ratgeber: VPN mit FRITZ! – praktisch und sicher
https://avm.de/ratgeber/alles-zum-vpn/ - VPN Service: Tipps & Tricks für Verbindungen zu anderen Herstellern
https://avm.de/service/vpn/uebersicht/ - Sind VPN-Verbindungen mit FRITZ!Box am DS-Lite-Internetzugang möglich?
https://avm.de/service/fritzbox/fritzbox-6360-cable/wissensdatenbank/publication/show/1306_Sind-VPN-Verbindungen-mit-FRITZ-Box-am-DS-Lite-Internetzugang-moglich/
Und weil es nicht schon genug ist, scheinen viele VPN-Clients selbst auch noch nicht mit IPv6 arbeiten zu können. Allerdings muss ich mich natürlich schon fragen, wozu man mit IPv6 noch mal ein VPN aufbauen will, den IPv6 enthält schon den Code um die Verbindungen zu verschlüsseln und die Endstellen zu signieren (IPSEC). Insofern ist es wirklich eine kleine Nische, dass jemand IPv6 im WAN hat aber im LAN dann noch mit IPv4 Only herum hampelt.
Da aber auch interne Systeme ja offizielle IPv6-Adressen haben, hindert sie ja niemand daran, einen anderen VPN-Server, Proxy-Server o.ä. in ihrem LAN zu installieren, die mit dem passenden VPN-Client eine Verbindung aufbauen.
Ich habe diesen Weg nicht weiterverfolgt, da ich lieber meine System sauber per IPv6 erreichbar mache oder mit dem Azure App Proxy einen sicheren Weg habe. Wer mag, kann auch auch andere Dienstleister nutzen, die solche Wege bereitstellen.
- Raspberry Pi VPN – Teil 6: VPN-Server unter IPv6
https://blog.helmutkarger.de/raspberry-pi-vpn-teil-6-vpn-server-unter-ipv6/ - IPv6 macht VPNs Probleme
https://www.computerwoche.de/a/ipv6-macht-vpns-probleme,3210854
Office 365/Microsoft 365
Ich bin ziemlich sicher, dass Firmen zumindest eine Internet-Anbindung mit einer öffentlichen IPv4-Adresse haben und nicht über Carrier-grade-NAT auf IPv4-Dienste zugreifen müssen. Aber IPv6 wird immer wichtiger und so ist es für mich schon interessant zu sehen, wie meine Test/Demo-Umgebung auch mit IPv6-Only oder eingeschränkter IPv4-Connectivity funktioniert.
Mit Ausnahme von On-Premises ADFS und etwas Hybrid (Exchange, SfB, SharePoint Search) und Azure-VPN alle anderen Dienste entweder komplett in der Cloud ohne lokale Komponenten laufen oder die Verbindung nur in Richtung Cloud (ADSync, AzureAD-Proxy) aufgebaut werden, habe ich bislang noch keine Einschränkungen feststellen können.
Allerdings habe ich keine Informationen über das NAT-Sizing bei DG zur Umsetzung der IPv4-Adressen von 100.16.x.x -100.127.x.x auf weniger öffentliche IP-Adressen. Ein normaler "Privat-Surfer" hat wenige Verbindungen auf und wer z.B. YouTube, NetFlix und Co schaut oder Internet-Radio hört, kommt mit einem Stream und damit einem IP-Port aus. Aktive Schüler oder Arbeitnehmer im Homeoffice können mit Office 365, Konferenzen, OfficeWebApp, OneDrive, Teams, SharePoint etc. schon deutlich mehr parallele Verbindungen belegen. Leider gibt es meines wissens keine öffentlich zugänglichen Informationen über die Auslegung.
Aber auf der anderen Seite sind meines Wissens alle Office 365-Dienste auch per IPv6 erreichbar. Damit sollten die Clients durchweg IPv6 nutzen. Das sollten Sie z.B. über den Ressourcenmonitor oder per PowerShell einfach mal kontrollieren.
PS C:\> Get-NetTCPConnection | group RemoteAddress -NoElement Count Name ----- ---- 41 :: 57 0.0.0.0 2 107.23.193.11 2 107.23.240.123 9 127.0.0.1 3 13.107.136.9 1 13.227.223.63 3 13.69.65.22 1 192.168.178.10 1 192.168.178.86 1 2600:1901:0:bae2:: 4 2603:1026:200:51::2 4 2603:1026:200:79::2 15 2603:1026:200:8b::2 1 2603:1026:206:4::2 1 2603:1026:207:11d::2 3 2603:1026:207:131::2 5 2603:1026:207:14::2 2 2603:1026:207:14f::2 1 2603:1026:207:50::2 21 2603:1026:207:a5::2 1 2603:1026:207:a6::2 13 2603:1026:207:a7::2 7 2603:1026:207:b9::2 1 2a00:1450:4001:821::200e 4 2a00:1450:400c:c09::bc 1 2a01:111:f100:a004::bfeb… 1 2a02:26f0:c6:2a9::57 1 40.77.226.250 1 50.16.34.158 4 51.105.249.239 1 52.112.64.17 2 52.114.128.72 3 54.173.95.250
Hier sehen Sie tatsächlich einige IPv4-Verbindungen zu Office 365, obwohl es auch IPv6-Adressen gibt. Outlook nutzt aber durchweg IPv6 ausser den Zugriff auf ein Postfach bei Net at Work. Auch Teams nutzt IPv6 aber Skype for Business ist wohl noch IPv4
Insofern sehe ich da keine Gefahr einer "Out of Ports"-Situation beim Carrier Grade NAT.
Nachbarschaft in 100.64.x.x-100.127.x.x
Natürlich habe ich mir auch den IP-Adressbereich von 100.64.0.0 bis 100.127.255.255 genauer angeschaut, Diese Adressen sind ja quasi das private Netz des Providers, welches nie im Internet aber auch nicht in einem lokalen LAN einer Firma genutzt werden sollte. Nur so ist das IP-Routing eindeutig. Das hindert mich natürlich nicht, einmal meine Nachbarn zu betrachten. Es sind aber etwas über 4 Milliarden Adressen (4.194.304 abzüglich Systemadressen).
Wenn ein Nachbar auf seiner Fritz!Box eine IPv4-Veröffentlichung als Fehlkonfiguration betreibt, dann kann sie zwar nicht aus dem Internet aber vielleicht allen anderen Kunden des gleichen Providers abgerufen werden. Meine Fritz!Box hat die 100.75.251.69 und ich habe mit NMAP einfach mein direktes Class-C-Subnetz per PING abgeprüft. Ich habe also keinen "Intense Scan" gestartet sondern nur einen "Quick Scan" über 1024 Hosts. Theoretisch könnte der Provider solche "Querverbindungen" unterbinden und per Access Rule nur den Zugriff auf IP-Adressen im Internet über das Carrier Grade NAT-Device zulassen. Dennoch habe mutmaßlich einige Router gefunden, die per SIP (5060/TCP) über das Glasfaser erreichbar sind.
Da juckt es vielleicht schon mal in den Fingern, diesen Systemen genauer auf die Port zu schauen. Einen "Full Scan" durch alle möglichen IP-Adressen oder einen umfangreichen NMAP-Scan habe ich aber nicht gestartet. Der VoIP-Server der DG lauscht übrigens auf dem Namen dg.voip.dg-w.de, der bei mir auf die Adresse 185.22.44.186 auflöst. Er steht also nicht im 100.64.0.0/15er Netzwerk.
Zwischenstand
Natürlich bringt der Wegfall der öffentlichen IPv4-Adressen durch den Wechsel von Telekom-DSL auf FTTH auch Veränderungen an meiner Umgebung mit sich. Der "normale" Privatanwender wird davon aber gar nichts merken, da er beim Zugriff auf IPv4only-Systeme dann eben zweimal per NAT umgesetzt wird und IPv6 zumindest bei mir funktioniert. Wer seinen Router selbst einrichtet, sollte aber kontrollieren, dass Pv6 wirklich bis zum Client durchgehend konfiguriert ist.
Einschränkungen werden vielleicht die Torrent, eMule, und P2P-Sharingdienste bekommen, sofern sie nur über IPv4 arbeiten. Das doppelte NAT dürfte einige Wege verbauen aber solche Programme sollten auch mit IPv6 arbeiten können.
Wer aber eigene Dienste in seinem "Heimat-LAN" veröffentlichen möchte, z.B. eine Webcam, das eigene NAS (NextCloud/OwnCloud) u.a., und nicht über Programme wie Teamviewer gehen möchte, muss sich etwas mit IPv6 beschäftigen oder einen Port Forwarder oder Proxy-Service nutzen.
Mein Tipp: Beschäftigen Sie sich mit IPv6 im Netzwerk
Ich habe bislang leider noch keine Aussage gefunden, wie statisch der /56er IPv6-Subnetz mir zugeordnet bleibt.
Weitere Links
- Carrier Grade NAT
- DS-Lite (Dual Stack)
- Microsoft 365 und IPv6
-
IPv6 statt
Cookie-Tracking
Persistente IPv6-Netzwerke am FTTH-Anschluss erlauben Benutzertracking - IPv6 im Netzwerk
- Glasfaser in Hövelhof
- PortProxy - ReverseNAT mit Windows
- Direct Access
- DA Namensauflösung
- Azure AD Application Proxy
- Using Internet Explorer to Access IPv6 Websites
https://docs.microsoft.com/en-us/windows/win32/winsock/using-internet-explorer-to-access-ipv6-web-sites-2 - Fernzugriff auf Heimnetz über IPv6
https://www.new.de/fileadmin/user_upload/new.de/Dokumente/Glasfaser/Fernzugriff_mittels_IPv6_ueber_DG_Router.pdf - Building a simple and secure DNS updater for Azure DNS with
PowerShell
https://jussiroine.com/2018/06/building-a-simple-and-secure-dns-updater-for-azure-dns-with-powershell/ - Glasfaser ... oder: FTTH von extern erreichbar machen
https://www.ulrichivens.de/index.php/glasfaser/ - web GUI from IPv6 client
https://kb.paessler.com/en/topic/46963-web-gui-from-ipv6-client - IP-Adresse
https://de.wikipedia.org/wiki/IP-Adresse - Reserved IP addresses
https://en.wikipedia.org/wiki/Reserved_IP_addresses - Carrier grade NAT
https://de.wikipedia.org/wiki/Carrier-grade_NAT - RFC 6598 IANA-Reserved IPv4 Prefix for Shared Address Space
https://tools.ietf.org/html/rfc6598 - Reservierte IPv4-Adressen
https://www.heise.de/Reservierte-IPv4-Adressen-3484192.html - DS-Lite IPv6 Geräte im Heimnetz erreichbar machen !
https://www.feste-ip.net/dslite-ipv6-portmapper/allgemeine-informationen/
https://www.feste-ip.net/dslite-ipv6-portmapper/fip-portmapper/
Kommerzielles Angebot - Feste IPv4 für DG Home-Kunden für 10€
https://www.edv-kossmann.de/festeip/
Anscheinend hat der Anbieter ein Beim im DG Carrier Grade NAT - 6rd
https://de.wikipedia.org/wiki/6rd - IP Konfiguration im Deutsche Glasfaser Netz
http://support.buerger-fuer-glasfaser.de/printthread.php?tid=261