Salta al contenuto

Come posso configurare NAT nel CIDR del mio VPC per il traffico che attraversa una connessione VPN sito-sito?

3 minuti di lettura
0

Ho una connessione VPN sito-sito AWS a un VPC gestito da Amazon Virtual Private Cloud (Amazon VPC). Esistono intervalli di indirizzi IP duplicati o identici in più siti interconnessi e desidero configurare NAT per la mia connessione VPN sito-sito.

Breve descrizione

AWS VPN non fornisce un'opzione gestita per applicare NAT al traffico VPN.

Per applicare NAT al traffico VPN, intraprendi una delle seguenti azioni:

  • Utilizza una soluzione VPN basata su software di AWS Marketplace per configurare manualmente NAT.
  • Configura manualmente NAT in un'istanza Linux Amazon Elastic Compute Cloud (Amazon EC2) che esegue una soluzione VPN basata su software e iptables.

L'esempio di configurazione nella seguente risoluzione utilizza due VPC. La prima è una VPN gestita da AWS e la seconda è una soluzione VPN basata su software che puoi utilizzare come gateway del cliente.

Importante: per risolvere il problema della sovrapposizione degli indirizzi IP, devi disporre di una soluzione sia per il NAT di origine che per il NAT di destinazione. I gateway NAT privati sono in grado di eseguire il NAT dell'indirizzo IP di origine, ma non sono in grado di eseguire sia il NAT di origine che il NAT di destinazione. Le istanze NAT possono invece gestire contemporaneamente il NAT di origine e il NAT di destinazione.

Risoluzione

Consenti il traffico VPN

Configura la tabella di routing, i gruppi di sicurezza e la lista di controllo degli accessi alla rete (ACL) del VPC per consentire il traffico VPN.

Completa i seguenti passaggi:

  1. Nella tabella di routing, crea una route per indirizzare il traffico di rete verso la rete di destinazione. Imposta l'interfaccia di rete elastica come destinazione dell'istanza EC2 Linux basata su software.
  2. Verifica che la tabella di routing abbia una route predefinita con un gateway Internet come destinazione.
  3. Modifica le regole del gruppo di sicurezza dell'istanza per consentire il traffico in entrata. Utilizza pacchetti UDP sulla porta 500 (ISAKMP) e 4500 (IPSec NAT-Traversal).
  4. Disattiva i controlli di origine/destinazione in modo che l'istanza possa inoltrare pacchetti di indirizzi IP tra le sottoreti della VPN.

Configura la connessione VPN

  1. Configura una connessione VPN sito-sito per la soluzione pertinente, se non ne hai già una. Puoi scaricare esempi di file di configurazione di VPN sito-sito.
  2. Utilizza il gestore di pacchetti della distribuzione per installare la soluzione VPN nell'istanza EC2 Linux.

Nota: per utilizzare StrongSwan come soluzione VPN, consulta vpn-gateway-strongswan sul sito web GitHub.

Configura iptables

Per configurare iptables per il NAT di origine, esegui questo comando sudo iptables:

sudo iptables -t nat -A POSTROUTING -d your_destination_address_or_CIDR -j SNAT --to-source your_IP_address

Nota: sostituisci your_destination_address_or_CIDR con il tuo CIDR o indirizzo di destinazione e your_IP_address con il tuo indirizzo IP.

Per il NAT di destinazione, esegui questo comando sudo iptables:

sudo iptables -t nat -A PREROUTING -j DNAT --to-destination your_IP_address

Nota: sostituisci your_IP_address con il tuo indirizzo IP.

Per salvare la configurazione di iptables in esecuzione in un file, esegui questo comando sudo iptables-save:

sudo iptables-save > /etc/iptables.conf

Per caricare la configurazione di iptables all'avvio, inserisci la riga seguente in /etc/rc.local prima dell'istruzione exit 0:

sudo iptables-restore < /etc/iptables.conf

Facoltativamente, puoi verificare la connessione VPN sito-sito.