跳至內容

如何為通過 Site-to-Site VPN 連線的流量,在我的 VPC CIDR 上設定 NAT?

2 分的閱讀內容
0

我有一個 AWS Site-to-Site VPN 連線到由 Amazon Virtual Private Cloud (Amazon VPC) 管理的 VPC。在多個互連的網站上存在重複或相同的 IP 位址範圍,我想為我的 Site-to-Site VPN 連線設定 NAT。

簡短說明

AWS VPN 不提供對 VPN 流量套用 NAT 的受管選項。

若要對 VPN 流量套用 NAT,請採取以下其中一項操作:

  • 使用 AWS Marketplace 的軟體型 VPN 解決方案,手動設定 NAT。
  • 在執行軟體型 VPN 解決方案並使用 iptables 的 Amazon Elastic Compute Cloud (Amazon EC2) Linux 執行個體上手動設定 NAT。

以下解決方法中的範例組態使用兩個 VPC。第一個是 AWS 受管 VPN,第二個是您可以用作客戶閘道的軟體型 VPN 解決方案。

**重要:**若要解決 IP 位址重疊問題,您必須同時對來源和目的地 NAT 提供解決方案。私有 NAT 閘道可以執行來源 IP 位址 NAT,但不能同時執行來源和目的地 NAT。但 NAT 執行個體可以同時處理來源和目的地 NAT。

解決方法

允許 VPN 流量

設定 VPC 路由表、安全群組和網路存取控制清單 (網路 ACL),以允許 VPN 流量。

請完成下列步驟:

  1. 在路由表中,建立一條路由,將網路流量導向您的目的地網路。將彈性網路介面設為軟體型 EC2 Linux 執行個體的目的地。
  2. 確認路由表具有以網際網路閘道為目的地的預設路由。
  3. 修改執行個體的安全群組規則,以允許傳入流量。使用連接埠 500 (ISAKMP) 和 4500 (IPsec NAT 穿越) 上的 UDP 封包。
  4. 關閉來源/目的地檢查,使執行個體能在 VPN 子網路之間轉送 IP 封包。

設定 VPN 連線

  1. 如果您尚未建立,請為您的’相關解決方案設定一個 Site-to-Site VPN 連線。您可以下載 Site-to-Site VPN 範例組態檔
  2. 使用您的發行版套件管理工具,在 EC2 Linux 執行個體上安裝 VPN 解決方案。

**注意:**若要使用 strongSwan 作為 VPN 解決方案,請參閱 GitHub 網站上的 vpn-gateway-strongswan

設定 iptables

若要設定來源 NAT 的 iptables,請執行以下 sudo iptables 命令:

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

**注意:**將 your_destination_address_or_CIDR 替換為您的目的地位址或 CIDR,並將 your_IP_address 替換為您的 IP 位址。

對於目的地 NAT,執行以下 sudo iptables 命令:

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

**注意:**將 your_IP_address 替換為您的 IP 位址。

若要將目前執行的 iptables 組態儲儲存到檔案,請執行以下 sudo iptables-save 命令:

sudo iptables-save > /etc/iptables.conf

若要在啟動時載入 iptables 組態,請在 /etc/rc.localexit 0 陳述式之前輸入以下行:

sudo iptables-restore < /etc/iptables.conf

您也可以選擇測試您的 Site-to-Site VPN 連線

AWS 官方已更新 5 個月前