DNS64 und NAT64
Ein NAT-Gateway unterstützt die Übersetzung von Netzwerkadressen von IPv6 nach IPv4, im Volksmund als NAT64 bekannt. NAT64 hilft Ihren IPv6 AWS-Ressourcen mit IPv4-Ressourcen in derselben VPC oder einer anderen VPC, in Ihrem On-Premises-Netzwerk oder über das Internet zu kommunizieren. Sie können NAT64 mit DNS64 auf Amazon Route 53 Resolver verwenden oder Ihren eigenen DNS64-Server verwenden.
Was ist DNS64?
Ihre IPv6-only Workloads, die in VPCs ausgeführt werden, können nur IPv6-Netzwerkpakete senden und empfangen. Ohne DNS64 liefert eine DNS-Abfrage für einen reinen IPv4-Service als Antwort eine IPv4-Zieladresse, und Ihr reiner IPv6-Service kann nicht damit kommunizieren. Um diese Kommunikationslücke zu schließen, können Sie DNS64 für ein Subnetz aktivieren und es gilt für alle AWS-Ressourcen innerhalb dieses Subnetzes. Mit DNS64 sucht der Amazon Route 53 Resolver den DNS-Datensatz für den Service, den Sie abgefragt haben, und führt einen der folgenden Schritte aus:
-
Wenn der Datensatz eine IPv6-Adresse enthält, gibt er den ursprünglichen Datensatz zurück und die Verbindung wird ohne Übersetzung über IPv6 hergestellt.
-
Wenn mit dem Ziel im DNS-Datensatz keine IPv6-Adresse verknüpft ist, synthetisiert der Route 53 Resolver eine, indem er dem bekannten
/96-Präfix vorangestellt wird, definiert in RFC6052 (64:ff9b::/96), an die IPv4-Adresse im Datensatz. Ihr IPv6-only Dienst sendet Netzwerkpakete an die synthetisierte IPv6-Adresse. Sie müssen diesen Datenverkehr dann durch das NAT-Gateway leiten, das die erforderliche Übersetzung des Datenverkehrs durchführt, damit IPv6-Dienste in Ihrem Subnetz auf IPv4-Dienste außerhalb dieses Subnetzes zugreifen können.
Sie können DNS64 in einem Subnetz mit dem modify-subnet-attribute unter Verwendung der AWS-CLI oder mit der VPC-Konsole durch Auswahl eines Subnetzes und durch Wählen von Actions (Aktionen) > Edit subnet settings (Subnetz-Einstellungen bearbeiten) aktivieren oder deaktivieren.
Was ist NAT64?
NAT64 ermöglicht es Ihren IPv6-only-Services in Amazon VPCs, mit IPv4-only-Services innerhalb derselben VPC (in verschiedenen Subnetzen) oder verbundenen VPCs, in Ihren On-Premises-Netzwerken oder über das Internet zu kommunizieren.
NAT64 ist automatisch auf Ihren bestehenden NAT-Gateways oder auf neuen NAT-Gateways verfügbar, die Sie erstellen. Es ist kein Feature, das Sie aktivieren oder deaktivieren können. Das Subnetz, in dem sich das NAT-Gateway befindet, muss kein Dual-Stack-Subnetz sein, damit NAT64 funktioniert.
Wenn Sie DNS64 aktiviert haben und Ihr reiner IPv6-Service Netzwerkpakete über das NAT-Gateway an eine synthetisierte IPv6-Adresse sendet, geschieht Folgendes:
Vom
64:ff9b::/96-Präfix erkennt das NAT-Gateway, dass das ursprüngliche Ziel IPv4 ist und übersetzt die IPv6-Pakete in IPv4, indem es Folgendes ersetzt:-
Quelle IPv6 mit eigener privater IP, die vom Internet-Gateway in die Elastic-IP-Adresse übersetzt wird.
-
Ziel IPv6 nach IPv4 durch Entfernen des
64:ff9b::/96-Präfix.
-
Das NAT-Gateway sendet die übersetzten IPv4-Pakete über das Internet-Gateway, das virtuelle private Gateway oder das Transit-Gateway an das Ziel und initiiert eine Verbindung.
Der IPv4-only Host sendet IPv4-Antwortpakete zurück. Sobald eine Verbindung hergestellt wurde, akzeptiert NAT-Gateway die Antwort-IPv4-Pakete der externen Hosts.
Die Antwort-IPv4-Pakete sind für NAT-Gateway bestimmt, das die Pakete empfängt und sie entlastet, indem seine IP (Ziel-IP) durch die IPv6-Adresse des Hosts ersetzt und
64:ff9b::/96an die Quell-IPv4-Adresse vorangestellt wird. Das Paket fließt dann in der lokalen Route zum Host.
Auf diese Weise ermöglicht das NAT-Gateway Ihren reinen IPv6-Workloads in einem Subnetz die Kommunikation mit reinen IPv4-Services außerhalb des Subnetzes.
DNS64 und NAT64 konfigurieren
Führen Sie die Schritte in diesem Abschnitt aus, um DNS64 und NAT64 so zu konfigurieren, dass die Kommunikation mit IPv4-only Diensten möglich ist.
Inhalt
Aktivieren Sie die Kommunikation mit IPv4-only Diensten im Internet mit dem AWS-CLI
Wenn Sie ein Subnetz mit IPv6-only Workloads haben, das mit IPv4-only Diensten außerhalb des Subnetzes kommunizieren muss, zeigt dieses Beispiel, wie Sie diesen IPv6-only Diensten ermöglichen, mit IPv4-only Diensten im Internet zu kommunizieren.
Sie sollten zuerst ein NAT-Gateway in einem öffentlichen Subnetz konfigurieren (getrennt vom Subnetz, das die IPv6-only Workloads enthält). Zum Beispiel sollte das Subnetz, das das NAT-Gateway enthält, über eine 0.0.0.0/0-Route verfügen, die auf das Internet-Gateway gerichtet ist.
Führen Sie diese Schritte aus, um diesen IPv6-only Diensten die Verbindung mit IPv4-only Diensten im Internet zu ermöglichen:
Fügen Sie der Routing-Tabelle des Subnetzes, das die reinen IPv6-Workloads enthält, die folgenden drei Routen hinzu:
IPv4-Route (falls vorhanden), die auf das NAT-Gateway gerichtet ist.
64:ff9b::/96-Route, die auf das NAT-Gateway zeigt. Auf diese Weise kann der Datenverkehr von Ihren IPv6-only Workloads, die für IPv4-only Dienste bestimmt sind, über das NAT-Gateway weitergeleitet werden.IPv6
::/0-Route, die auf das Internet-Gateway nur für ausgehenden Verkehr (oder das Internet-Gateway) gerichtet ist.
Beachten Sie, dass die Ausrichtung von
::/0auf das Internet-Gateway externen IPv6-Hosts (außerhalb der VPC) ermöglicht, eine Verbindung über IPv6 zu initiieren.aws ec2 create-route --route-table-idrtb-34056078--destination-cidr-block0.0.0.0/0--nat-gateway-idnat-05dba92075d71c408aws ec2 create-route --route-table-idrtb-34056078--destination-ipv6-cidr-block64:ff9b::/96--nat-gateway-idnat-05dba92075d71c408aws ec2 create-route --route-table-idrtb-34056078--destination-ipv6-cidr-block::/0--egress-only-internet-gateway-ideigw-c0a643a9-
Aktivieren Sie die DNS64-Funktion im Subnetz, das die IPv6-only Workloads enthält.
aws ec2 modify-subnet-attribute --subnet-idsubnet-1a2b3c4d--enable-dns64
Jetzt können Ressourcen in Ihrem privaten Subnetz statusbehaftete Verbindungen mit IPv4- und IPv6-Diensten im Internet herstellen. Konfigurieren Sie Ihre Sicherheitsgruppe und NACLs entsprechend, um ausgehenden und eingehenden Datenverkehr zum 64:ff9b::/96-Datenverkehr zuzulassen.
Aktivieren Sie die Kommunikation mit IPv4-only-Services in Ihrer On-Premises-Umgebung
Mit Amazon Route 53 Resolver können Sie DNS-Abfragen von Ihrer VPC an ein On-Premises-Netzwerk weiterleiten und umgekehrt. Sie können dies wie folgt tun:
Sie erstellen einen ausgehenden Endpunkt des Route 53 Resolvers in einer VPC und weisen diesem die IPv4-Adressen zu, von denen Route 53 Resolver Abfragen weiterleiten soll. Für Ihren On-Premises-DNS-Resolver sind dies die IP-Adressen, von denen die DNS-Abfragen stammen, und sollten daher IPv4-Adressen stammen.
-
Sie erstellen eine oder mehrere Regeln, welche die Domainnamen der DNS-Abfragen angeben, die Route 53 Resolver an Ihre On-Premises-Resolver weiterleiten soll. Sie legen auch die IPv4-Adressen der On-Premises-Resolver fest.
-
Nachdem Sie nun einen ausgehenden Endpunkt von Route 53 Resolver eingerichtet haben, müssen Sie DNS64 im Subnetz aktivieren, das Ihre IPv6-only Workloads enthält, und alle Daten, die für Ihr On-Premises-Netzwerk bestimmt sind, über ein NAT-Gateway weiterleiten.
So funktioniert DNS64 für IPv4-only-Ziele in On-Premises-Netzwerken:
Sie weisen dem ausgehenden Endpunkt von Route 53 Resolver in Ihrer VPC eine IPv4-Adresse zu.
Die DNS-Abfrage Ihres IPv6-Dienstes geht an Route 53 Resolver über IPv6. Route 53 Resolver gleicht die Abfrage mit der Weiterleitungsregel ab und ruft eine IPv4-Adresse für Ihren On-Premises-Resolver ab.
Route 53 Resolver konvertiert das Abfragepaket von IPv6 in IPv4 und leitet es an den ausgehenden Endpunkt weiter. Jede IP-Adresse des Endpunkts stellt eine ENI dar, welche die Anfrage an die On-Premises-IPv4-Adresse Ihres DNS-Resolvers weiterleitet.
Der On-Premises-Resolver sendet das Antwortpaket über IPv4 zurück über den ausgehenden Endpunkt an Route 53 Resolver.
-
Unter der Annahme, dass die Abfrage aus einem DNS64-fähigen Subnetz erstellt wurde, führt Route 53 Resolver zwei Dinge aus:
Überprüft den Inhalt des Antwortpakets. Wenn der Datensatz eine IPv6-Adresse enthält, lässt dieser den Inhalt so, wie er ist, aber wenn er einen IPv4-only Datensatz enthält. Dieser synthetisiert auch einen IPv6-Datensatz, indem
64:ff9b::/96der IPv4-Adresse vorangestellt wird.-
Packt den Inhalt neu und sendet diesen über IPv6 an den Dienst in Ihrer VPC.