DNS64 und NAT64 - Amazon Virtual Private Cloud

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::/96 an 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.

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:

  1. 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 ::/0 auf das Internet-Gateway externen IPv6-Hosts (außerhalb der VPC) ermöglicht, eine Verbindung über IPv6 zu initiieren.

    aws ec2 create-route --route-table-id rtb-34056078 --destination-cidr-block 0.0.0.0/0 --nat-gateway-id nat-05dba92075d71c408

    aws ec2 create-route --route-table-id rtb-34056078 --destination-ipv6-cidr-block 64:ff9b::/96 --nat-gateway-id nat-05dba92075d71c408

    aws ec2 create-route --route-table-id rtb-34056078 --destination-ipv6-cidr-block ::/0 --egress-only-internet-gateway-id eigw-c0a643a9
  2. Aktivieren Sie die DNS64-Funktion im Subnetz, das die IPv6-only Workloads enthält.

    aws ec2 modify-subnet-attribute --subnet-id subnet-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:

  1. Sie weisen dem ausgehenden Endpunkt von Route 53 Resolver in Ihrer VPC eine IPv4-Adresse zu.

  2. 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.

  3. 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.

  4. Der On-Premises-Resolver sendet das Antwortpaket über IPv4 zurück über den ausgehenden Endpunkt an Route 53 Resolver.

  5. Unter der Annahme, dass die Abfrage aus einem DNS64-fähigen Subnetz erstellt wurde, führt Route 53 Resolver zwei Dinge aus:

    1. Ü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::/96 der IPv4-Adresse vorangestellt wird.

    2. Packt den Inhalt neu und sendet diesen über IPv6 an den Dienst in Ihrer VPC.