本文介紹如何在阿里雲Virtual Private Cloud (VPC)和AWS VPC(Amazon Virtual Private Cloud)之間建立IPsec-VPN串連,實現阿里雲VPC和AWS VPC之間的相互連信。
情境樣本
本文以下圖情境為例。某企業在阿里雲德國(法蘭克福)地區建立了一個VPC,並在AWS的歐洲(法蘭克福)地區也擁有一個VPC,企業希望阿里雲VPC和AWS VPC可以互相通訊。
企業可以使用阿里雲VPN網關產品(使用公網網路類型的VPN網關執行個體)和AWS VPN產品在兩個VPC之間建立IPsec-VPN串連,實現兩個VPC之間的加密通訊。
網段規劃
您可以自行規劃網段,請確保要互連的網段之間沒有重疊。
VPC執行個體網段規劃
資源 | VPC執行個體的網段 | 執行個體IP地址 |
阿里雲VPC |
| ECS IP地址:10.0.0.223 |
AWS VPC |
| EC2 IP地址:192.168.10.113 |
IPsec-VPN串連BGP網段規劃
本文中將分別描述IPsec-VPN串連使用靜態路由和BGP動態路由情況下如何?阿里雲VPC和AWS VPC之間的通訊。如果您不需要使用BGP動態路由方式,可以忽略本部分。以下為本文的BGP網段規劃。
在IPsec-VPN串連配置BGP動態路由協議的情況下,阿里雲側兩條隧道的本端自治系統號需保持相同,兩條隧道對端的BGP AS號可以不相同,但建議保持相同。
資源 | IPsec串連名稱 | 隧道 | BGP隧道網段 | BGP IP地址 | BGP AS號(本端自治系統號) |
阿里雲VPN網關 | IPsec串連 | 主隧道 | 169.254.116.208/30 說明 一個VPN網關執行個體下,每個隧道的網段需保持唯一。 | 169.254.116.210 | 65530 |
備隧道 | 169.254.214.96/30 | 169.254.214.98 | |||
AWS虛擬私人網關 | 網站到網站VPN串連1 | 隧道1 | 169.254.116.208/30 | 169.254.116.209 | 64512 |
隧道2 | 備隧道不使用。 | ||||
網站到網站VPN串連2 | 隧道1 | 169.254.214.96/30 | 169.254.214.97 | ||
隧道2 | 備隧道不使用。 |
準備工作
您已經在阿里雲德國(法蘭克福)地區建立一個VPC,VPC下通過Elastic Compute Service (ECS)部署相關資源。具體操作,請參見搭建IPv4專用網路。
您已經在AWS歐洲(法蘭克福)地區建立了一個VPC,VPC下通過EC2部署了相關資源。具體操作,請諮詢AWS平台。
配置流程
步驟一:在阿里雲建立VPN網關執行個體
您需要先在阿里雲建立一個VPN網關執行個體,VPN網關執行個體建立完成後,系統會為VPN網關執行個體分配2個IP地址,這2個IP地址用於與AWS平台建立IPsec-VPN串連。
登入VPN網關管理主控台。
在頂部功能表列,選擇VPN網關的地區。
VPN網關的地區需和待綁定的VPC執行個體的地區相同。
在VPN網關頁面,單擊建立VPN網關。
在購買頁面,根據以下資訊配置VPN網關,然後單擊立即購買並完成支付。
以下僅列舉本文強相關的配置,其餘配置項保持預設值或為空白。更多資訊,請參見建立和管理VPN網關執行個體。
配置項
說明
本文樣本值
執行個體名稱
輸入VPN網關執行個體的名稱。
輸入VPN網關。
地區
選擇VPN網關執行個體所屬的地區。
選擇德國(法蘭克福)。
網關類型
選擇VPN網關執行個體的網關類型。
選擇普通型。
網路類型
選擇VPN網關執行個體的網路類型。
選擇公網。
隧道
系統直接展示當前地區IPsec-VPN串連支援的隧道模式。
雙隧道
單隧道
關於單隧道和雙隧道的說明,請參見【升級公告】IPsec-VPN串連升級為雙隧道模式。
本文保持預設值雙隧道。
專用網路
選擇VPN網關執行個體關聯的VPC執行個體。
選擇阿里雲德國(法蘭克福)地區的VPC執行個體。
虛擬交換器
從VPC執行個體中選擇一個交換器執行個體。
IPsec-VPN串連的隧道模式為單隧道時,您僅需要指定一個交換器執行個體。
IPsec-VPN串連的隧道模式為雙隧道時,您需要指定兩個交換器執行個體。
IPsec-VPN功能開啟後,系統會在兩個交換器執行個體下各建立一個彈性網卡ENI(Elastic Network Interfaces),作為使用IPsec-VPN串連與VPC流量互連的介面。每個ENI會佔用交換器下的一個IP地址。
說明系統預設幫您選擇第一個交換器執行個體,您可以手動修改或者直接使用預設的交換器執行個體。
建立VPN網關執行個體後,不支援修改VPN網關執行個體關聯的交換器執行個體,您可以在VPN網關執行個體的詳情頁面查看VPN網關執行個體關聯的交換器、交換器所屬可用性區域以及交換器下ENI的資訊。
選擇VPC執行個體下的一個交換器執行個體。
虛擬交換器2
從VPC執行個體中選擇第二個交換器執行個體。
您需要從VPN網關執行個體關聯的VPC執行個體下指定兩個分布在不同可用性區域的交換器執行個體,以實現IPsec-VPN串連可用性區域層級的容災。
對於僅支援一個可用性區域的地區 ,不支援可用性區域層級的容災,建議您在該可用性區域下指定兩個不同的交換器執行個體以實現IPsec-VPN串連的高可用,支援選擇和第一個相同的交換器執行個體。
說明如果VPC執行個體下沒有第二個交換器執行個體,您可以建立交換器執行個體。具體操作,請參見建立和管理交換器。
選擇VPC執行個體下的第二個交換器執行個體。
IPsec-VPN
選擇開啟或關閉IPsec-VPN功能。預設值:開啟。
選擇開啟IPsec-VPN功能。
SSL-VPN
選擇開啟或關閉SSL-VPN功能。預設值:關閉。
選擇關閉SSL-VPN功能。
返回VPN網關頁面,查看建立的VPN網關執行個體。
剛建立好的VPN網關執行個體的狀態是準備中,約1~5分鐘左右會變成正常狀態。正常狀態表明VPN網關已經完成了初始化,可以正常使用。
系統為VPN網關執行個體分配的2個IP地址如下表所示:
VPN網關執行個體的名稱
VPN網關執行個體ID
IP地址
VPN網關
vpn-gw8dickm386d2qi2g****
IPsec地址1(預設為主隧道地址):8.XX.XX.146
IPsec地址2(預設為備隧道地址):8.XX.XX.74
步驟二:在AWS平台部署VPN
為在AWS VPC和阿里雲VPC之間建立IPsec-VPN串連,您需要根據以下資訊在AWS平台部署VPN,配置需要的具體命令或操作請諮詢AWS平台。
使用靜態路由方式
建立客戶網關。
您需要在AWS側建立2個客戶網關,將阿里雲VPN網關執行個體的2個IP地址作為客戶網關的IP地址。
建立虛擬私人網關。
您需要在AWS側建立虛擬私人網關,並將虛擬私人網關綁定到需要和阿里雲互連的VPC執行個體上。
建立網站到網站VPN串連。
重要阿里雲和AWS平台下的IPsec-VPN串連均支援雙隧道模式,但由於AWS平台的兩條隧道預設關聯至同一個客戶網關,而阿里雲側兩條隧道擁有不同的IP地址,導致AWS平台和阿里雲側的兩條隧道無法做到一一對應建立串連。為確保阿里雲側IPsec-VPN串連下兩條隧道同時啟用,您需要在AWS平台建立兩個網站到網站的VPN串連,每個網站到網站VPN串連關聯不同的客戶網關。
下圖展示其中一個網站到網站VPN串連的配置,隧道選項配置使用預設值。另一個網站到網站VPN串連關聯與當前VPN串連不同的客戶網關,其餘配置與當前VPN串連相同。
說明上圖中本地IPv4網路CIDR需指定為阿里雲VPC下的網段,遠程IPv4網路CIDR需指定為AWS VPC下的網段。
網站到網站VPN串連建立完成後,您可以查看VPN串連下的隧道地址資訊,用於後續在阿里雲側建立IPsec-VPN串連。
本文中,2個VPN串連隧道1的外部IP地址以及關聯的客戶網關IP地址如下表所示:
網站到網站VPN串連
隧道
外部IP地址
關聯的客戶網關IP地址
網站到網站VPN串連1
Tunnel 1
3.XX.XX.52
8.XX.XX.146
網站到網站VPN串連2
Tunnel 1
3.XX.XX.56
8.XX.XX.74
配置路由傳播。
您需要在虛擬私人網關關聯的VPC執行個體的路由表下開啟路由傳播,以確保網站到網站VPN串連下的路由可以自動傳播到VPC執行個體的路由表中。
使用BGP動態路由方式
建立客戶網關。
您需要在AWS側建立2個客戶網關,將阿里雲VPN網關執行個體的2個IP地址作為客戶網關的IP地址,同時將阿里雲IPsec串連的BGP AS號註冊到AWS上。
建立虛擬私人網關。
您需要在AWS側建立虛擬私人網關,並將虛擬私人網關綁定到需要和阿里雲互連的VPC執行個體上。建立虛擬私人網關時需要指定AWS側的BGP AS號。
建立網站到網站VPN串連。
重要阿里雲和AWS平台下的IPsec-VPN串連均支援雙隧道模式,但由於AWS平台的兩條隧道預設關聯至同一個客戶網關,而阿里雲側兩條隧道擁有不同的IP地址,導致AWS平台和阿里雲側的兩條隧道無法做到一一對應建立串連。為確保阿里雲側IPsec-VPN串連下兩條隧道同時啟用,您需要在AWS平台建立兩個網站到網站的VPN串連,每個網站到網站VPN串連關聯不同的客戶網關。
下圖展示其中一個網站到網站VPN串連的配置,未展示的配置項使用預設值。另一個網站到網站VPN串連關聯與當前VPN串連不同的客戶網關、隧道 1的內部IPv4 CIDR配置為169.254.214.96/30,其餘配置與當前VPN串連相同。
說明上圖中本地IPv4網路CIDR需指定為阿里雲VPC下的網段,遠程IPv4網路CIDR需指定為AWS VPC下的網段。
網站到網站VPN串連建立完成後,您可以查看VPN串連下的隧道地址資訊。
查看隧道的預先共用金鑰和阿里雲側需配置的BGP IP地址。
網站到網站VPN串連建立完成後,您需要在AWS平台下載隧道對端裝置(本文中指阿里雲VPN網關)的VPN設定檔,在VPN設定檔中查看阿里雲側需配置的預先共用金鑰和BGP IP地址。下載設定檔的操作,請參見下載設定檔。本文下載設定檔時供應商選擇Generic、IKE版本選擇IKEv2。
說明建立網站到網站的VPN串連時如果您指定了預先共用金鑰,無需再通過VPN設定檔查看。如果您使用了系統自動產生的預先共用金鑰,您可以通過VPN設定檔查看系統產生的預先共用金鑰。阿里雲側和AWS側隧道的預先共用金鑰需保持一致。
本文中,兩個VPN串連隧道1的外部IP地址、BGP IP地址以及關聯的客戶網關IP地址如下表所示:
網站到網站VPN串連
隧道
外部IP地址
AWS側BGP IP地址
阿里雲側BGP IP地址
關聯的客戶網關IP地址
網站到網站VPN串連1
Tunnel 1
3.XX.XX.52
169.254.116.209
169.254.116.210
8.XX.XX.146
網站到網站VPN串連2
Tunnel 1
3.XX.XX.56
169.254.214.97
169.254.214.98
8.XX.XX.74
配置路由傳播。
您需要在虛擬私人網關關聯的VPC執行個體的路由表下開啟路由傳播,以確保網站到網站VPN串連下的路由可以自動傳播到AWS VPC執行個體的路由表中。
步驟三:在阿里雲部署VPN網關
在AWS平台完成VPN配置後,請根據以下資訊在阿里雲側部署VPN網關,以便AWS VPC和阿里雲VPC之間建立IPsec-VPN串連。
建立使用者網關。
登入VPN網關管理主控台。
在左側導覽列,選擇
。在頂部功能表列選擇使用者網關的地區。
使用者網關地區需和VPN網關執行個體的地區相同。
在使用者網關頁面,單擊建立使用者網關。
在建立使用者網關面板,根據以下資訊進行配置,然後單擊確定。
您需要建立兩個使用者網關,並將AWS平台網站到網站VPN串連的隧道外部IP地址作為使用者網關的IP地址,以建立兩個加密隧道。以下僅列舉本文強相關配置項,其餘配置保持預設值或為空白。更多資訊,請參見建立和系統管理使用者網關。
重要僅使用每個網站到網站VPN串連的Tunnel1的外部IP地址作為使用者網關的地址。每個網站到網站VPN串連的Tunnel2的外部IP地址預設不使用,IPsec-VPN串連建立完成後,每個網站到網站VPN串連的Tunnel2預設不通。
配置項
說明
使用者網關1
使用者網關2
名稱
輸入使用者網關的名稱。
輸入使用者網關1。
輸入使用者網關2。
IP地址
輸入AWS平台隧道的外部IP地址。
輸入3.XX.XX.52。
輸入3.XX.XX.56。
自治系統號
輸入AWS虛擬私人網關的BGP AS號。
說明使用BGP動態路由方式時,需配置該項。
輸入64512。
輸入64512。
建立IPsec串連。
在左側導覽列,選擇
。在頂部功能表列選擇IPsec串連的地區。
IPsec串連的地區需和VPN網關執行個體的地區相同。
在IPsec串連頁面,單擊建立IPsec串連。
在建立IPsec串連頁面,根據以下資訊配置IPsec串連,然後單擊確定。
配置項
說明
本文樣本值
名稱
輸入IPsec串連的名稱。
輸入IPsec串連。
綁定資源
選擇IPsec串連綁定的資源類型。
選擇VPN網關。
VPN網關
選擇IPsec串連關聯的VPN網關執行個體。
選擇已建立的VPN網關。
路由模式
選擇路由模式。
目的路由模式:基於目的IP地址路由和轉寄流量。
感興趣流模式:基於源IP地址和目的IP地址精確的路由和轉寄流量。
本文使用靜態路由方式時,選擇使用感興趣流模式(推薦)。
本端網段:輸入10.0.0.0/16。
對端網段:輸入192.168.0.0/16。
本文使用BGP動態路由方式時,選擇使用目的路由模式(推薦)。
立即生效
選擇IPsec串連的配置是否立即生效。取值:
是:配置完成後立即進行協商。
否:當有流量進入時進行協商。
選擇是。
啟用BGP
如果IPsec串連需要使用BGP路由協議,需要開啟BGP功能的開關,系統預設關閉BGP功能。
本文此處保持預設值不開啟BGP配置開關,預設為靜態路由方式。IPsec串連建立完成後如需使用BGP動態路由,則再單獨添加BGP配置。
Tunnel 1
為隧道1(主隧道)添加VPN相關配置。
系統預設隧道1為主隧道,隧道2為備隧道,且不支援修改。
使用者網關
為主隧道添加待關聯的使用者網關執行個體。
選擇使用者網關1。
預先共用金鑰
輸入主隧道的認證密鑰,用於身份認證。
密鑰長度為1~100個字元,支援數字、大小寫英文字母及右側字元
~`!@#$%^&*()_-+={}[]\|;:',.<>/?
。若您未指定預先共用金鑰,系統會隨機產生一個16位的字串作為預先共用金鑰。
重要隧道及其對端網關裝置配置的預先共用金鑰需一致,否則系統無法正常建立IPsec-VPN串連。
當前隧道的認證密鑰需和串連的AWS平台隧道的密鑰一致。
加密配置
添加IKE配置、IPsec配置、DPD、NAT穿越等配置。
IKE配置的SA生存周期(秒)需與AWS平台保持一致,本文設定為28800。
IPsec配置的SA生存周期(秒)需與AWS平台保持一致,本文設定為3600。
其餘配置項使用預設值。關於預設值的說明,請參見建立和管理IPsec串連(雙隧道模式)。
Tunnel 2
為隧道2(備隧道)添加VPN相關配置。
使用者網關
為備隧道添加待關聯的使用者網關執行個體。
選擇使用者網關2。
預先共用金鑰
輸入備隧道的認證密鑰,用於身份認證。
當前隧道的認證密鑰需和串連的AWS平台隧道的密鑰一致。
加密配置
添加IKE配置、IPsec配置、DPD、NAT穿越等配置。
IKE配置的SA生存周期(秒)需與AWS平台保持一致,本文設定為28800。
IPsec配置的SA生存周期(秒)需與AWS平台保持一致,本文設定為3600。
其餘配置項使用預設值。關於預設值的說明,請參見建立和管理IPsec串連(雙隧道模式)。
在建立成功對話方塊中,單擊取消。
配置VPN網關路由。
使用靜態路由方式
建立IPsec串連後需要為VPN網關執行個體配置路由。建立IPsec串連時,如果路由模式您選擇了感興趣流模式,在IPsec串連建立完成後,系統會自動在VPN網關執行個體下建立策略路由,路由是未發布狀態。您需要執行本操作,將VPN網關執行個體下的策略路由發布至VPC中。
在左側導覽列,選擇 。
在頂部功能表列,選擇VPN網關執行個體的地區。
在VPN網關頁面,單擊目標VPN網關執行個體ID。
在VPN網關執行個體詳情頁面單擊策略路由表頁簽,找到目標路由條目,在操作列單擊發布。
在發布路由對話方塊,單擊確定。
使用BGP動態路由方式
為IPsec串連添加BGP配置。
在左側導覽列,選擇 。
在IPsec串連頁面,找到IPsec串連,單擊IPsec串連ID。
在IPsec串連基本資料地區,在啟用BGP右側單擊按鈕,在BGP配置對話方塊根據以下資訊進行配置,然後單擊確定。
配置項
配置項說明
IPsec串連配置
本端自治系統號
輸入IPsec串連的自治系統號。
本文輸入65530。
Tunnel 1
為主隧道添加BGP配置。
為IPsec串連的主隧道添加BGP配置。
隧道網段
輸入建立加密隧道時使用的網段。
本文輸入169.254.116.208/30。
本端BGP地址
輸入IPsec串連的BGP IP地址。
該地址為隧道網段內的一個IP地址。
本文輸入169.254.116.210。
Tunnel 2
為備隧道添加BGP配置。
為IPsec串連的備隧道添加BGP配置。
隧道網段
輸入建立加密隧道時使用的網段。
本文輸入169.254.214.96/30。
本端BGP地址
輸入IPsec串連的BGP IP地址。
該地址為隧道網段內的一個IP地址。
本文輸入169.254.214.98。
根據以下步驟為VPN網關執行個體開啟BGP路由自動傳播功能。
在左側導覽列,選擇 。
在VPN網關頁面,找到VPN網關執行個體,在操作列選擇 。
在開啟路由自動傳播對話方塊,單擊確定。
步驟四:測試連通性
配置完成後,阿里雲VPC和AWS VPC之間已經成功建立IPsec-VPN串連。下文以阿里雲ECS執行個體訪問AWS EC2執行個體為例,測試VPC之間的連通性。
在測試連通性前,請先在AWS平台和阿里雲側分別排查VPC執行個體所應用的存取控制策略(例如網路ACL、安全性群組規則等),以確保存取控制策略允許兩個VPC執行個體下的資源互相訪問。
登入阿里雲VPC執行個體下的一個ECS執行個體。關於如何登入ECS執行個體,請參見ECS遠端連線方式概述。
在ECS執行個體中執行
ping
命令,訪問AWS平台的EC2執行個體,驗證通訊是否正常。如果ECS執行個體可以收到AWS平台EC2執行個體的回複報文,則證明VPC之間可以正常通訊。
ping <AWS平台EC2執行個體的私網IP地址>
測試IPsec-VPN串連的高可用性。
雙隧道模式的IPsec-VPN擁有高可用性,在主隧道中斷的情況下,流量自動通過備隧道進行傳輸。以下內容介紹如何驗證雙隧道模式IPsec-VPN串連的高可用性。
保持登入阿里雲VPC執行個體下的ECS執行個體。
執行以下命令,使阿里雲下的ECS執行個體持續訪問AWS平台的EC2執行個體。
ping <AWS平台EC2執行個體的私網IP地址> -c 10000
中斷IPsec-VPN串連的主隧道。
本文通過在阿里雲側修改IPsec串連下主隧道的預先共用金鑰來中斷主隧道,主隧道兩端的預先共用金鑰不一致,則主隧道會中斷。
查看阿里雲ECS執行個體下的通訊情況,會發現ECS執行個體下的流量在短暫中斷後,又重新恢複通訊,表示在主隧道中斷後,流量自動通過備隧道進行通訊。
您可以在阿里雲監控頁簽查看隧道的流量監控資訊。具體操作,請參見監控IPsec串連。