

# DNS64 e NAT64
<a name="nat-gateway-nat64-dns64"></a>

Um gateway NAT oferece suporte à conversão de endereços de rede de IPv6 para IPv4, mais conhecida como NAT64. A NAT64 ajuda os seus recursos IPv6 da AWS a se comunicarem com recursos IPv4 na mesma VPC ou em uma VPC diferente, na sua rede on-premises ou pela Internet. Você pode usar a NAT64 com o DNS64 no Amazon Route 53 Resolver ou o seu próprio servidor DNS64.

**Topics**
+ [O que é o DNS64?](#nat-gateway-dns64-what-is)
+ [O que é a NAT64?](#nat-gateway-nat64-what-is)
+ [Configure o DNS64 e a NAT64](#nat-gateway-nat64-dns64-walkthrough)

## O que é o DNS64?
<a name="nat-gateway-dns64-what-is"></a>

As suas workloads somente IPv6 em execução em VPCs só podem enviar e receber pacotes de rede IPv6. Sem o DNS64, uma consulta ao DNS para um serviço somente IPv4 produzirá um endereço de destino IPv4 em resposta e seu serviço somente IPv6 não poderá se comunicar com ele. Para preencher essa lacuna de comunicação, você pode habilitar o DNS64 para uma sub-rede e ela se aplica a todos os recursos da AWS dentro dessa sub-rede. Com o DNS64, o Amazon Route 53 Resolver procura o registro DNS do serviço que você consultou e segue um dos seguintes procedimentos:
+ Se o registro contiver um endereço IPv6, ele retornará o registro original e a conexão será estabelecida sem nenhuma conversão por IPv6.
+ Se não houver um endereço IPv6 associado ao destino no registro DNS, o Route 53 Resolver sintetizará um endereço acrescentando o prefixo conhecido `/96`, definido em RFC6052 (`64:ff9b::/96`), ao endereço IPv4 presente no registro. O seu serviço somente IPv6 envia pacotes de rede para o endereço IPv6 sintetizado. Em seguida, você precisará encaminhar esse tráfego através do gateway NAT, que executa a conversão necessária no tráfego para permitir que os serviços IPv6 em sua sub-rede acessem serviços IPv4 fora dessa sub-rede.

É possível habilitar ou desabilitar o DNS64 em uma sub-rede usando [modify-subnet-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-subnet-attribute.html) com a AWS CLI ou com o console da VPC selecionando uma sub-rede e escolhendo **Actions** > **Modify DNS64 settings** (Ações > Modificar configurações de DNS64).

## O que é a NAT64?
<a name="nat-gateway-nat64-what-is"></a>

A NAT64 habilita a comunicação de seus serviços somente IPv6 em Amazon VPCs com serviços somente IPv4 dentro da mesma VPC (em sub-redes diferentes) ou VPCs conectadas, em suas redes on-premises ou pela Internet.

A NAT64 está disponível automaticamente em seus gateways NAT existentes ou em qualquer novo gateway NAT que você criar. Não é possível habilitar ou desabilitar esse recurso. A sub-rede na qual o gateway NAT está não precisa ser uma sub-rede de pilha dupla para que o NAT64 funcione.

Depois que você ativar o DNS64, se o serviço somente IPv6 enviar pacotes de rede para um endereço IPv6 sintetizado por meio do gateway NAT, ocorrerá o seguinte:
+ Com o prefixo `64:ff9b::/96`, o gateway NAT reconhece que o destino original é IPv4 e converte os pacotes IPv6 em IPv4 substituindo:
  + O IPv6 de origem com seu próprio IP privado, que é convertido para o endereço IP elástico pelo gateway da Internet.
  + O IPv6 de destino para o IPv4 truncando o prefixo `64:ff9b::/96`.
+ O gateway NAT envia os pacotes IPv4 convertidos para o destino por meio do gateway da Internet, gateway privado virtual ou gateway de trânsito e inicia uma conexão.
+ O host somente IPv4 envia os pacotes IPv4 de resposta de volta. Depois que uma conexão é estabelecida, o gateway NAT aceita os pacotes IPv4 de resposta dos hosts externos.
+ Os pacotes IPv4 de resposta são destinados ao gateway NAT, que os recebe e desfaz sua conversão substituindo seu IP (IP de destino) pelo endereço IPv6 do host e acrescentando `64:ff9b::/96` de volta ao endereço IPv4 de origem. O pacote então vai até o host seguindo a rota local.

Dessa forma, o gateway NAT permite que suas workloads somente IPv6 em uma sub-rede se comuniquem com serviços somente IPv4 fora da sub-rede.

## Configure o DNS64 e a NAT64
<a name="nat-gateway-nat64-dns64-walkthrough"></a>

Siga as etapas desta seção para configurar o DNS64 e a NAT64 para habilitar a comunicação com serviços somente IPv4.

**Topics**
+ [Habilitar a comunicação com serviços somente IPv4 pela Internet com a AWS CLI](#nat-gateway-nat64-dns64-walkthrough-internet)
+ [Habilite a comunicação com serviços somente IPv4 em seu ambiente on-premises](#nat-gateway-nat64-dns64-walkthrough-on-prem)

### Habilitar a comunicação com serviços somente IPv4 pela Internet com a AWS CLI
<a name="nat-gateway-nat64-dns64-walkthrough-internet"></a>

Se você tiver uma sub-rede com workloads somente IPv6 que precise se comunicar com serviços somente IPv4 fora da sub-rede, este exemplo mostra como habilitar os serviços somente IPv6 para a comunicação com serviços somente IPv4 pela Internet.

Primeiro, você deve configurar um gateway NAT em uma sub-rede pública (separada da sub-rede que contém as workloads somente IPv6). Por exemplo, a sub-rede que contém o gateway NAT deve ter uma rota `0.0.0.0/0` apontando para o gateway da Internet.

Conclua estas etapas para permitir que esses serviços somente IPv6 se conectem a serviços somente IPv4 pela Internet:

1. Adicione as três rotas a seguir à tabela de rotas da sub-rede que contém as workloads somente IPv6:
   + Rota IPv4 (se houver) apontando para o gateway NAT.
   + `64:ff9b::/96`Rota apontando para o gateway NAT. Isso permitirá que o tráfego de suas workloads somente IPv6 destinadas a serviços somente IPv4 seja roteado por meio do gateway NAT.
   + Rota IPv6 `::/0` apontando para o gateway da Internet somente de saída (ou o gateway da Internet).

   Observe que apontar `::/0` para o gateway da Internet permitirá que hosts IPv6 externos (fora da VPC) iniciem a conexão por 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
   ```

1. Habilite o recurso do DNS64 na sub-rede que contém as workloads somente IPv6.

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

Agora, os recursos na sua sub-rede privada podem estabelecer conexões com estado com serviços IPv4 e IPv6 pela Internet. Configure o seu grupo de segurança e NACLs adequadamente para permitir o tráfego de saída e entrada ao tráfego de `64:ff9b::/96`.

### Habilite a comunicação com serviços somente IPv4 em seu ambiente on-premises
<a name="nat-gateway-nat64-dns64-walkthrough-on-prem"></a>

O Amazon Route 53 Resolver permite que você encaminhe consultas de DNS da sua VPC para uma rede on-premises e vice-versa. Para isso, você pode fazer o seguinte:
+ Você cria um endpoint de saída do Route 53 Resolver em uma VPC e atribui a ele os endereços IPv4 dos quais deseja que o Route 53 Resolver encaminhe consultas. Para o seu resolvedor de DNS on-premises, estes são os endereços IP dos quais as consultas de DNS se originam e, portanto, devem ser endereços IPv4.
+ Você cria uma ou mais regras que especifiquem os nomes de domínio das consultas de DNS que deseja que o Route 53 Resolver encaminhe aos seus resolvedores on-premises. Também é necessário especificar os endereços IPv4 dos resolvedores on-premises.
+ Agora que você configurou um endpoint de saída do Route 53 Resolver, é preciso habilitar o DNS64 na sub-rede que contém suas workloads somente IPv6 e encaminhar todos os dados destinados à sua rede on-premises por meio de um gateway NAT.

Como o DNS64 funciona para destinos somente IPv4 em redes on-premises:

1. Você atribui um endereço IPv4 ao endpoint de saída do Route 53 Resolver na sua VPC.

1. A consulta de DNS do seu serviço IPv6 vai para o Route 53 Resolver por IPv6. O Route 53 Resolver corresponde à consulta com a regra de encaminhamento e obtém um endereço IPv4 para o seu resolvedor on-premises.

1. O Route 53 Resolver converte o pacote de consulta de IPv6 para IPv4 e o encaminha para o endpoint de saída. Cada endereço IP do endpoint representa um ENI que encaminha a solicitação ao endereço IPv4 on-premises do seu revolvedor de DNS.

1. O revolvedor on-premises envia o pacote de resposta por IPv4 de volta pelo endpoint de saída para o Route 53 Resolver.

1. Caso a consulta tenha sido feita por meio de uma sub-rede habilitada para DNS64, o Route 53 Resolver fará duas coisas:

   1. Ele verifica o conteúdo do pacote de resposta. Se houver um endereço IPv6 no registro, ele manterá o conteúdo como está, se ele contiver apenas um registro IPv4. Ele também sintetiza um registro IPv6 acrescentando `64:ff9b::/96` ao endereço IPv4.

   1. Ele reempacota o conteúdo e o envia para o serviço na sua VPC por IPv6.