本文介紹如何使用國密型VPN網關在兩個專有網絡VPC(Virtual Private Cloud)之間建立IPsec-VPN連接(雙隧道模式),實現兩個VPC內的資源互訪。
場景示例
本文以下述場景為例。某企業在華東1(杭州)地域擁有VPC1、在華東2(上海)擁有VPC2。兩個VPC均已使用云服務器ECS(Elastic Compute Service)部署了業務,企業因后續發展,現在需要VPC1和VPC2中的業務可以互相訪問。
出于建設安全的網絡環境考慮,企業計劃使用VPN網關產品,通過在兩個VPC之間建立IPsec-VPN連接,對數據進行加密傳輸,實現資源的安全互訪。應企業政策要求,在數據加密傳輸過程中必須使用國密算法對數據進行加密,企業需使用國密型VPN網關,在VPC之間建立IPsec-VPN連接。
網段規劃
您可以自行規劃網段,請確保要互通的網段之間沒有重疊。
IPsec-VPN連接在大部分地域已支持雙隧道模式,因此在您規劃VPC實例的網段時,需確保VPC實例在雙隧道IPsec-VPN連接支持的地域和可用區擁有兩個交換機實例,且交換機實例分布在不同的可用區。對于僅支持一個可用區的地域,兩個交換機實例可以位于同一個可用區。
VPC實例網段規劃
VPC實例名稱 | VPC實例的地域 | VPC實例的網段 | ECS實例IP地址 |
VPC1 | 華東1(杭州) |
| ECS1 IP地址:192.168.10.106 |
VPC2 | 華東2(上海) |
| ECS2 IP地址:10.0.0.178 |
IPsec-VPN連接BGP網段規劃
本文中將分別描述IPsec-VPN連接使用靜態路由和BGP動態路由情況下如何實現VPC之間的通信。以下為本文的BGP網段規劃。
在IPsec-VPN連接配置BGP動態路由協議的情況下,兩條隧道的本端自治系統號需保持相同,兩條隧道對端的BGP AS號可以不相同,但建議保持相同。
VPN網關實例名稱 | IPsec連接名稱 | 隧道 | BGP AS號(本端自治系統號) | BGP隧道網段 | BGP IP地址 |
VPN網關1 | IPsec連接1 | 主隧道 | 65530 | 169.254.10.0/30 | 169.254.10.1 |
備隧道 | 65530 | 169.254.20.0/30 | 169.254.20.1 | ||
VPN網關2 | IPsec連接2 | 主隧道 | 65500 | 169.254.10.0/30 | 169.254.10.2 |
備隧道 | 65500 | 169.254.20.0/30 | 169.254.20.2 |
準備工作
您已經在阿里云華東1(杭州)地域創建了VPC1、在華東2(上海)地域創建了VPC2,兩個VPC中均使用ECS部署了相關業務。具體操作,請參見搭建IPv4專有網絡。
您已經了解兩個VPC中ECS實例所應用的安全組規則,并確保安全組規則允許兩個ECS實例互訪。具體操作,請參見查詢安全組規則和添加安全組規則。
配置流程
步驟一:上傳SSL證書
生成國密型證書。
登錄gmcert。
選擇在線生成密鑰&證書。
在線上簽發證書頁面,請參見下圖進行配置,然后下載證書。
本文中生成的證書即可用于加密也可以用于簽名。
下載證書后,請在本地電腦上解壓證書。解壓后,文件夾下將包含以下三個文件。
上傳證書至數字證書管理服務控制臺,相關配置項說明如下。具體操作,請參見上傳和分享SSL證書。
配置項
說明
證書標準
選擇國密(SM2)標準。
證書名稱
自定義證書名稱。
證書文件
上傳.cert.pem格式文件。
證書私鑰
上傳.key.pem格式文件。
加密證書
上傳.cert.pem格式文件。
加密私鑰
上傳.key.pem格式文件。
上傳證書后,保持在上傳證書頁簽,查看并記錄SSL證書的主題信息,用于后續建立IPsec-VPN連接。
在目標SSL證書的操作列,選擇
,在證書詳情面板,查看證書詳細信息,并將證書的主題信息記錄為以下格式。CN=z****,O=hangzhou,OU=hangzhou,C=CN
步驟二:創建國密型VPN網關
登錄VPN網關管理控制臺。
在頂部菜單欄,選擇VPN網關實例所屬的地域。
本文選擇華東1(杭州)。
說明VPN網關實例的地域和待關聯的VPC實例的地域需相同。
在VPN網關頁面,單擊創建VPN網關。
在購買頁面,根據以下信息配置VPN網關,然后單擊立即購買并完成支付。
配置項
說明
實例名稱
輸入VPN網關實例的名稱。本文輸入VPN網關1。
資源組
選擇VPN網關實例所屬的資源組。本文選擇默認資源組。
如果不選擇,VPN網關實例創建完成后歸屬于默認資源組。
地域和可用區
選擇VPN網關實例所屬的地域。本文選擇華東1(杭州)。
網關類型
選擇VPN網關實例的網關類型。本文選擇國密型。
隧道
默認為雙隧道。
VPC
選擇VPN網關實例關聯的VPC實例。本文選擇VPC1。
虛擬交換機1
從VPC1實例中選擇第一個交換機。
說明系統默認幫您選擇第一個交換機實例,您可以手動修改或者直接使用默認的交換機實例。
創建VPN網關實例后,不支持修改VPN網關實例關聯的交換機實例,您可以在VPN網關實例的詳情頁面查看VPN網關實例關聯的交換機、交換機所屬可用區以及交換機下ENI的信息。
虛擬交換機2
從VPC1實例中選擇第二個交換機。
您需要從VPN網關實例關聯的VPC實例下指定兩個分布在不同可用區的交換機實例,以實現IPsec-VPN連接可用區級別的容災。
對于僅支持一個可用區的地域 ,不支持可用區級別的容災,建議您在該可用區下指定兩個不同的交換機實例以實現IPsec-VPN連接的高可用,支持選擇和第一個相同的交換機實例。
帶寬規格
選擇VPN網關實例的公網帶寬峰值。單位:Mbps。
IPsec-VPN
選擇開啟或關閉IPsec-VPN功能。本文選擇開啟。
計費周期
選擇購買時長。
您可以選擇是否自動續費:
按月購買:自動續費周期為1個月。
按年購買:自動續費周期為1年。
VPN網關的計費周期。默認值:按小時計費。
服務關聯角色
單擊創建關聯角色,系統自動創建服務關聯角色AliyunServiceRoleForVpn。
VPN網關使用此角色來訪問其他云產品中的資源,更多信息,請參見AliyunServiceRoleForVpn。
若本配置項顯示為已創建,則表示您的賬號下已創建了該角色,無需重復創建。
返回VPN網關頁面,查看已創建的VPN網關實例。
創建VPN網關實例后,其狀態是準備中,約1~5分鐘會變成正常狀態。正常狀態表明VPN網關實例已經完成了初始化,可以正常使用。
重復步驟2至步驟4,在華東2(上海)地域再創建一個名稱為VPN網關2的VPN網關實例,該VPN網關實例關聯VPC2,其余配置與VPN網關1相同。
創建完成后,兩個VPN網關實例的信息如下表所示。
VPN網關實例的名稱
VPN網關實例關聯的VPC實例名稱
VPN網關IP地址
VPN網關1
VPC1
IPsec地址1:120.XX.XX.33
IPsec地址2:47.XX.XX.109
VPN網關2
VPC2
IPsec地址1:139.XX.XX.86
IPsec地址2:139.XX.XX.89
步驟三:為VPN網關實例綁定證書
登錄VPN網關管理控制臺。
在頂部菜單欄,選擇VPN網關實例所屬的地域。
在VPN網關頁面,找到目標VPN網關,單擊目標VPN網關實例ID。
在VPN網關實例詳情頁面,單擊關聯證書頁簽。
在關聯證書頁簽,單擊綁定SSL證書。在綁定SSL證書對話框,綁定加密證書或簽名證書,然后單擊確定。
您需要在VPN網關1和VPN網關2下分別綁定一個加密證書和一個簽名證書。本文中VPN網關1和VPN網關2綁定相同的SSL證書,詳情如下表所示。
VPN網關實例
證書類型
證書
VPN網關1
加密證書
選擇在數字證書管理服務控制臺上傳的證書。
簽名證書
選擇在數字證書管理服務控制臺上傳的證書。
VPN網關2
加密證書
選擇在數字證書管理服務控制臺上傳的證書。
簽名證書
選擇在數字證書管理服務控制臺上傳的證書。
步驟四:創建用戶網關
在左側導航欄,選擇 。
在頂部菜單欄,選擇用戶網關實例的地域。
說明用戶網關實例的地域必須和待連接的VPN網關實例的地域相同。
在用戶網關頁面,單擊創建用戶網關。
在創建用戶網關面板,根據以下信息配置用戶網關實例,然后單擊確定。
您需要創建4個用戶網關實例,用于建立VPN隧道。用戶網關實例的配置請參見下表,其余配置項保持默認值或為空。
配置項
配置項說明
華東1(杭州)
華東1(杭州)
華東2(上海)
華東2(上海)
名稱
輸入用戶網關實例的名稱。
VPN網關1-Customer1
VPN網關1-Customer2
VPN網關2-Customer1
VPN網關2-Customer2
IP地址
輸入IP地址。
為VPN網關實例對端的IP地址。
說明在本文中VPN網關1和VPN網關2互為對方的用戶網關。
本文輸入VPN網關2下IPsec地址1的IP地址139.XX.XX.86。
本文輸入VPN網關2下IPsec地址2的IP地址139.XX.XX.89。
本文輸入VPN網關1的IPsec地址1的IP120.XX.XX.33。
本文輸入VPN網關1的IPsec地址2的IP47.XX.XX.109。
自治系統號
輸入自治系統號。
為VPN網關實例對端的自治系統號。
本文輸入VPN網關2下主隧道的BGP AS號65500。
本文輸入VPN網關2下備隧道的BGP AS號65500。
本文輸入VPN網關1下主隧道的BGP AS號65530。
本文輸入VPN網關1下備隧道的BGP AS號65530。
步驟五:創建IPsec連接
在左側導航欄,選擇 。
在頂部菜單欄,選擇IPsec連接的地域。
在IPsec連接頁面,單擊創建IPsec連接。
在創建IPsec連接頁面,根據以下信息配置IPsec連接,然后單擊確定。
您需要在兩個VPN網關實例下分別創建一個IPsec連接,IPsec連接的配置請參見下表。
配置項
配置項說明
IPsec連接1
IPsec連接2
名稱
輸入IPsec連接的名稱。
本文輸入IPsec連接1。
本文輸入IPsec連接2。
資源組
選擇VPN網關實例所屬的資源組。
如果您不選擇,系統直接展示所有資源組下的VPN網關實例。
本文選擇默認資源組。
本文選擇默認資源組。
綁定資源
選擇IPsec連接綁定的資源類型。
本文選擇VPN網關。
本文選擇VPN網關。
VPN網關
選擇IPsec連接關聯的VPN網關實例。
本文選擇VPN網關1。
本文選擇VPN網關2。
路由模式
選擇路由模式。
說明如果IPsec連接要使用BGP動態路由協議,建議選擇目的路由模式。
本文選擇目的路由模式。
本文選擇目的路由模式。
立即生效
選擇IPsec連接的配置是否立即生效。取值:
是:配置完成后立即進行協商。
否:當有流量進入時進行協商。
說明使用VPN網關在兩個VPC之間建立IPsec-VPN連接的場景下,推薦其中一個IPsec連接的立即生效配置為是,以便在配置完成后,兩個VPC之間可以立即開始IPsec協議的協商。
本文選擇是。
本文選擇否。
啟用BGP
如果IPsec連接需要使用BGP路由協議,需要打開BGP功能的開關,系統默認關閉BGP功能。
本文此處保持默認值不打開BGP配置開關。IPsec連接創建完成后再另行添加BGP配置。
本文此處保持默認值不打開BGP配置開關。IPsec連接創建完成后再另行添加BGP配置。
Tunnel 1
為隧道1(主隧道)添加VPN相關配置。
系統默認隧道1為主隧道,隧道2為備隧道,且不支持修改。
用戶網關
為主隧道添加待關聯的用戶網關實例。
本文選擇VPN網關1-Customer1。
本文選擇VPN網關2-Customer1
RemoteId
輸入對端證書的主題信息。
本文輸入VPN網關2綁定的簽名證書的主題信息
CN=z****,O=hangzhou,OU=hangzhou,C=CN
。本文輸入VPN網關1綁定的簽名證書的主題信息
CN=z****,O=hangzhou,OU=hangzhou,C=CN
。對端CA證書
選擇對端使用的CA證書。
單擊上傳證書,并在本地電腦中選擇VPN網關2使用的.cert.pem格式文件。
單擊上傳證書,并在本地電腦中選擇VPN網關1使用的.cert.pem格式文件。
加密配置
添加IKE配置、IPsec配置、DPD、NAT穿越等配置。
國密型VPN網關需選擇ikev1,其余配置項保持默認值。
國密型VPN網關需選擇ikev1,其余配置項保持默認值。
Tunnel 2
為隧道2(備隧道)添加VPN相關配置。
用戶網關
為備隧道添加待關聯的用戶網關實例。
本文選擇VPN網關1-Customer2。
本文選擇VPN網關2-Customer2。
RemoteId
輸入對端證書的主題信息。
本文輸入VPN網關2綁定的簽名證書的主題信息
CN=z****,O=hangzhou,OU=hangzhou,C=CN
。本文輸入VPN網關1綁定的簽名證書的主題信息
CN=z****,O=hangzhou,OU=hangzhou,C=CN
。對端CA證書
選擇對端使用的CA證書。
單擊上傳證書,并在本地電腦中選擇VPN網關2使用的.cert.pem格式文件。
單擊上傳證書,并在本地電腦中選擇VPN網關1使用的.cert.pem格式文件。
加密配置
添加IKE配置、IPsec配置、DPD、NAT穿越等配置。
國密型VPN網關需選擇ikev1,其余配置項保持默認值。
國密型VPN網關需選擇ikev1,其余配置項保持默認值。
在創建成功對話框中,單擊確定。
配置完成后,VPC實例、VPN網關實例、IPsec連接、用戶網關實例之間的對應關系如下表所示。
VPC實例名稱
VPN網關實例名稱
IPsec連接名稱
隧道
隧道關聯的用戶網關實例名稱
VPC1
VPN網關1
IPsec連接1
主隧道
VPN網關1-Customer1
備隧道
VPN網關1-Customer2
VPC2
VPN網關2
IPsec連接2
主隧道
VPN網關2-Customer1
備隧道
VPN網關2-Customer2
步驟六:配置路由
雙隧道模式下,IPsec-VPN連接支持配置靜態路由和BGP動態路由,以下內容分別介紹如何配置。您選擇一種路由協議進行配置即可。
配置靜態路由
本文以目的路由為例進行說明。
在左側導航欄,選擇 。
在頂部菜單欄,選擇VPN網關實例的地域。
在VPN網關頁面,找到目標VPN網關實例,單擊實例ID。
在目的路由表頁簽,單擊添加路由條目。
在添加路由條目面板,根據以下信息配置目的路由,然后單擊確定。
您需要分別為VPN網關1和VPN網關2配置路由條目,配置信息如下表所示。
配置項
配置項說明
VPN網關1
VPN網關2
目標網段
輸入待互通的目標網段。
輸入VPC2的私網網段192.168.0.0/16。
輸入VPC1的私網網段10.0.0.0/16。
下一跳類型
選擇下一跳的類型。
選擇IPsec連接。
選擇IPsec連接。
下一跳
選擇下一跳。
選擇IPsec連接1。
選擇IPsec連接2。
發布到VPC
選擇是否將新添加的路由發布到VPN網關關聯的VPC中。
本文選擇是。
本文選擇是。
配置BGP動態路由
為IPsec連接添加BGP配置。
在左側導航欄,選擇 。
在頂部菜單欄,選擇IPsec連接的地域。
在IPsec連接基本信息區域,在啟用BGP右側單擊按鈕,在BGP配置對話框根據以下信息進行配置,然后單擊確定。
根據下表分別為IPsec連接1和IPsec連接2添加BGP配置。
配置項
配置項說明
IPsec連接1
IPsec連接2
本端自治系統號
輸入IPsec連接的自治系統號。
本文輸入65530。
本文輸入65500。
Tunnel 1
為主隧道添加BGP配置。
為IPsec連接1的主隧道添加BGP配置。
為IPsec連接2的主隧道添加BGP配置。
隧道網段
輸入建立加密隧道時使用的網段。
該網段需是一個在169.254.0.0/16網段內,掩碼長度為30的網段。
說明一個VPN網關實例下,每個隧道的網段需保持唯一。
本文輸入169.254.10.0/30。
本文輸入169.254.10.0/30。
本端BGP地址
輸入IPsec連接的BGP IP地址。
該地址為隧道網段內的一個IP地址。
本文輸入169.254.10.1。
本文輸入169.254.10.2。
Tunnel 2
為備隧道添加BGP配置。
為IPsec連接1的備隧道添加BGP配置。
為IPsec連接2的備隧道添加BGP配置。
隧道網段
輸入建立加密隧道時使用的網段。
該網段需是一個在169.254.0.0/16網段內,掩碼長度為30的網段。
說明一個VPN網關實例下,每個隧道的網段需保持唯一。
本文輸入169.254.20.0/30。
本文輸入169.254.20.0/30
本端BGP地址
輸入IPsec連接的BGP IP地址。
該地址為隧道網段內的一個IP地址。
本文輸入169.254.20.1。
本文輸入169.254.20.2。
根據以下步驟分別為VPN網關1和VPN網關2開啟BGP路由自動傳播功能。
在左側導航欄,選擇 。
在VPN網關頁面,找到VPN網關實例,在操作列選擇 。
在開啟路由自動傳播對話框,單擊確定。
步驟七:驗證測試
完成上述步驟后,VPC1和VPC2之間已經可以相互通信。以下內容介紹如何測試VPC1和VPC2之間的連通性以及如何驗證雙隧道模式IPsec-VPN連接的高可用性。
測試連通性。
登錄VPC1內的ECS1實例。
關于如何登錄ECS實例,請參見連接方式概述。
執行ping命令,訪問VPC2下的ECS2實例,驗證兩個VPC之間的資源是否可以互訪。
ping <ECS2實例IP地址>
收到如下所示的回復報文,則證明兩個VPC之間的資源可以正常互訪。
測試高可用性。
雙隧道模式的IPsec-VPN擁有高可用性,在主隧道中斷的情況下,流量自動通過備隧道進行傳輸。以下內容介紹如何驗證雙隧道模式IPsec-VPN連接的高可用性。
登錄VPC1內的ECS1實例。
關于如何登錄ECS實例,請參見連接方式概述。
執行以下命令,使ECS1連續向ECS2發送訪問報文。
ping <ECS2實例IP地址> -c 10000
中斷IPsec-VPN連接下的主隧道。
本文通過修改IPsec連接1下主隧道的IKE版本為IKEv2來中斷主隧道。國密型VPN網關下,IPsec-VPN連接不支持IKEv2。
查看ECS1下的通信情況,會發現ECS1實例下的流量在短暫中斷后,又重新恢復通信,表示在主隧道中斷后,流量自動通過備隧道進行通信。
您可以在監控頁簽查看隧道的流量監控信息。具體操作,請參見監控IPsec連接。
說明在本地數據中心通過IPsec-VPN連接雙隧道模式與VPC互通的場景中,主隧道中斷后,從VPC去往本地數據中心的流量自動切換至備隧道進行傳輸(由阿里云側自動切換),從本地數據中心去往VPC的流量路徑依賴本地數據中心的路由配置,如果本地數據中心不支持切換流量至備隧道,您可以通過配置云監控來監控主隧道,在監控到主隧道中斷后,手動更改本地數據中心的路由配置,切換流量至備隧道進行傳輸。具體操作,請參見監控IPsec連接。