本文介紹如何使用IPsec-VPN(雙隧道模式)在兩個Virtual Private Cloud(Virtual Private Cloud)之間建立安全連線,實現兩個VPC內的資源互訪。
情境樣本
VPN網關不支援建立跨境串連。使用IPsec-VPN建立VPC和VPC之間的串連時,兩個VPC必須同屬於中國內地地區或者同屬於非中國內地地區。關於中國內地地區和非中國內地地區的說明,請參見中國內地地區和非中國內地地區。
在一個VPC屬於中國內地地區,另一個VPC屬於非中國內地地區的情境下,如果您需要在兩個VPC之間建立串連,您可以使用雲企業網產品。更多資訊,請參見什麼是雲企業網。
如果您要在跨地區的VPC之間建立IPsec-VPN串連,IPsec-VPN串連的網路品質會受公網品質的影響,推薦您使用雲企業網建立VPC到VPC的串連。具體操作,請參見使用雲企業網實現跨地區跨帳號VPC互連(企業版)。
本文以下述情境為例。某企業在德國(法蘭克福)地區擁有VPC1和VPC2。兩個VPC均已使用Elastic Compute Service(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串連雙隧道模式。
您已經在阿里雲德國(法蘭克福)地區分別建立了VPC1和VPC2,兩個VPC中均使用ECS部署了相關業務。具體操作,請參見搭建IPv4專用網路。
您已經瞭解兩個VPC中ECS執行個體所應用的安全性群組規則,並確保安全性群組規則允許兩個ECS執行個體互訪。具體操作,請參見查詢安全性群組規則和添加安全性群組規則。
配置流程
步驟一:建立VPN網關
登入VPN網關管理主控台。
在頂部功能表列,選擇VPN網關執行個體所屬的地區。
本文選擇德國(法蘭克福)。
說明VPN網關執行個體的地區和待關聯的VPC執行個體的地區需相同。
在VPN網關頁面,單擊建立VPN網關。
在購買頁面,根據以下資訊配置VPN網關,然後單擊立即購買並完成支付。
配置項
說明
執行個體名稱
輸入VPN網關執行個體的名稱。本文輸入VPN網關1。
資源群組
選擇VPN網關執行個體所屬的資源群組。本文選擇預設資源群組。
如果不選擇,VPN網關執行個體建立完成後歸屬於預設資源群組。
地區
選擇VPN網關執行個體所屬的地區。本文選擇德國(法蘭克福)。
網關類型
選擇VPN網關執行個體的網關類型。本文選擇普通型。
網路類型
選擇VPN網關執行個體的網路類型。本文使用公網。
隧道
預設為雙隧道。
專用網路
選擇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。
流量
VPN網關執行個體的計費方式。預設值:按流量計費。
更多資訊,請參見計費說明。
IPsec-VPN
選擇開啟或關閉IPsec-VPN功能。本文選擇開啟。
SSL-VPN
選擇開啟或關閉SSL-VPN功能。本文選擇關閉。
購買時間長度
VPN網關的計費周期。預設值:按小時計費。
服務關聯角色
單擊建立關聯角色,系統自動建立服務關聯角色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的網段。
說明一個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網關執行個體,在操作列選擇 。
在開啟路由自動傳播對話方塊,單擊確定。
配置路由後,在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的流量路徑依賴本機資料中心的路由配置,如果本機資料中心不支援切換流量至備隧道,您可以通過配置CloudMonitor來監控主隧道,在監控到主隧道中斷後,手動更改本機資料中心的路由配置,切換流量至備隧道進行傳輸。具體操作,請參見監控IPsec串連。