Tenho uma conexão AWS Site-to-Site VPN com uma VPC gerenciada pela Amazon Virtual Private Cloud (Amazon VPC). Há intervalos de endereços IP idênticos ou duplicados em vários sites interconectados, e eu quero configurar o NAT para minha conexão Site-to-Site VPN.
Breve descrição
O AWS VPN não fornece uma opção gerenciada para aplicar o NAT ao tráfego de VPN.
Para aplicar o NAT ao tráfego de VPN, execute uma das seguintes ações:
- Use uma solução de VPN baseada em software do AWS Marketplace para configurar manualmente o NAT.
- Configure manualmente o NAT em uma instância Linux do Amazon Elastic Compute Cloud (Amazon EC2) que executa uma solução VPN baseada em software e iptables.
O exemplo de configuração na resolução a seguir usa duas VPCs. A primeira é uma VPN gerenciada pela AWS e a segunda é uma solução VPN baseada em software que é possível usar como gateway do cliente.
Importante: para resolver o problema de sobreposição de endereços IP, você deve ter uma solução para o NAT de origem e de destino. Os gateways NAT privados podem executar o NAT do endereço IP de origem, mas não podem executar o NAT de origem e de destino. No entanto, as instâncias NAT podem processar o NAT de origem e de destino ao mesmo tempo.
Resolução
Permitir tráfego de VPN
Configure sua tabela de rotas de VPC, grupos de segurança e lista de controle de acesso à rede (ACL da rede) para permitir o tráfego de VPN.
Conclua as etapas a seguir:
- Em sua tabela de rotas, crie uma rota para direcionar o tráfego da rede para sua rede de destino. Defina a interface de rede elástica como o destino da sua instância do Linux do EC2 baseada em software.
- Confirme se sua tabela de rotas tem uma rota padrão com o destino de um gateway da Internet.
- Modifique as regras do grupo de segurança da sua instância para permitir o tráfego de entrada. Use pacotes UDP nas portas 500 (ISAKMP) e 4500 (IPsec NAT-Traversal).
- Desative as verificações de origem/destino para que a instância possa encaminhar pacotes de endereço IP entre as sub-redes da sua VPN.
Configurar a conexão VPN
- Configure uma conexão Site-to-Site VPN para sua solução relevante, se ainda não tiver uma. É possível baixar exemplos de arquivos de configuração de Site-to-Site VPN.
- Use o gerenciador de pacotes da sua distribuição para instalar sua solução VPN na instância do Linux do EC2.
Observação: para usar strongSwan como uma solução de VPN, consulte vpn-gateway-strongswan no site do GitHub.
Configurar o iptables
Para configurar o iptables para o NAT de origem, execute o seguinte comando sudo iptables:
sudo iptables -t nat -A POSTROUTING -d your_destination_address_or_CIDR -j SNAT --to-source your_IP_address
Observação: substitua your_destination_address_or_CIDR por seu endereço de destino ou CIDR, e your_IP_address por seu endereço IP.
Para o NAT de destino, execute o seguinte comando sudo iptables:
sudo iptables -t nat -A PREROUTING -j DNAT --to-destination your_IP_address
Observação: substitua your_IP_address pelo seu endereço IP.
Para salvar a configuração do iptables em execução em um arquivo, execute o seguinte comando sudo iptables-save:
sudo iptables-save > /etc/iptables.conf
Para carregar a configuração do iptables na inicialização, digite a seguinte linha em /etc/rc.local antes da declaração exit 0:
sudo iptables-restore < /etc/iptables.conf
Opcionalmente, é possível testar sua conexão Site-to-Site VPN.