DNS64 e NAT64 - Amazon Virtual Private Cloud

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

DNS64 e NAT64

Un gateway NAT supporta la traduzione degli indirizzi di rete da IPv6 a IPv4, comunemente nota come NAT64. NAT64 aiuta le risorse IPv6 a comunicare con AWS le risorse IPv4 nello stesso VPC o in un VPC diverso, nella rete locale o su Internet. È possibile utilizzare NAT64 con DNS64 sul risolutore Amazon Route 53 o utilizzare il proprio server DNS64.

Che cos'è DNS64?

I carichi di lavoro solo IPv6 in esecuzione su VPC possono inviare e ricevere solo pacchetti di rete IPv6. Senza DNS64, una query DNS per un servizio solo IPv4 restituirà un indirizzo di destinazione IPv4 in risposta e il servizio solo IPv6 non può comunicare con esso. Per colmare questa lacuna di comunicazione, è possibile abilitare il DNS64 per una sottorete e si applica a tutte le risorse all'interno di quella sottorete. AWS Con DNS64, il risolutore Amazon Route 53 cerca il registro DNS per il servizio richiesto ed effettua una delle seguenti operazioni:

  • Se il registro contiene un indirizzo IPv6, restituisce il registro originale e la connessione viene stabilita senza alcuna traduzione su IPv6.

  • Se non è presente un indirizzo IPv6 associato alla destinazione nel record DNS, il Route 53 Resolver ne sintetizza uno prependendo il noto prefisso /96, definito in RFC6052 (64:ff9b::/96), all'indirizzo IPv4 nel registro. Il servizio solo IPv6 invia pacchetti di rete all'indirizzo IPv6 sintetizzato. Sarà quindi necessario instradare questo traffico attraverso il gateway NAT, che esegue la traduzione necessaria sul traffico per consentire ai servizi IPv6 della sottorete di accedere ai servizi IPv4 al di fuori di tale sottorete.

È possibile abilitare o disabilitare DNS64 su una sottorete utilizzando la AWS CLI o con modify-subnet-attributela console VPC selezionando una sottorete e scegliendo Azioni > Modifica impostazioni di sottorete.

Che cos'è NAT64?

NAT64 consente ai servizi solo IPv6 in Amazon VPC di comunicare con i servizi solo IPv4 all'interno dello stesso VPC (in sottoreti diverse) o dei VPC connessi, nelle reti on-premise o su Internet.

NAT64 è automaticamente disponibile sui gateway NAT esistenti o su tutti i nuovi gateway NAT creati. Non è possibile abilitare o disabilitare questa funzionalità.

Dopo aver abilitato DNS64, se il servizio solo IPv6 invia pacchetti di rete a un indirizzo IPv6 sintetizzato tramite il gateway NAT, si verifica quanto segue:

  • Dal prefisso 64:ff9b::/96, il gateway NAT riconosce che la destinazione originale è IPv4 e traduce i pacchetti IPv6 in IPv4 sostituendo:

    • L'origine IPv6 con un proprio IP privato che viene tradotto in un indirizzo IP elastico dal Gateway Internet.

    • La destinazione da IPv6 a IPv4 troncando il prefisso 64:ff9b::/96.

  • Il gateway NAT invia i pacchetti IPv4 tradotti alla destinazione attraverso il gateway Internet, il gateway privato virtuale o il gateway di transito e avvia una connessione.

  • L'host solo IPv4 invia i pacchetti di risposta IPv4. Una volta stabilita una connessione, il gateway NAT accetta i pacchetti IPv4 di risposta dagli host esterni.

  • I pacchetti IPv4 di risposta sono destinati al gateway NAT, che riceve i pacchetti e li decodifica sostituendo il suo IP (IP di destinazione) con l'indirizzo IPv6 dell'host e anteponendo 64:ff9b::/96 all'indirizzo IPv4 di origine. Il pacchetto quindi scorre verso l'host seguendo il routing locale.

In tal modo, il gateway NAT consente ai carichi di lavoro solo IPv6 in una sottorete di comunicare con i servizi solo IPv4 all'esterno della sottorete.

Configurazione di DNS64 e NAT64

Segui i passaggi descritti in questa sezione per configurare DNS64 e NAT64 per abilitare la comunicazione con i servizi solo IPv4.

Abilitare la comunicazione con i servizi solo IPv4 su internet con CLI di AWS

Se si dispone di una sottorete con carichi di lavoro solo IPv6 che deve comunicare con servizi solo IPv4 al di fuori della sottorete, in questo esempio viene illustrato come abilitare questi servizi solo IPv6 per comunicare con i servizi solo IPv4 su internet.

È innanzitutto necessario configurare un gateway NAT in una sottorete pubblica (separata dalla sottorete contenente i carichi di lavoro solo IPv6). Ad esempio, la sottorete contenente il gateway NAT deve avere un percorso che punti al gateway Internet. 0.0.0.0/0

Completare questi passaggi per consentire a questi servizi solo IPv6 di connettersi ai servizi solo IPv4 su Internet:

  1. Aggiungere i seguenti tre percorsi alla tabella dei percorsi della sottorete contenente i carichi di lavoro solo IPv6:

    • Routing IPv4 (se presente) che punta al gateway NAT.

    • Routing 64:ff9b::/96 che punta al gateway NAT. Ciò consentirà di instradare il traffico proveniente dai carichi di lavoro solo IPv6 destinati ai servizi solo IPv4 attraverso il gateway NAT.

    • Routing ::/0 IPv6 che punta al gateway Internet egress-only (o al gateway Internet).

    Nota: ::/0 al gateway Internet consentirà agli host IPv6 esterni (al di fuori del VPC) di avviare la connessione tramite IPv6.

    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. Abilitare la funzionalità DNS64 nella sottorete contenente i carichi di lavoro solo IPv6.

    aws ec2 modify-subnet-attribute --subnet-id subnet-1a2b3c4d --enable-dns64

Ora, le risorse nella sottorete privata possono stabilire connessioni con stato con i servizi IPv4 e IPv6 su Internet. Configurare il gruppo di sicurezza e i NACL in modo appropriato per consentire l'uscita e l'ingresso del traffico verso il traffico 64:ff9b::/96.

Abilitare la comunicazione con i servizi IPv4 nell'ambiente on premise

Il risolutore Amazon Route 53 consente di inoltrare le query DNS dal VPC a una rete on-premise e viceversa. Si può fare eseguendo le seguenti operazioni:

  • Creare un endpoint Route 53 Resolver in uscita in un VPC e assegnargli gli indirizzi IPv4 da cui si desidera inoltrare le query da Route 53 Resolver. Per il resolver DNS on-premise, questi sono gli indirizzi IP da cui hanno origine le query DNS e, pertanto, devono essere indirizzi IPv4.

  • Creare una o più regole che specificano i nomi di dominio delle query DNS che si vuole vengano inoltrate dal Route 53 Resolver ai resolver on-premise. Specificare anche gli indirizzi IPv4 dei resolver on-premise.

  • Dopo aver configurato un endpoint in uscita di Route 53 Resolver, è necessario abilitare DNS64 sulla sottorete contenente i carichi di lavoro solo IPv6 e instradare tutti i dati destinati alla rete locale tramite un gateway NAT.

Come funziona DNS64 per le destinazioni solo IPv4 nelle reti on-premise:

  1. Assegnare un indirizzo IPv4 all'endpoint in uscita Route 53 Resolver nel VPC.

  2. La query DNS del servizio IPv6 va a Route 53 Resolver su IPv6. Route 53 Resolver corrisponde alla query con la regola di inoltro e ottiene un indirizzo IPv4 per il resolver on-premise.

  3. Route 53 Resolver converte il pacchetto di query da IPv6 in IPv4 e lo inoltra all'endpoint in uscita. Ogni indirizzo IP dell'endpoint rappresenta un ENI che inoltra la richiesta all'indirizzo IPv4 on-premise del resolver DNS.

  4. Il resolver on-premise invia nuovamente il pacchetto di risposta su IPv4 attraverso l'endpoint in uscita a Route 53 Resolver.

  5. Supponendo che la query sia stata effettuata da una sottorete abilitata per DNS64, Route 53 Resolver fa due cose:

    1. Controlla il contenuto del pacchetto di risposta. Se nel registro è presente un indirizzo IPv6, mantiene il contenuto così com'è, ma se contiene solo un registro IPv4. Sintetizza anche un registro IPv6 anteponendo 64:ff9b::/96 all'indirizzo IPv4.

    2. Ricompila il contenuto e lo invia al servizio nel tuo VPC tramite IPv6.