Direkt zum Inhalt

Wie konfiguriere ich NAT auf meinem VPC-CIDR für Datenverkehr, der über eine Site-to-Site-VPN-Verbindung läuft?

Lesedauer: 3 Minute
0

Ich habe eine AWS-Site-to-Site-VPN-Verbindung zu einer VPC, die von Amazon Virtual Private Cloud (Amazon VPC) verwaltet wird. Es gibt doppelte oder identische IP-Adressbereiche an mehreren miteinander verbundenen Standorten, und ich möchte NAT für meine Site-to-Site-VPN-Verbindung konfigurieren.

Kurzbeschreibung

AWS VPN bietet keine verwaltete Option zur Anwendung von NAT auf den VPN-Datenverkehr.

Ergreife eine der folgenden Maßnahmen, um NAT auf den VPN-Datenverkehr anzuwenden:

  • Verwende eine softwarebasierte VPN-Lösung von AWS Marketplace, um NAT manuell zu konfigurieren.
  • Konfiguriere NAT manuell auf einer Amazon Elastic Compute Cloud (Amazon EC2)-Linux-Instance, auf der eine softwarebasierte VPN-Lösung und iptables ausgeführt werden.

Die Beispielkonfiguration in der folgenden Auflösung verwendet zwei VPCs. Die erste ist ein von AWS verwaltetes VPN und die zweite ist eine softwarebasierte VPN-Lösung, die du als Kunden-Gateway verwenden kannst.

Wichtig: Um das Problem der IP-Adressüberschneidung zu lösen, benötigst du eine Lösung sowohl für die Quell- als auch für die Ziel-NAT. Private NAT-Gateways können NAT für Quell-IP-Adressen ausführen, aber sie können nicht sowohl Quell- als auch Ziel-NAT ausführen. NAT-Instances können jedoch Quell- und Ziel-NAT gleichzeitig verarbeiten.

Lösung

Zulassen von VPN-Datenverkehr

Konfiguriere die VPC-Routing-Tabelle, Sicherheitsgruppen und Netzwerk-Zugriffssteuerungsliste (Netzwerk-ACL), um VPN-Datenverkehr zuzulassen.

Führe die folgenden Schritte aus:

  1. Erstelle eine Route in der Routing-Tabelle, um den Netzwerkdatenverkehr an das Zielnetzwerk weiterzuleiten. Lege die Elastic-Network-Schnittstelle als Ziel der softwarebasierten EC2-Linux-Instance fest.
  2. Vergewissere dich, dass die Routing-Tabelle eine Standardroute mit dem Ziel eines Internet-Gateways enthält.
  3. Ändere die Sicherheitsgruppenregeln der Instance, um eingehenden Datenverkehr zuzulassen. Verwende UDP-Pakete auf Port 500 (ISAKMP) und 4500 (IPSec NAT-Traversal).
  4. Deaktiviere die Quell- und Zielüberprüfungen, damit die Instance IP-Adresspakete zwischen den Subnetzen des VPNs weiterleiten kann.

Konfigurieren der VPN-Verbindung

  1. Konfiguriere eine Site-to-Site VPN-Verbindung für die entsprechende Lösung, falls du noch keine hast. Du kannst Beispielkonfigurationsdateien für Site-to-Site-VPN herunterladen.
  2. Verwende den Paket-Manager der Verteilung, um die VPN-Lösung auf der EC2-Linux-Instance zu installieren.

Hinweis: Um strongSwan als VPN-Lösung zu verwenden, findest du weitere Informationen unter vpn-gateway-strongswan auf der GitHub-Website.

Konfigurieren von iptables

Um iptables für die Quell-NAT zu konfigurieren, führe den folgenden Befehl sudo iptables aus:

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

Hinweis: Ersetze your_destination_address_or_CIDR durch deine Zieladresse oder CIDR und your_IP_address durch deine IP-Adresse.

Führe für die Ziel-NAT den folgenden sudo iptables-Befehl aus:

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

Hinweis: Ersetze your_IP_address durch deine IP-Adresse.

Um die laufende iptables-Konfiguration in einer Datei zu speichern, führe den folgenden sudo iptables-save-Befehl aus:

sudo iptables-save > /etc/iptables.conf

Um die iptables-Konfiguration beim Booten zu laden, gib vor der exit 0-Anweisung die folgende Zeile in /etc/rc.local ein:

sudo iptables-restore < /etc/iptables.conf

Optional kannst du die Site-to-Site VPN-Verbindung testen.

AWS OFFICIALAktualisiert vor einem Monat