本文介紹如何使用公網網路類型的VPN網關在Virtual Private Cloud(Virtual Private Cloud)和本機資料中心之間建立IPsec-VPN串連(雙隧道模式),實現本機資料中心與VPC之間加密通訊以及IPsec-VPN串連的高可用。
環境要求
IPsec串連綁定VPN網關執行個體時,本機資料中心的網關裝置必須配置公網IP地址。
對於支援IPsec-VPN串連雙隧道模式的地區,推薦本機資料中心的網關裝置配置2個公網IP地址或者本機資料中心擁有兩個本地網關裝置,每個本地網關裝置均擁有一個公網IP地址,以建立高可用的IPsec-VPN串連。關於支援IPsec-VPN串連雙隧道模式的地區資訊,請參見【升級公告】IPsec-VPN串連升級為雙隧道模式。
本機資料中心的網關裝置必須支援IKEv1或IKEv2協議,支援任意一種協議的裝置均可以和轉寄路由器建立IPsec-VPN串連。
本機資料中心的網段與待訪問的網段沒有重疊。
情境樣本
本文以下圖情境樣本。某公司在阿里雲華北5(呼和浩特)地區建立了VPC,VPC主網段為192.168.0.0/16。企業在呼和浩特地區擁有一個本機資料中心,因業務發展,本機資料中心172.16.0.0/16網段下的裝置需要訪問VPC下的資源。您可以在本機資料中心與雲上VPC之間建立IPsec-VPN串連,實現雲上和雲下加密通訊以及IPsec-VPN串連的高可用。
準備工作
您已經在阿里雲華北5(呼和浩特)地區建立了VPC,VPC中使用Elastic Compute Service(Elastic Compute Service)部署了相關業務。具體操作,請參見搭建IPv4專用網路。
您已經瞭解VPC中ECS執行個體所應用的安全性群組規則以及本機資料中心應用的存取控制規則,並確保ECS安全性群組規則和本機資料中心存取控制規則允許本機資料中心和VPC之間互相互訪。關於ECS安全性群組規則更多內容,請參見查詢安全性群組規則和添加安全性群組規則。
配置流程
步驟一:建立VPN網關
登入VPN網關管理主控台。
在頂部功能表列,選擇VPN網關的地區。
VPN網關的地區需和本機資料中心要訪問的VPC執行個體的地區相同。
在VPN網關頁面,單擊建立VPN網關。
在購買頁面,根據以下資訊配置VPN網關,然後單擊立即購買並完成支付。
配置項
說明
本文樣本值
執行個體名稱
輸入VPN網關執行個體的名稱。
輸入VPNGW。
資源群組
選擇VPN網關執行個體所屬的資源群組。
如果不選擇,VPN網關執行個體建立後將歸屬於預設資源群組。
本文保持為空白。
地區
選擇VPN網關執行個體所屬的地區。
選擇華北5(呼和浩特)。
網關類型
選擇VPN網關執行個體的網關類型。
選擇普通型。
網路類型
選擇VPN網關執行個體的網路類型。
公網:VPN網關通過公網建立VPN串連。
私網:VPN網關通過私網建立VPN串連。
選擇公網。
隧道
系統直接展示當前地區IPsec-VPN串連支援的隧道模式。
雙隧道
單隧道
關於單隧道和雙隧道的說明,請參見【升級公告】IPsec-VPN串連升級為雙隧道模式。
本文保持預設值雙隧道。
專用網路
選擇VPN網關執行個體關聯的VPC執行個體。
選擇阿里雲華北5(呼和浩特)地區的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執行個體下的第二個交換器執行個體。
頻寬峰值
選擇VPN網關執行個體的頻寬規格。單位:Mbps。
本文使用預設值。
流量
VPN網關的計費方式。預設值:按流量計費。
更多資訊,請參見計費說明。
本文使用預設值。
IPsec-VPN
選擇開啟或關閉IPsec-VPN功能。預設值:開啟。
選擇開啟IPsec-VPN功能。
SSL-VPN
選擇開啟或關閉SSL-VPN功能。預設值:關閉。
選擇關閉SSL-VPN功能。
購買時間長度
VPN網關的計費周期。預設值:按小時計費。
本文使用預設值。
服務關聯角色
單擊建立關聯角色,系統自動建立服務關聯角色AliyunServiceRoleForVpn。
VPN網關使用此角色來訪問其他雲產品中的資源,更多資訊,請參見。
若本配置項顯示為已建立,則表示您當前帳號下已建立了該角色,無需重複建立。
根據需求建立服務關聯角色或跳過本配置項。
返回VPN網關頁面,查看建立的VPN網關執行個體。
剛建立好的VPN網關執行個體的狀態是準備中,約1~5分鐘左右會變成正常狀態。正常狀態表明VPN網關已經完成了初始化,可以正常使用。
系統會為公網網路類型的VPN網關執行個體分配兩個不同的公網IP地址,用於建立兩個加密隧道。本文中系統分配的兩個公網IP地址如下表:
IPsec-VPN串連隧道
地址
IPsec地址1(主隧道)
39.XX.XX.218
IPsec地址2(備隧道)
182.XX.XX.19
步驟二:建立使用者網關
在左側導覽列,選擇
。在頂部功能表列選擇使用者網關的地區。
使用者網關地區需和VPN網關執行個體的地區相同。
在使用者網關頁面,單擊建立使用者網關。
在建立使用者網關面板,根據以下資訊進行配置,然後單擊確定。
您需要建立兩個使用者網關用於建立兩個加密隧道。以下僅列舉本文強相關配置項,其餘配置保持預設值或為空白。更多資訊,請參見建立和系統管理使用者網關。
配置項
說明
使用者網關1
使用者網關2
名稱
輸入使用者網關的名稱。
輸入CustomerGW1。
輸入CustomerGW2。
IP地址
輸入本機資料中心的網關裝置的公網IP地址。
輸入211.XX.XX.36。
輸入211.XX.XX.71。
步驟三:建立IPsec串連
在左側導覽列,選擇
。在頂部功能表列選擇IPsec串連的地區。
IPsec串連的地區需和VPN網關執行個體的地區相同。
在IPsec串連頁面,單擊建立IPsec串連。
在建立IPsec串連頁面,根據以下資訊進行配置,然後單擊確定。
配置項
說明
本文樣本值
名稱
輸入IPsec串連的名稱。
輸入IPsec-Connection。
資源群組
選擇VPN網關執行個體所屬的資源群組。
選擇預設資源群組。
綁定資源
選擇IPsec串連綁定的資源類型。
選擇VPN網關。
VPN網關
選擇IPsec串連關聯的VPN網關執行個體。
選擇VPNGW。
路由模式
選擇路由模式。
目的路由模式:基於目的IP地址路由和轉寄流量。
感興趣流模式:基於源IP地址和目的IP地址精確的路由和轉寄流量。
選擇目的路由模式。
立即生效
選擇IPsec串連的配置是否立即生效。取值:
是:配置完成後立即進行協商。
否:當有流量進入時進行協商。
選擇是。
啟用BGP
如果IPsec串連需要使用BGP路由協議,需要開啟BGP功能的開關,系統預設關閉BGP功能。
本文保持預設值,即不開啟BGP功能。
Tunnel 1
為隧道1(主隧道)添加VPN相關配置。
系統預設隧道1為主隧道,隧道2為備隧道,且不支援修改。
使用者網關
為主隧道添加待關聯的使用者網關執行個體。
選擇CustomerGW1。
預先共用金鑰
輸入主隧道的認證密鑰,用於身份認證。
密鑰長度為1~100個字元,支援數字、大小寫英文字母及右側字元
~`!@#$%^&*()_-+={}[]\|;:',.<>/?
,不能包含空格。若您未指定預先共用金鑰,系統會隨機產生一個16位的字串作為預先共用金鑰。建立IPsec串連後,您可以通過隧道的編輯按鈕查看系統產生的預先共用金鑰。具體操作,請參見修改隧道的配置。
重要隧道及其對端網關裝置配置的預先共用金鑰需一致,否則系統無法正常建立IPsec-VPN串連。
輸入fddsFF123****。
加密配置
添加IKE配置、IPsec配置、DPD、NAT穿越等配置。
除以下參數外,其餘配置項保持預設值。關於預設值的說明,請參見建立和管理IPsec串連(雙隧道模式)。
IKE配置的DH分組選擇group14。
IPsec配置的DH分組選擇group14。
說明您需要根據本地網關裝置的支援情況選擇加密配置參數,確保IPsec串連和本地網關裝置的加密配置保持一致。
Tunnel 2
為隧道2(備隧道)添加VPN相關配置。
使用者網關
為備隧道添加待關聯的使用者網關執行個體。
選擇CustomerGW2。
預先共用金鑰
輸入備隧道的認證密鑰,用於身份認證。
輸入fddsFF456****。
加密配置
添加IKE配置、IPsec配置、DPD、NAT穿越等配置。
除以下參數外,其餘配置項保持預設值。關於預設值的說明,請參見建立和管理IPsec串連(雙隧道模式)。
IKE配置的DH分組選擇group14。
IPsec配置的DH分組選擇group14。
說明您需要根據本地網關裝置的支援情況選擇加密配置參數,確保IPsec串連和本地網關裝置的加密配置保持一致。
標籤
為IPsec串連添加標籤。
本文保持為空白。
在建立成功對話方塊中,單擊取消。
保持在IPsec串連頁面,找到建立的IPsec串連,在操作列單擊產生對端配置。
對端配置是指需要在IPsec串連對端添加的VPN配置。本文情境中您需要將這些配置添加在本地網關裝置上。
在IPsec串連配置對話方塊,複製配置並儲存在您的本地,用於後續配置本地網關裝置。
步驟四:配置本地網關裝置
在阿里雲側建立IPsec串連後,您需要在本地網關裝置上添加VPN配置和路由配置,使本地網關裝置與VPN網關之間成功建立IPsec-VPN串連,同時使本機資料中心去往VPC的流量優先通過主隧道進行傳出,在主隧道中斷後自動切換至備隧道進行傳輸。
本文以思科防火牆ASA(軟體版本9.19.1)作為配置樣本。不同軟體版本的配置命令可能會有所差異,操作時請根據您的實際環境查詢對應文檔或諮詢相關廠商。更多本地網關裝置配置樣本,請參見本地網關裝置配置樣本。
以下內容包含的第三方產品資訊僅供參考。阿里雲對第三方產品的效能、可靠性以及操作可能帶來的潛在影響,不做任何暗示或其他形式的承諾。
登入思科防火牆的命令列視窗並進入配置模式。
ciscoasa> enable Password: ******** #輸入進入enable模式的密碼。 ciscoasa# configure terminal #進入配置模式。 ciscoasa(config)#
查看介面配置。
請確保思科防火牆已完成了介面配置,並已開啟介面。以下為本文的介面配置樣本。
#查看本地網關裝置1的介面配置 ciscoasa(config)# show running-config interface ! interface GigabitEthernet0/0 nameif outside1 #GigabitEthernet0/0介面名稱。 security-level 0 ip address 211.XX.XX.36 255.255.255.255 #GigabitEthernet0/0介面配置的公網IP地址。 ! interface GigabitEthernet0/1 #串連本機資料中心的介面。 nameif private #GigabitEthernet0/1介面名稱。 security-level 100 #指定串連本機資料中心介面(私網介面)的security-level低於公網介面。 ip address 172.16.50.217 255.255.255.0 #GigabitEthernet0/1介面配置的IP地址。 ! #查看本地網關裝置2的介面配置 ciscoasa(config)# show running-config interface ! interface GigabitEthernet0/0 nameif outside1 #GigabitEthernet0/0介面名稱。 security-level 0 ip address 211.XX.XX.71 255.255.255.255 #GigabitEthernet0/0介面配置的公網IP地址。 ! interface GigabitEthernet0/1 #串連本機資料中心的介面。 nameif private #GigabitEthernet0/1介面名稱。 security-level 100 #指定串連本機資料中心介面(私網介面)的security-level低於公網介面。 ip address 172.16.40.218 255.255.255.0 #GigabitEthernet0/1介面配置的IP地址。 !
為公網介面開啟IKEv2功能。
#分別在本地網關裝置1和本地網關裝置2上添加如下配置 crypto ikev2 enable outside1 #為本地網關裝置的outside1介面(公網介面)開啟IKEv2功能。
建立IKEv2 Policy,指定IKE階段認證演算法、密碼編譯演算法、DH分組和SA生存周期,需和阿里雲側保持一致。
#分別在本地網關裝置1和本地網關裝置2上添加如下配置 crypto ikev2 policy 10 encryption aes #指定密碼編譯演算法。 integrity sha #指定認證演算法。 group 14 #指定DH分組。 prf sha #prf和integrity保持一致,阿里雲側prf與認證演算法預設保持一致。 lifetime seconds 86400 #指定SA生存周期。
建立IPsec proposal和profile,指定思科防火牆側的IPsec階段密碼編譯演算法、認證演算法、DH分組和SA生存周期,需和阿里雲側保持一致。
#分別在本地網關裝置1和本地網關裝置2上添加如下配置 crypto ipsec ikev2 ipsec-proposal ALIYUN-PROPOSAL #建立ipsec proposal。 protocol esp encryption aes #指定密碼編譯演算法,協議使用ESP,阿里雲側固定使用ESP協議。 protocol esp integrity sha-1 #指定認證演算法,協議使用ESP,阿里雲側固定使用ESP協議。 crypto ipsec profile ALIYUN-PROFILE set ikev2 ipsec-proposal ALIYUN-PROPOSAL #建立ipsec profile並應用已建立的proposal。 set ikev2 local-identity address #指定本端ID使用IP地址格式,與阿里雲側RemoteId格式保持一致。 set pfs group14 #指定pfs和DH分組。 set security-association lifetime seconds 86400 #指定基於時間的SA生存周期。 set security-association lifetime kilobytes unlimited #關閉基於流量的SA生存周期。
建立tunnel group,指定隧道的預先共用金鑰,需和阿里雲側保持一致。
#在本地網關裝置1上添加如下配置 tunnel-group 39.XX.XX.218 type ipsec-l2l #指定隧道1的封裝模式為l2l。 tunnel-group 39.XX.XX.218 ipsec-attributes ikev2 remote-authentication pre-shared-key fddsFF123**** #指定隧道1對端的預先共用金鑰,即阿里雲側的預先共用金鑰。 ikev2 local-authentication pre-shared-key fddsFF123**** #指定隧道1本段的預先共用金鑰,需和阿里雲側的保持一致。 ! #在本地網關裝置2上添加如下配置 tunnel-group 182.XX.XX.19 type ipsec-l2l #指定隧道2的封裝模式為l2l。 tunnel-group 182.XX.XX.19 ipsec-attributes ikev2 remote-authentication pre-shared-key fddsFF456**** #指定隧道2對端的預先共用金鑰,即阿里雲側的預先共用金鑰。 ikev2 local-authentication pre-shared-key fddsFF456**** #指定隧道2本段的預先共用金鑰,需和阿里雲側的保持一致。 !
建立tunnel介面。
#在本地網關裝置1上添加如下配置 interface Tunnel1 #建立隧道1的介面。 nameif ALIYUN1 ip address 169.254.10.2 255.255.255.252 #指定介面的IP地址。 tunnel source interface outside1 #指定隧道1源地址為公網介面GigabitEthernet0/0。 tunnel destination 39.XX.XX.218 #指定隧道1目的地址為阿里雲側隧道1的公網IP地址。 tunnel mode ipsec ipv4 tunnel protection ipsec profile ALIYUN-PROFILE #指定隧道1應用ipsec profile ALIYUN-PROFILE。 no shutdown #開啟隧道1介面。 ! #在本地網關裝置2上添加如下配置 interface Tunnel1 #建立隧道2的介面。 nameif ALIYUN1 ip address 169.254.20.2 255.255.255.252 #指定介面的IP地址。 tunnel source interface outside1 #指定隧道2源地址為公網介面GigabitEthernet0/0。 tunnel destination 182.XX.XX.19 #指定隧道2目的地址為阿里雲側隧道2的公網IP地址。 tunnel mode ipsec ipv4 tunnel protection ipsec profile ALIYUN-PROFILE #指定隧道2應用ipsec profile ALIYUN-PROFILE。 no shutdown #開啟隧道2介面。 !
配置靜態路由。
//在本地網關裝置1上添加如下配置 route ALIYUN1 192.168.0.0 255.255.0.0 39.XX.XX.218 #配置去往阿里雲VPC(192.168.0.0/16)的靜態路由。 route outside1 39.XX.XX.218 255.255.255.255 192.XX.XX.172 #配置訪問阿里雲側隧道1公網IP地址的路由,下一跳為外網地址。 route private 172.16.0.0 255.255.0.0 172.16.50.216 #配置去往本機資料中心的路由。 //在本地網關裝置2上添加如下配置 route ALIYUN1 192.168.0.0 255.255.0.0 182.XX.XX.19 #配置去往阿里雲VPC(192.168.0.0/16)的靜態路由。 route outside1 182.XX.XX.19 255.255.255.255 192.XX.XX.123 #配置訪問阿里雲側隧道2公網IP地址的路由,下一跳為外網地址。 route private 172.16.0.0 255.255.0.0 172.16.40.219 #配置去往本機資料中心的路由。
請根據您的實際網路環境按需在本機資料中心添加路由配置,使本機資料中心去往VPC的流量優先通過本地網關裝置1進行傳輸,在本地網關裝置1故障後可以自動通過本地網關裝置2進行傳輸。具體命令,請諮詢相關裝置廠商。
步驟五:配置VPN網關路由
在左側導覽列,選擇
。在頂部功能表列選擇VPN網關執行個體的地區。
在VPN網關頁面,找到VPN網關執行個體,單擊執行個體ID。
單擊目的路由表頁簽,然後單擊添加路由條目。
在添加路由條目面板,根據以下資訊配置路由,然後單擊確定。
配置項
說明
路由條目
目標網段
輸入本機資料中心的網段。
輸入172.16.0.0/16。
下一跳類型
選擇下一跳的類型。
選擇IPsec串連。
下一跳
選擇下一跳。
選擇IPsec-Connection。
發布到VPC
選擇是否將新添加的路由發布到VPN網關關聯的VPC中。
選擇是。
步驟六:驗證測試
測試本機資料中心和VPC之間的連通性。
登入VPC下任意一個ECS執行個體。關於如何登入ECS執行個體,請參見ECS遠端連線方式概述。
在ECS執行個體中執行
ping
命令,訪問本機資料中心內的伺服器,驗證通訊是否正常。如果ECS執行個體可以收到本機資料中心伺服器的回複報文,則證明本機資料中心和VPC之間可以正常通訊。
ping <本機資料中心伺服器私網IP地址>
測試IPsec-VPN串連的高可用性。
登入VPC下任意一個ECS執行個體。關於如何登入ECS執行個體,請參見ECS遠端連線方式概述。
執行以下命令,使VPC下的ECS執行個體連續向本機資料中心發送訪問報文。
ping <本機資料中心伺服器私網IP地址> -c 10000
中斷IPsec-VPN串連下的主隧道。
您可以通過修改IPsec串連主隧道的預先共用金鑰來中斷主隧道,主隧道兩端的預先共用金鑰不一致,則主隧道會中斷。
中斷主隧道後,您可以觀察VPC執行個體下ECS執行個體的通訊情況,發現ECS執行個體下的流量在短暫中斷後,又重新恢複通訊,則表示在主隧道中斷後,流量自動通過備隧道進行通訊。