本文介紹如何使用IPsec-VPN(雙隧道模式)在兩個專有網絡VPC(Virtual Private Cloud)之間建立安全連接,實現兩個VPC內的資源互訪。
場景示例
VPN網關不支持建立跨境連接。使用IPsec-VPN建立VPC和VPC之間的連接時,兩個VPC必須同屬于中國內地地域或者同屬于非中國內地地域。關于中國內地地域和非中國內地地域的說明,請參見中國內地地域和非中國內地地域。
在一個VPC屬于中國內地地域,另一個VPC屬于非中國內地地域的場景下,如果您需要在兩個VPC之間建立連接,您可以使用云企業網產品。更多信息,請參見什么是云企業網。
如果您要在跨地域的VPC之間建立IPsec-VPN連接,IPsec-VPN連接的網絡質量會受公網質量的影響,推薦您使用云企業網建立VPC到VPC的連接。具體操作,請參見使用云企業網實現跨地域跨賬號VPC互通(企業版)。
本文以下述場景為例。某企業在德國(法蘭克福)地域擁有VPC1和VPC2。兩個VPC均已使用云服務器ECS(Elastic Compute Service)部署了業務,企業因后續發展,現在需要VPC1和VPC2中的業務可以互相訪問。
出于建設安全的網絡環境考慮,企業計劃使用VPN網關產品,通過在兩個VPC之間建立IPsec-VPN連接,對數據進行加密傳輸,實現資源的安全互訪。
網段規劃
您可以自行規劃網段,請確保要互通的網段之間沒有重疊。
VPC實例網段規劃
VPC實例名稱 | VPC實例的網段 | ECS實例IP地址 |
VPC1 |
|
|
VPC2 |
|
|
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 |
準備工作
目前僅以下地域和可用區支持IPsec-VPN連接雙隧道模式。
地域
可用區
華東1(杭州)
K、J、I、H、G
華東2(上海)
K、L、M、N、B、D、E、F、G
華東5(南京-本地地域)
A
華東6(福州-本地地域)
A
華中1(武漢-本地地域)
A
華南1(深圳)
A(已停止售賣)、E、D、F
華南2(河源)
A、B
華南3(廣州)
A、B
華北1(青島)
B、C
華北2(北京)
F、E、H、G、A、C、J、I、L、K
華北3(張家口)
A、B、C
華北5(呼和浩特)
A、B
華北6(烏蘭察布)
A、B、C
西南1(成都)
A、B
中國香港
B、C、D
新加坡
A、B、C
泰國(曼谷)
A
日本(東京)
A、B、C
韓國(首爾)
A
菲律賓(馬尼拉)
A
印度尼西亞(雅加達)
A、B、C
馬來西亞(吉隆坡)
A、B
英國(倫敦)
A、B
德國(法蘭克福)
A、B、C
美國(硅谷)
A、B
美國(弗吉尼亞)
A、B
阿聯酋(迪拜)
A
華東1金融云
K、J、I、H
華東2金融云
F、G、Z、K
華南1金融云
D、E
華北2金融云(邀測)
K、L
您已經在阿里云德國(法蘭克福)地域分別創建了VPC1和VPC2,兩個VPC中均使用ECS部署了相關業務。具體操作,請參見搭建IPv4專有網絡。
您已經了解兩個VPC中ECS實例所應用的安全組規則,并確保安全組規則允許兩個ECS實例互訪。具體操作,請參見查詢安全組規則和添加安全組規則。
配置流程
步驟一:創建VPN網關
登錄VPN網關管理控制臺。
在頂部菜單欄,選擇VPN網關實例所屬的地域。
本文選擇德國(法蘭克福)。
說明VPN網關實例的地域和待關聯的VPC實例的地域需相同。
在VPN網關頁面,單擊創建VPN網關。
在購買頁面,根據以下信息配置VPN網關,然后單擊立即購買并完成支付。
配置項
說明
實例名稱
輸入VPN網關實例的名稱。本文輸入VPN網關1。
資源組
選擇VPN網關實例所屬的資源組。本文選擇默認資源組。
如果不選擇,VPN網關實例創建完成后歸屬于默認資源組。
地域和可用區
選擇VPN網關實例所屬的地域。本文選擇德國(法蘭克福)。
網關類型
選擇VPN網關實例的網關類型。本文選擇普通型。
網絡類型
選擇VPN網關實例的網絡類型。本文使用公網。
隧道
默認為雙隧道。
VPC
選擇VPN網關實例關聯的VPC實例。本文選擇VPC1。
虛擬交換機
從VPC1實例中選擇第一個交換機。
IPsec-VPN連接的隧道模式為單隧道時,您僅需要指定一個交換機實例。
IPsec-VPN連接的隧道模式為雙隧道時,您需要指定兩個交換機實例。
IPsec-VPN功能開啟后,系統會在兩個交換機實例下各創建一個彈性網卡ENI(Elastic Network Interfaces),作為使用IPsec-VPN連接與VPC流量互通的接口。每個ENI會占用交換機下的一個IP地址。
說明系統默認幫您選擇第一個交換機實例,您可以手動修改或者直接使用默認的交換機實例。
創建VPN網關實例后,不支持修改VPN網關實例關聯的交換機實例,您可以在VPN網關實例的詳情頁面查看VPN網關實例關聯的交換機、交換機所屬可用區以及交換機下ENI的信息。
虛擬交換機2
從VPC1實例中選擇第二個交換機。
您需要從VPN網關實例關聯的VPC實例下指定兩個分布在不同可用區的交換機實例,以實現IPsec-VPN連接可用區級別的容災。
對于僅支持一個可用區的地域 ,不支持可用區級別的容災,建議您在該可用區下指定兩個不同的交換機實例以實現IPsec-VPN連接的高可用,支持選擇和第一個相同的交換機實例。
帶寬規格
選擇VPN網關實例的公網帶寬峰值。單位:Mbps。
IPsec-VPN
選擇開啟或關閉IPsec-VPN功能。本文選擇開啟。
SSL-VPN
選擇開啟或關閉SSL-VPN功能。本文選擇關閉。
計費周期
選擇購買時長。
您可以選擇是否自動續費:
按月購買:自動續費周期為1個月。
按年購買:自動續費周期為1年。
服務關聯角色
單擊創建關聯角色,系統自動創建服務關聯角色AliyunServiceRoleForVpn。
VPN網關使用此角色來訪問其他云產品中的資源,更多信息,請參見AliyunServiceRoleForVpn。
若本配置項顯示為已創建,則表示您的賬號下已創建了該角色,無需重復創建。
返回VPN網關頁面,查看已創建的VPN網關實例。
創建VPN網關實例后,其狀態是準備中,約1~5分鐘會變成正常狀態。正常狀態表明VPN網關實例已經完成了初始化,可以正常使用。
重復步驟3至步驟4,在德國(法蘭克福)地域再創建一個名稱為VPN網關2的VPN網關實例,該VPN網關實例關聯VPC2,其余配置與VPN網關1相同。
創建完成后,兩個VPN網關實例的信息如下表所示。
VPN網關實例的名稱
VPN網關實例關聯的VPC實例名稱
VPN網關IP地址
VPN網關1
VPC1
IPsec地址1:47.XX.XX.87
IPsec地址2:47.XX.XX.78
VPN網關2
VPC2
IPsec地址1:47.XX.XX.207
IPsec地址2:47.XX.XX.15
步驟二:創建用戶網關
在左側導航欄,選擇 。
在頂部菜單欄,選擇用戶網關實例的地域。
說明用戶網關實例的地域必須和待連接的VPN網關實例的地域相同。
在用戶網關頁面,單擊創建用戶網關。
在創建用戶網關面板,根據以下信息配置用戶網關實例,然后單擊確定。
您需要在德國(法蘭克福)地域創建4個用戶網關實例,用于建立VPN隧道。用戶網關實例的配置請參見下表,其余配置項保持默認值或為空。
配置項
配置項說明
德國(法蘭克福)地域
德國(法蘭克福)地域
德國(法蘭克福)地域
德國(法蘭克福)地域
名稱
輸入用戶網關實例的名稱。
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地址47.XX.XX.207。
本文輸入VPN網關2下IPsec地址2的IP地址47.XX.XX.15。
本文輸入VPN網關1的IPsec地址1的IP47.XX.XX.87。
本文輸入VPN網關1的IPsec地址2的IP47.XX.XX.78。
自治系統號
輸入自治系統號。
為VPN網關實例對端的自治系統號。
本文輸入VPN網關2下主隧道的BGP AS號65500。
本文輸入VPN網關2下備隧道的BGP AS號65500。
本文輸入VPN網關1下主隧道的BGP AS號65530。
本文輸入VPN網關1下備隧道的BGP AS號65530。
步驟三:創建IPsec連接
VPN網關和用戶網關創建完成后,您需要分別創建兩個IPsec連接以建立IPsec-VPN連接。
在左側導航欄,選擇 。
在頂部菜單欄,選擇IPsec連接的地域。
在IPsec連接頁面,單擊創建IPsec連接。
在創建IPsec連接頁面,根據以下信息配置IPsec連接,然后單擊確定。
您需要在德國(法蘭克福)地域創建2個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
預共享密鑰
輸入主隧道的認證密鑰,用于身份認證。
密鑰長度為1~100個字符,支持數字、大小寫英文字母及右側字符
~`!@#$%^&*()_-+={}[]\|;:',.<>/?
。若您未指定預共享密鑰,系統會隨機生成一個16位的字符串作為預共享密鑰。
重要IPsec連接及其對端網關設備配置的預共享密鑰需一致,否則系統無法正常建立IPsec-VPN連接。
本文輸入fddsFF123****。
本文輸入fddsFF123****。
加密配置
添加IKE配置、IPsec配置、DPD、NAT穿越等配置。
本文保持默認配置。
本文保持默認配置。
Tunnel 2
為隧道2(備隧道)添加VPN相關配置。
用戶網關
為備隧道添加待關聯的用戶網關實例。
本文選擇VPN網關1-Customer2。
本文選擇VPN網關2-Customer2。
預共享密鑰
輸入備隧道的認證密鑰,用于身份認證。
本文輸入fddsFF456****。
本文輸入fddsFF456****。
加密配置
添加IKE配置、IPsec配置、DPD、NAT穿越等配置。
本文保持默認配置。
本文保持默認配置。
在創建成功對話框中,單擊確定。
配置完成后,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連接,單擊IPsec連接ID。
在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的網段,且不能是169.254.0.0/30、169.254.1.0/30、169.254.2.0/30、169.254.3.0/30、169.254.4.0/30、169.254.5.0/30、169.254.6.0/30和169.254.169.252/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的網段,且不能是169.254.0.0/30、169.254.1.0/30、169.254.2.0/30、169.254.3.0/30、169.254.4.0/30、169.254.5.0/30、169.254.6.0/30和169.254.169.252/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網關實例,在操作列選擇 。
在開啟路由自動傳播對話框,單擊確定。
配置路由后,在IPsec連接頁面可以查看到IPsec連接的隧道已經可用。
步驟五:驗證測試
完成上述步驟后,VPC1和VPC2之間已經可以相互通信。以下內容介紹如何測試VPC1和VPC2之間的連通性以及如何驗證IPsec-VPN連接雙隧道模式下的高可用性。
測試連通性。
登錄VPC1內的ECS1實例。
關于如何登錄ECS實例,請參見連接實例。
執行ping命令,訪問VPC2下的ECS3實例,驗證兩個VPC之間的資源是否可以互訪。
ping <ECS3實例IP地址>
收到如下所示的回復報文,則證明兩個VPC之間的資源可以正常互訪。
測試高可用性。
登錄VPC1內的ECS1實例。
關于如何登錄ECS實例,請參見連接實例。
執行以下命令,使ECS1連續向ECS3發送訪問報文。
ping <ECS3實例IP地址> -c 10000
中斷IPsec-VPN連接下的主隧道。
本文通過修改IPsec連接1下主隧道的預共享密鑰來中斷主隧道,主隧道兩端的預共享密鑰不一致,則主隧道會中斷。
查看ECS1下的通信情況,會發現ECS1實例下的流量在短暫中斷后,又重新恢復通信,表示在主隧道中斷后,流量自動通過備隧道進行通信。
說明在本地數據中心通過IPsec-VPN連接雙隧道模式與VPC互通的場景中,主隧道中斷后,從VPC去往本地數據中心的流量自動切換至備隧道進行傳輸(由阿里云側自動切換),從本地數據中心去往VPC的流量路徑依賴本地數據中心的路由配置,如果本地數據中心不支持切換流量至備隧道,您可以通過配置云監控來監控主隧道,在監控到主隧道中斷后,手動更改本地數據中心的路由配置,切換流量至備隧道進行傳輸。具體操作,請參見監控IPsec連接。