Como Ativar IPv6 em Servicos de Hosting e CDN
Introdução
Para garantir uma comunicação fim a fim através do protocolo IPv6 é necessário que seja ativado e configurado não apenas nos provedores de acesso mas também nos provedores e serviços de hospedagem de conteúdo. Hoje em dia é bastante comum que esses serviços possuam suporte à IPv6 disponível para o usuário, porém nem sempre ele vem ativado por padrão a pessoa responsável por aquele ambiente deve realizar alguns procedimentos simples para se certificar que os serviços ali hospedados serão capazes de receber a responder à requisições em IPv6.
Neste artigo iremos demonstrar como é possível realizar a ativação do IPv6 em diversos serviços de hospedagem e CDN mais utilizados.
Antes de prosseguirmos é importante salientar que o IPv6 hoje é utilizado por uma parte significativa de serviços populares acessados pela maioria dos usuários e está disponível em grandes provedores de acesso como solução definitiva à escassez do IPv4. Em muitos provedores de acesso que fizeram essa implantação por completo do IPv6 já é possível observar que em determinados horários a maior parte do tráfego recebido é através deste protocolo sendo uma das razões para isso que os conteúdos mais acessados como Google (Youtube, Google Drive, Gmail, etc), Netflix e Facebook já possuem suporte completo à IPv6.
Outro detalhe importante de se observar é que existem análises que mostram que o tráfego em cima do protocolo IPv6 tende a ser encaminhado mais rapidamente pelos roteadores por ser tratar de um tráfego nativo ao invés de um tráfego que muitas vezes precisa passar pelo processo de tradução feito pelo NAT no caso do IPv4.
Por fim a ativação do IPv6 para serviços hospedados além de permitir ter um ambiente preparado e pronto para receber requisições neste protocolo facilita também a análise de estatísticas de acesso evitando maior complexidade de casos de múltiplos acessos provenientes de conexões com NAT e CGNAT onde atrás de um 1 único IPv4 podem estar diversos usuários.
Atualização dos registros DNS AAAA e Logs
Normalmente um website ou qualquer serviço hospedado acessível somente em IPv4 possui apenas uma entrada do tipo A no domínio utilizado para direcionar o usuário para o serviço.
É necessário portanto que após ativar o IPv6 no serviço em questão e certificar-se de todos os detalhes relacionados à aplicação, como possíveis vhosts, criar os registro AAAA em seu serviço de DNS apontando para o endereço IPv6.
Uma maneira de validar o funcionamento após feitas todas as alterações é através da URL https://ipv6-test.com/validate.php
Além disso certifique-se que os logs do servidor Web hospedando o site ou serviço esteja configurado corretamente caso seja necessário análise desses logs.
Ativando o IPv6
CloudFlare
Não há nada necessário à ser feito pois o IPv6 já é ativado por padrão. Para se checar esta opção verifique a seguinte opção abaixo na configuração do domínio. Para maiores detalhes acesse esta URL para saber como ativar/desativar o IPv6 para o domínio.
A CloudFlare é também uma opção para caso o serviço de hospedagem que você utiliza não possua suporte à IPv6 pois com a CloudFlare atuando como proxy do seu site ela será capaz de receber todas as requisições em IPv6 e encaminhá-las para um serviço que seja IPv4-only.
Além disso na CloudFlare a fim de facilitar a análise de estatísticas de acesso feitas via IPv6 por sistemas de análise que não suportam o protocolo a CloudFlare desenvolveu uma funcionalidade chamada Pseudo IPv4 que adiciona um header HTTP às requisições estabelecidas sob IPv6 contendo um "pseudo" IPv4 da Classe E, ou seja um mesmo endereço de origem IPv6 irá sempre produzir um resultado com o mesmo pseudo endereço IPv4 a fim de manter a compatibilidade com aplicações legadas que não suportam ou não compreendem IPv6. Para ativar este serviço que é gratuito acesse esta URL.
Referência: https://www.cloudflare.com/ipv6/
Akamai
Autentique-se no portal e procure por "IPv6 Configuration" e clique em Enable.
Referências:
https://www.akamai.com/us/en/multimedia/documents/product-brief/ipv6-adaptation-product-brief.pdf
https://blogs.akamai.com/2018/06/six-years-since-world-ipv6-launch-entering-the-majority-phases.html
https://blogs.akamai.com/2018/06/six-years-since-world-ipv6-launch-entering-the-majority-phases.html
Amazon Web Services (AWS)
Se você estiver rodando seu próprio servidor no serviço EC2 em uma VPC primeiro é necessário adicionar IPv6 na VPC. Para isso vá em VPC Console, Actions, Edit CIDRs, Add IPv6 CIDR.
Em seguida vá até ao EC2 Console e procure em qual Subnet a sua instância EC2 está e adicione IPv6 para ela. Em Console EC2 view o Subnet ID estará no canto inferior direito. Subnet ID, Actions, Edit, Add IPv6 CIDR, quaquer string hexadecimal de 2 dígitos.
Atualize a Tabela de Rotas para roteador todo o tráfego Ipv6 da subnet para a o gateway de Internet. No Route Tables console vá em Actions, Edit Routes, add 0::/0 com o Target sendo seu gateway de Internet.
Então atualize seu Security Groups para permitir tráfego desde ::0/0 em Security Groups Console, Actions, Edit Inbound Rules, Add Rule, e faça um mirror da seu política IPv4. Se você permitir desde "Anywhere", então certifique-se de selecionar desta maneira e que inclui ::/0.
Por fim edite sua instância para atribuir um endereço IPv6 à ela em Console, Actions, Networking, Manage IP Addresses, Add IPv6 Address.
Se você mesmo configurou o servidor lembre-se de verificar que serviços como Apache ou NGINX estão escutando em IPv6. Um tutorial de como fazer esta verificação e ativação se necessário pode ser encontrado neste artigo.
Tutorial completo: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-migrate-ipv6.html
Fastly
Ative IPv6 simplesmente adicionando a palavra "dualstack" na frente do seu registro de DNS CNAME. Por exemplo: dualstack.g.shared.global.fastly.net
Caso você possuir um hostname customizado é necessário abrir um chamado de suporte junto à Fastly dizendo que você deseja adicionar IPv6 ao seu domínio.
Nota: A Fastly não suporta conexões em IPv6 para os origin servers.
Tutorial completo: https://docs.fastly.com/guides/basic-setup/ipv6-support
Softlayer
O suporte à IPv6 pode ser configurado para as instâncias de servidores de acordo com cada sistema operacional, porém o suporte IPv6 para servidores web hospedados na CDN da Softlayer só é possível através de um serviço de proxy como Akamai.
Microsoft Azure
Você precisará de um Basic Load Balancer ou VNet para ter IPv6. (A documentação da Microsoft não especifica se um Standard Load Balancer supporta IPv6).
No entanto existem algumas limitações com relação ao Load Balancer e a uso de IPv6 na Azure. Não é possível atribuir IPv6 para uma VM existente. Será necessário criar uma nova atrás do Load Balancer. Seu Network Security Group policias não se aplicarão para IPv6.Não é possível fazer isso no GUI e você precisa fazer uso da CLI ou PowerShell. Possivelmente seja mais fácil adotar uma solução como a da CloudFlare a depender do serviço hospedado na VM.
Um tutorial completo sobre IPv6 na Azure pode ser encontrado em: https://docs.microsoft.com/en-us/azure/load-balancer/load-balancer-ipv6-overview
As instruções sobre Virtual Network dizem que é possível realizar o upgrade, porém não são claras à respeito de segurança e a CLI ou PowerShell são a única maneira de fazer isso. Instruções mais detalhadas podem ser encontradas em: https://docs.microsoft.com/en-us/azure/virtual-network/ipv6-overview