Im Zuge der Einführung von IPv6 wurde viel halber Kram so oft wiederholt, daß er inzwischen für bare Münze genommen wird.
Natürlich ist NAT bei IPv6 nicht mehr nötig, da es genug IPv6-Adressen für alle und alles gibt.
NAT, konkreter hier "DNAT" (destination network
address translation), hat aber etwas mit bei IPv4 fehlenden (öffentlichen)
Adressen zu tun und nicht mit den Ports.
Primär wird nämlich beim DNAT eine Adresse verändert, nämlich die Zieladresse eines von außen eingehenden Paketes von der einen einzigen öffentlichen IPv4, die Privatkunden üblicherweise (noch) haben, auf eine der aus dem Internet gar nicht erreichbaren privaten IPv4-Adressen, die man bei IPv4 notgedrungen im LAN verwenden mußte.
Es ist dem Internet piepegal, ob Ihr im Heimnetz 30 Geräte im LAN 192.168.178.x habt, für das Internet gibt es die alle gar nicht. Das Internet sieht nur die eine einzige öffentliche IPv4 - nur mal als Beispiel 217.111.87.17 - die der Router bekommen hat.
Alle außer Euch selber sehen gar kein Netzwerk, sondern nur ein einziges Gerät.
Um jetzt z.B. einen auf 192.168.178.45 laufenden Web-Server von außen erreichbar zu machen, muß das Gerät, welches die öffentliche IPv4 hat, also der Router, die Pakete erst auf das Ziel 192.168.178.45 umadressieren, damit sie nicht auf dem Router versanden sondern beim Web-Server ankommen.
Das ist das besagte DNAT.
Zur Verdeutlichung:
Ja, man
kann beim DNATting während der Umadressierung auch den Port verändern, um den besagten Web-Server z.B. nach außen unter Port 81 anzubieten, der auf dem Heimnetz-internen Server unter Port 80 angeboten wird, das ist aber nicht der Kern der Sache.
Das ist nur noch ein weiterer Workaround, denn da ich bei IPv4 nur eine einzige IP zur Verfügung habe, habe ich nach außen jeden Port auch nur ein einziges Mal zur Verfügung. Ich kann also nur einen einzigen Web-Server unter dem Standardport 80 anbieten, alle weiteren müssten unter anderen Ports laufen.
Bei Verwendung von IPv6 hingegen sieht das Internet auch die einzelnen Geräte, da sie jeweils
öffentliche IPv6-Adressen erhalten (PC1 und PC2 auf dem Bild oben sind also mit IPv6 auch für das Internet eigenständige Geräte).
Man kann sie also auch direkt ansprechen, anstatt sie umständlich NATten zu müssen und man kann
einen Server unter jedem beliebigen Port jeder beliebigen dieser Adressen anbieten.
Es ist also durchaus möglich, sowohl einen Web-Server unter Port 80 der IPv6 2001:db8:dead:beef::10 als auch einen Web-Server unter Port 80 der IPv6 2001:db8:dead:beef::20 anbieten, da für jede öffentlich erreichbare IP auch wieder jeder Port zur Verfügung steht.
Nichtsdestotrotz ist es natürlich auch bei IPv6 nicht wünschenswert, daß jeder Zugriff von außen auch immer erlaubt ist. Es wäre eine mittelschwere Katastrophe, wenn das Internet auf einmal statt eines einzigen Routers, der Port 445 für Windows-Freigaben/Samba standardmäßig dicht macht, ein ganzes Netzwerk von Servern mit Windows-Freigaben bzw. Samba-Servern auf ihren Ports 445 sehen würde, die alle auch direkt aus dem Internet erreichbar wären.
Deshalb ist in einem anständigen Router auch immer eine IPv6-Firewall aktiv, die alle Zugriffe von außen auf alle Ports abriegelt, bis ich sie explizit freigebe. Portfreigaben gibt es also noch wie vor.
Weshalb ich mich so gegen diese Ungenauigkeit wehre ist folgendes:
Die Leute schmeißen die
direkte Adressierbarkeit der Geräte im heimischen LAN und deren
unmittelbare Erreichbarkeit durcheinander!
Mit dieser Fehlinformation gefüttert, halten die Leute NAT für etwas Gutes ("Buah, ich stehe bei Nutzung von IPv6 ja mit dem nackten Schwanz in der Hand im Internet!"), dabei ist es die größte Sch... seit Erfindung des Internets.
Ja, ich kann die Geräte 2001:db8:dead:beef::10 und 2001:db8:dead:beef::20 auch
von außen direkt adressieren und das ist traumhaft schön, denn damit werde (würde, wenn alle Mobilfunkbetreiber endlich IPv6 anböten) ich endlich unterschiedliche Einstellungsprofile auf meinem Smartphone los, ich brauche nicht mehr "SSH auf dem
Raspberry Pi #1 von zuhause aus" (Mit meiner LAN-IP und Port 22 drin) und "SSH auf dem
Raspberry Pi #1 von außen" (Mit einem DynDNS-Dienst und z.B. Port 222, weil ich Port 22 schon für den ssh des Routers benutze ..).
Nein, ich kann den erwähnten SSH-Server oder den vorher erwähnten Web-Server
nicht sofort von außen erreichen, dafür muß ich den Zugriff darauf nach wie vor erst explizit erlauben und das erfolgt natürlich, indem ich sage, daß der entsprechende Port 22 in der IPv6-Firewall des Routers freigegeben werden soll und diese Freigabe steht auch tatsächlich in der FORWARD-Chain, es ist also nach wie vor ein Port-Forward.