Considerações sobre IPv6 para AWS Client VPN
O Client VPN agora permite conectividade IPv6 nativa com os recursos IPv4 existentes. É possível criar endpoints somente IPv6, somente IPv4 ou de pilha dupla (IPv4 e IPv6) para atender aos requisitos de rede.
Componentes principais do suporte a IPv6
Ao trabalhar com IPv6 no Client VPN, há dois parâmetros principais de configuração:
- Tipo de endereço IP do endpoint
-
Esse parâmetro define o tipo de IP de gerenciamento de endpoint, que determina o tipo de instância do EC2 provisionada para o endpoint. Esse tipo de IP é usado para gerenciar o tráfego externo do túnel VPN (o tráfego criptografado que flui entre o cliente e o servidor OpenVPN pela internet pública).
- Tipo de endereço IP de tráfego
-
Esse parâmetro define o tipo de tráfego que flui pelo túnel VPN. Esse tipo de IP é usado para gerenciar tráfego criptografado interno (a carga útil real), intervalos CIDR do cliente, associação de sub-rede, rotas e regras por endpoint.
Atribuição de CIDR de cliente IPv6
Para CIDR de cliente IPv6, você não precisa especificar um bloco CIDR. A Amazon atribui automaticamente intervalos CIDR para clientes IPv6. Com essa atribuição automática, não é necessário usar conversão de endereços de rede de origem para tráfego de túnel IPv6, oferecendo maior visibilidade do endereço IPv6 do usuário conectado.
Requisitos de compatibilidade
Os endpoints IPv6 e de pilha dupla dependem dos dispositivos do usuário e dos provedores de serviços de Internet (ISPs):
-
Os dispositivos do usuário que executam o cliente CVPN devem permitir a configuração de IP necessária, conforme mostrado na tabela de compatibilidade abaixo.
-
Os ISPs devem permitir a configuração de IP necessária para que a conexão funcione corretamente.
-
Para tráfego IPv6 ou de pilha dupla, as sub-redes correspondentes da VPC devem ter intervalos IPv6 ou CIDR de pilha dupla.
Suporte a DNS
É possível usar DNS em todos os tipos de endpoint: IPv4, IPv6 e de pilha dupla. Para endpoints IPv6, você pode configurar servidores de DNS IPv6 usando o parâmetro --dns-server-ipv6. É possível usar registros de DNS AAAA tanto no serviço quanto no cliente.
Limitações
Veja abaixo algumas limitações do IPv6:
-
Os clientes IPv6 não podem usar a comunicação de cliente para cliente (C2C). Se um cliente IPv6 tentar se comunicar com outro cliente IPv6, o tráfego será encerrado.
Aplicação de rotas do cliente para IPv6
O Client VPN agora oferece a aplicação de rotas do cliente para tráfego IPv6. Esse recurso ajuda a garantir que o tráfego de rede IPv6 dos clientes conectados siga as rotas definidas pelo administrador e não seja enviado inadvertidamente para fora do túnel VPN.
Principais aspectos do suporte da aplicação de rotas de cliente a IPv6:
-
O sinalizador
ClientRouteEnforcementOptions.enforcedexistente habilita a CRE para pilhas IPv4 e IPv6. -
A aplicação de rotas do cliente para IPv6 exclui determinados intervalos IPv6 para manter as funcionalidades essenciais do IPv6:
::1/128: reservado para loopback.fe80::/10: reservada para endereços locais de link.ff00::/8: reservada para multicast.
-
A aplicação de rotas do cliente para IPv6 está disponível no AWS VPN Client versão 5.3.0 e posterior no Windows, macOS e Ubuntu.
Para ter mais informações sobre a CRE, inclusive sobre como habilitá-la e configurá-la, consulte Aplicação de rotas do cliente do AWS Client VPN.
Prevenção de vazamento de IPv6 (informações legadas)
Para configurações mais antigas que não usam o suporte nativo ao IPv6, talvez você ainda precise impedir o vazamento de IPv6. O vazamento de IPv6 pode ocorrer quando o IPv4 e o IPv6 estão habilitados e conectados à VPN, mas a VPN não roteia o tráfego IPv6 para o respectivo túnel. Nesse caso, ao se conectar a um destino habilitado para IPv6, você ainda está se conectando com seu endereço IPv6 fornecido pelo ISP. Isso causará o vazamento do seu endereço IPv6 real. As instruções abaixo explicam como rotear o tráfego IPv6 para o túnel VPN.
As seguintes diretivas relacionadas ao IPv6 devem ser adicionadas ao arquivo de configuração do cliente VPN a fim de evitar vazamento de IPv6:
ifconfig-ipv6 arg0 arg1 route-ipv6 arg0
Um exemplo pode ser:
ifconfig-ipv6 fd15:53b6:dead::2 fd15:53b6:dead::1 route-ipv6 2000::/4
Nesse exemplo,ifconfig-ipv6 fd15:53b6:dead::2 fd15:53b6:dead::1 definirá o endereço IPv6 do dispositivo de túnel local como fd15:53b6:dead::2 e o endereço IPv6 do endpoint da VPN remota como fd15:53b6:dead::1.
O próximo comando, route-ipv6 2000::/4, roteará os endereços IPv6 de 2000:0000:0000:0000:0000:0000:0000:0000para 2fff:ffff:ffff:ffff:ffff:ffff:ffff:ffff na conexão VPN.
nota
Para roteamento de dispositivo “TAP” no Windows, por exemplo, o segundo parâmetro de ifconfig-ipv6 será usado como destino de rota para --route-ipv6.
As próprias organizações devem configurar os dois parâmetros de ifconfig-ipv6 e podem usar endereços em 100::/64 (de0100:0000:0000:0000:0000:0000:0000:0000 a 0100:0000:0000:0000:ffff:ffff:ffff:ffff) ou fc00::/7 (de fc00:0000:0000:0000:0000:0000:0000:0000 a fdff:ffff:ffff:ffff:ffff:ffff:ffff:ffff). 100::/64 é um bloco de endereços somente para descarte e fc00::/7 é exclusivo no local.
Outro exemplo:
ifconfig-ipv6 fd15:53b6:dead::2 fd15:53b6:dead::1 route-ipv6 2000::/3 route-ipv6 fc00::/7
Neste exemplo, a configuração roteará todo o tráfego IPv6 alocado atualmente para a conexão VPN.
Verificação
Provavelmente, sua organização terá os próprios testes. Uma verificação básica é configurar uma conexão VPN de túnel completo e, em seguida, executar ping6 para um servidor IPv6 usando o endereço IPv6. O endereço IPv6 do servidor deve estar no intervalo especificado pelo comando route-ipv6. Esse teste de ping deve falhar. No entanto, isso pode mudar se a compatibilidade com IPv6 for adicionado ao serviço cliente VPN no futuro. Se o ping for bem-sucedido e você conseguir acessar sites públicos quando conectado no modo de túnel completo, talvez seja necessário fazer mais uma solução de problemas. Também existem algumas ferramentas disponíveis publicamente.