Tengo una conexión de AWS Site-to-Site VPN a una VPC gestionada por Amazon Virtual Private Cloud (Amazon VPC). Hay intervalos de direcciones IP duplicados o idénticos en varios sitios interconectados y quiero configurar la NAT para mi conexión de Site-to-Site VPN.
Breve descripción
AWS VPN no ofrece una opción gestionada para aplicar la NAT al tráfico de VPN.
Para aplicar la NAT al tráfico de VPN, realiza una de las siguientes acciones:
- Utiliza una solución de VPN basada en software de AWS Marketplace para configurar manualmente la NAT.
- Configura manualmente la NAT en una instancia Linux de Amazon Elastic Compute Cloud (Amazon EC2) que ejecute iptables y una solución de VPN basada en software.
En el ejemplo de configuración de la siguiente solución se usan dos VPC. La primera es una VPN gestionada por AWS y la segunda es una solución de VPN basada en software que se utiliza como puerta de enlace de cliente.
Importante: Para resolver el problema de superposición de direcciones IP, debes tener una solución tanto para la NAT de origen como para la de destino. Las puertas de enlace NAT privadas pueden ejecutar la NAT de la dirección IP de origen, pero no pueden gestionar las NAT de origen y de destino a la vez. Sin embargo, las instancias de NAT pueden gestionar las NAT de origen y de destino al mismo tiempo.
Resolución
Permiso de tráfico de VPN
Configura la tabla de enrutamiento de VPC, los grupos de seguridad y la lista de control de acceso a la red (ACL de red) para permitir el tráfico de VPN.
Sigue estos pasos:
- En la tabla de enrutamiento, crea un enrutamiento para dirigir el tráfico de red a la red de destino. Configura la interfaz de red elástica como destino de tu instancia de Linux EC2 basada en software.
- Confirma que tu tabla de enrutamiento tenga una ruta predeterminada con el destino de una puerta de enlace de Internet.
- Modifica las reglas del grupo de seguridad de tu instancia para permitir el tráfico entrante. Usa paquetes UDP en los puertos 500 (ISAKMP) y 4500 (IPSec NAT-Traversal).
- Desactiva las comprobaciones de origen/destino para que la instancia pueda reenviar paquetes de direcciones IP entre las subredes de tu VPN.
Configuración de la conexión VPN
- Configura una conexión de Site-to-Site VPN para tu solución correspondiente, si aún no tienes una. Puedes descargar archivos de configuración de ejemplo de Site-to-Site VPN.
- Usa el administrador de paquetes de tu distribución para instalar la solución de VPN en la instancia EC2 de Linux.
Nota: Para usar StrongSwan como solución de VPN, consulta vpn-gateway-strongswan en el sitio web de GitHub.
Configuración de iptables
Para configurar iptables para la NAT de origen, ejecuta el siguiente comando sudo iptables:
sudo iptables -t nat -A POSTROUTING -d your_destination_address_or_CIDR -j SNAT --to-source your_IP_address
Nota: Sustituye your_destination_address_or_CIDR por tu dirección de destino o CIDR y your_IP_address por tu dirección IP.
Para la NAT de destino, ejecuta el siguiente comando sudo iptables:
sudo iptables -t nat -A PREROUTING -j DNAT --to-destination your_IP_address
Nota: Sustituye your_IP_address por tu dirección IP.
Para guardar la configuración de iptables en ejecución en un archivo, ejecuta el siguiente comando sudo iptables-save:
sudo iptables-save > /etc/iptables.conf
Para cargar la configuración de iptables al arrancar, introduce la siguiente línea en /etc/rc.local antes de la instrucción exit 0:
sudo iptables-restore < /etc/iptables.conf
Si quieres, puedes probar la conexión de Site-to-Site VPN .