DNS64 e NAT64 - Amazon Virtual Private Cloud

DNS64 e NAT64

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.

O que é o DNS64?

As suas workloads somente IPv6 em execução em VPCs só podem enviar e receber pacotes de rede IPv6. Sem o DNS64, uma consulta de 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 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 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.

Depois que você habilitar o DNS64 e o seu serviço somente IPv6 enviar pacotes de rede para o endereço IPv6 sintetizado por meio do gateway NAT, ocorre 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. Assim que uma conexão for 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 habilita a comunicação entre as suas workloads somente IPv6 em uma sub-rede da Amazon VPC e serviços somente IPv4 em qualquer lugar fora da sub-rede.

Configure o DNS64 e a NAT64

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

Habilitar a comunicação com serviços somente IPv4 pela Internet com a AWS CLI

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

    • Rota 64:ff9b::/96 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
  2. 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

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.

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

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

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

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

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