使用IPsec-VPN實現本地數據中心IDC和阿里云VPC之間的網絡互通時,在阿里云側完成VPN網關的配置后,您還需在本地數據中心的網關設備中添加VPN配置。本文以華三(H3C)防火墻設備為例,分別介紹在雙隧道模式和單隧道模式下,如何在H3C設備中添加VPN配置。
建議您優先使用雙隧道模式。關于什么是雙隧道,請參見【升級公告】IPsec-VPN連接升級為雙隧道模式。
雙隧道模式
場景示例
以上圖場景為例:
某公司在本地擁有一個數據中心,本地數據中心中要與阿里云互通的網段為10.34.0.0/24。
該公司在阿里云擁有一個專有網絡VPC,VPC網段為192.168.0.0/16,VPC中使用云服務器ECS部署了應用服務。
公司計劃在本地數據中心與云上VPC之間建立雙隧道模式的IPsec-VPN連接,實現資源互訪。
地址規劃
根據H3C設備的公網出口數量,本文提供2種場景示例:
單出口:H3C設備只配置了1個公網出口,對應只有1個公網IP地址。
雙出口:H3C設備配置了2個公網出口,對應有2個公網IP地址。
您可以根據本地設備的實際情況,查看對應的地址規劃。
單出口
地址規劃如下所示。
位置 | 配置項 | 示例值 |
本地IDC | H3C設備地址 | GE2(公網出口):10.32.0.175 出口下一跳:10.32.0.173 映射公網IP:8.XX.XX.3 |
GE4(私網接口):10.34.0.20 | ||
私網網段 | 10.34.0.0/24 | |
服務器IP | 10.34.0.21 | |
阿里云 | VPN網關地址 | 主隧道:39.XX.XX.17 備隧道:39.XX.XX.10 |
VPC網段 | 192.168.0.0/16 | |
交換機網段 | 可用區J:192.168.1.0/24 可用區K:192.168.2.0/24 | |
ECS地址 | 192.168.1.11 |
雙出口
地址規劃如下所示。
位置 | 配置項 | 示例值 |
本地IDC | H3C設備地址 | GE2(公網出口1):10.32.0.175 出口下一跳:10.32.0.173 映射公網IP:8.XX.XX.3 |
GE3(公網出口2):10.33.0.238 出口下一跳:10.33.0.236 映射公網IP:116.XX.XX.68 | ||
GE4(私網接口):10.34.0.20 | ||
私網網段 | 10.34.0.0/24 | |
服務器IP | 10.34.0.21 | |
阿里云 | VPN網關地址 | 主隧道:39.XX.XX.17 備隧道:39.XX.XX.10 |
VPC網段 | 192.168.0.0/16 | |
交換機網段 | 可用區J:192.168.1.0/24 可用區K:192.168.2.0/24 | |
ECS地址 | 192.168.1.11 |
BGP規劃
本文將分別描述IPsec-VPN連接使用靜態路由方式和BGP動態路由方式下如何配置H3C防火墻。如果您不需要使用BGP動態路由方式,可以忽略本部分。以下為本文的BGP網段規劃。
資源 | 隧道 | BGP隧道網段 | BGP IP地址 | BGP AS號(本端自治系統號) |
阿里云VPN網關 | 隧道1 | 169.254.10.0/30 說明 一個VPN網關實例下,每個隧道的網段需保持唯一。 | 169.254.10.1 | 65535 |
隧道2 | 169.254.20.0/30 | 169.254.20.1 | ||
H3C防火墻 | 隧道1 | 169.254.10.0/30 | 169.254.10.2 | 65500 |
隧道2 | 169.254.20.0/30 | 169.254.20.2 |
IPsec連接配置規劃
雙隧道模式下,隧道1(主隧道)和隧道2(備隧道)使用相同的示例值。
對于每條隧道,阿里云側和H3C防火墻側IPsec連接配置需保持相同。
配置項 | 示例值 | |
預共享密鑰 | ChangeMe**** | |
IKE | 版本 | ikev2 |
協商模式 | main | |
加密算法 | aes256 | |
認證算法 | sha256 | |
DH分組 | group14 | |
SA生存周期(秒) | 86400 | |
IPsec | 加密算法 | aes256 |
認證算法 | sha256 | |
DH分組 | group14 | |
SA生存周期(秒) | 86400 |
前提條件
配置H3C設備之前,請先在阿里云側完成創建VPN網關實例、創建用戶網關、創建IPsec連接、配置VPN網關路由的任務。
靜態路由方式,請參見建立VPC到本地數據中心的連接(雙隧道模式)。
BGP動態路由方式,請參見建立VPC到本地數據中心的連接(雙隧道模式和BGP路由)。
針對單出口和雙出口場景,用戶網關的配置有如下區別:
單出口:只需創建1個用戶網關。建立IPsec連接時,兩條隧道都選擇同一個用戶網關。
雙出口:需要創建2個用戶網關。建立IPsec連接時,兩條隧道選擇各自對應的用戶網關。
操作步驟
本文使用H3C的vFW1k E1185版本進行配置示例。不同型號版本的防火墻配置可能存在差別,您可以根據實際使用的版本,參考相應的文檔或咨詢防火墻廠商進行操作配置。
本文給出4種場景配置示例,您可以根據本地設備的實際情況,查看對應的配置步驟。
單出口+靜態路由
單公網IP單出口場景下,您可以將H3C設備的單個出口,綁定至兩個Tunnel接口,并為其配置不同的IPsec profile,以此與阿里云的主備隧道進行連接。
步驟一:接口網絡配置
分別為H3C設備的公網接口和私網接口配置IP地址和安全域,并配置路由。
#公網接口
interface GigabitEthernet 2/0
ip addr 10.32.0.175 24
quit
#私網接口
interface GigabitEthernet 4/0
ip addr 10.34.0.10 24
quit
#接口加入安全域
security-zone name Untrust
import interface GigabitEthernet 2/0
quit
security-zone name Trust
import interface GigabitEthernet 4/0
quit
#配置對端阿里云的公網地址路由,下一跳指向公網
ip route-static 39.XX.XX.17 32 10.32.0.173
ip route-static 39.XX.XX.10 32 10.32.0.173
#配置本端內網網段路由,下一跳指向私網
ip route-static 10.0.0.0 8 10.34.0.253
步驟二:隧道配置
新建兩個Tunnel接口,以對接云端的主備隧道。
#配置tunnel口,應用IPSec安全框架到tunnel口
interface tunnel 1 mode ipsec
ip address unnumbered interface GigabitEthernet 2/0
quit
interface tunnel 2 mode ipsec
ip address unnumbered interface GigabitEthernet 2/0
quit
#tunnel接口加入安全域
security-zone name Untrust
import interface Tunnel 1
import interface Tunnel 2
quit
步驟三:IPsec提議和策略配置
進行IPsec和IKE配置,注意和阿里云側保持一致。
#配置IPsec安全提議
ipsec transform-set to-ali-trans
encapsulation-mode tunnel
protocol esp
esp authentication-algorithm sha256
esp encryption-algorithm aes-cbc-256
pfs dh-group14
quit
#配置IKE安全提議和ike安全策略
ikev2 proposal to-ali-prop
dh group14
encryption aes-cbc-256
integrity sha256
prf sha256
quit
ikev2 policy to-ali-policy
priority 1
proposal to-ali-prop
quit
#配置IKE keychain,兩個peer分別對應阿里云上兩個隧道,address是阿里云上公網ip地址
ikev2 keychain to_ali_key1
peer to-ali-peer1
address 39.XX.XX.17 32
identity address 39.XX.XX.17
pre-shared-key plaintext ChangeMe****
quit
quit
ikev2 keychain to_ali_key2
peer to-ali-peer2
address 39.XX.XX.10 32
identity address 39.XX.XX.10
pre-shared-key plaintext ChangeMe****
quit
quit
#配置IKE profile,兩個peer分別對應阿里云上兩個隧道
ikev2 profile to-ali-profile1
authentication-method local pre-share
authentication-method remote pre-share
keychain to_ali_key1
identity local address 8.XX.XX.3
match remote identity address 39.XX.XX.17 32
sa duration 86400
dpd interval 30 periodic
quit
ikev2 profile to-ali-profile2
authentication-method local pre-share
authentication-method remote pre-share
keychain to_ali_key2
identity local address 8.XX.XX.3
match remote identity address 39.XX.XX.10 32
sa duration 86400
dpd interval 30 periodic
quit
#配置IPsec profile,引用上面創建的ikev2 profile
#建議sa duration只使用time-based;如果需要設置traffic-based,請將traffic-based設置為最大值
ipsec profile to-ali-profile1 isakmp
transform-set to-ali-trans
ikev2-profile to-ali-profile1
sa duration time-based 86400
quit
ipsec profile to-ali-profile2 isakmp
transform-set to-ali-trans
ikev2-profile to-ali-profile2
sa duration time-based 86400
quit
#配置tunnel口,應用IPsec策略到tunnel口
interface tunnel 1 mode ipsec
ip address unnumbered interface GigabitEthernet 2/0
tunnel protection ipsec profile to-ali-profile1
source 10.32.0.175
destination 39.XX.XX.17
quit
interface tunnel 2 mode ipsec
ip address unnumbered interface GigabitEthernet 2/0
tunnel protection ipsec profile to-ali-profile2
source 10.32.0.175
destination 39.XX.XX.10
quit
#配置對端內網網段路由指向tunnel接口,tunnel1為主隧道路由優先級高
ip route-static 192.168.0.0 16 Tunnel 1 preference 10
ip route-static 192.168.0.0 16 Tunnel 2 preference 20
步驟四:安全策略配置
配置安全策略,以允許IKE協議流量和IPsec數據流量的通過。
此處示例為簡化的配置,請根據實際需要,自行補充細粒度的規則。
如果本地IDC側有多個網段要與VPC互通,建議采用目的路由模式與H3C對接。具體操作,請參見多網段配置方案推薦。
#配置安全域,放通IKE協商報文和IPsec數據報文,這里簡化了配置,如果需要細粒度的規則請自行補充
acl advanced 3001
rule 0 permit ip
quit
zone-pair security source any destination any
packet-filter 3001
quit
步驟五:結果驗證
在本地數據中心側,設置本地數據中心服務器到H3C設備的路由后,您可以開始測試本地數據中心和阿里云VPC之間的網絡連通性,并驗證主備切換。
測試本地數據中心和VPC之間的連通性。
登錄VPC下任意一個ECS實例。關于如何登錄ECS實例,請參見連接方式概述。
在ECS實例中執行
ping
命令,訪問本地數據中心內的服務器,驗證通信是否正常。如果ECS實例可以收到本地數據中心服務器的回復報文,則證明本地數據中心和VPC之間可以正常通信。
ping <本地數據中心服務器私網IP地址>
測試IPsec-VPN連接的高可用性。
登錄VPC下任意一個ECS實例。關于如何登錄ECS實例,請參見連接方式概述。
執行以下命令,使VPC下的ECS實例連續向本地數據中心發送訪問報文。
ping <本地數據中心服務器私網IP地址> -c 10000
中斷IPsec-VPN連接下的主隧道。
您可以通過修改IPsec連接主隧道的預共享密鑰來中斷主隧道,主隧道兩端的預共享密鑰不一致,則主隧道會中斷。
中斷主隧道后,您可以觀察VPC實例下ECS實例的通信情況,發現ECS實例下的流量在短暫中斷后,又重新恢復通信,則表示在主隧道中斷后,流量自動通過備隧道進行通信。
單出口+BGP路由
單公網IP單出口場景下,您可以將H3C設備的單個出口,綁定至兩個Tunnel接口,并為其配置不同的IPsec profile,以此與阿里云的主備隧道進行連接。
步驟一:接口網絡配置
分別為H3C設備的公網接口和私網接口配置IP地址和安全域,并配置路由。
#公網接口
interface GigabitEthernet 2/0
ip addr 10.32.0.175 24
quit
#私網接口
interface GigabitEthernet 4/0
ip addr 10.34.0.10 24
quit
#接口加入安全域
security-zone name Untrust
import interface GigabitEthernet 2/0
quit
security-zone name Trust
import interface GigabitEthernet 4/0
quit
#配置對端阿里云的公網地址路由,下一跳指向公網
ip route-static 39.XX.XX.17 32 10.32.0.173
ip route-static 39.XX.XX.10 32 10.32.0.173
#配置本端內網網段路由,下一跳指向私網
ip route-static 10.0.0.0 8 10.34.0.253
步驟二:隧道配置
新建兩個Tunnel接口,以對接云端的主備隧道。
#配置tunnel口,應用IPSec安全框架到tunnel口
interface tunnel 1 mode ipsec
ip address unnumbered interface GigabitEthernet 2/0
quit
interface tunnel 2 mode ipsec
ip address unnumbered interface GigabitEthernet 2/0
quit
#tunnel接口加入安全域
security-zone name Untrust
import interface Tunnel 1
import interface Tunnel 2
quit
步驟三:IPsec提議和策略配置
進行IPsec和IKE配置,注意和阿里云側保持一致。
#配置IPsec安全提議
ipsec transform-set to-ali-trans
encapsulation-mode tunnel
protocol esp
esp authentication-algorithm sha256
esp encryption-algorithm aes-cbc-256
pfs dh-group14
quit
#配置IKE安全提議和ike安全策略
ikev2 proposal to-ali-prop
dh group14
encryption aes-cbc-256
integrity sha256
prf sha256
quit
ikev2 policy to-ali-policy
priority 1
proposal to-ali-prop
quit
#配置IKE keychain,兩個peer分別對應阿里云上兩個隧道,address是阿里云上公網ip地址
ikev2 keychain to_ali_key1
peer to-ali-peer1
address 39.XX.XX.17 32
identity address 39.XX.XX.17
pre-shared-key plaintext ChangeMe****
quit
quit
ikev2 keychain to_ali_key2
peer to-ali-peer2
address 39.XX.XX.10 32
identity address 39.XX.XX.10
pre-shared-key plaintext ChangeMe****
quit
quit
#配置IKE profile,兩個peer分別對應阿里云上兩個隧道
ikev2 profile to-ali-profile1
authentication-method local pre-share
authentication-method remote pre-share
keychain to_ali_key1
identity local address 8.XX.XX.3
match remote identity address 39.XX.XX.17 32
sa duration 86400
dpd interval 30 periodic
quit
ikev2 profile to-ali-profile2
authentication-method local pre-share
authentication-method remote pre-share
keychain to_ali_key2
identity local address 8.XX.XX.3
match remote identity address 39.XX.XX.10 32
sa duration 86400
dpd interval 30 periodic
quit
#配置IPsec profile,引用上面創建的ikev2 profile
#建議sa duration只使用time-based;如果需要設置traffic-based,請將traffic-based設置為最大值
ipsec profile to-ali-profile1 isakmp
transform-set to-ali-trans
ikev2-profile to-ali-profile1
sa duration time-based 86400
quit
ipsec profile to-ali-profile2 isakmp
transform-set to-ali-trans
ikev2-profile to-ali-profile2
sa duration time-based 86400
quit
#配置tunnel口,應用IPsec策略到tunnel口
interface tunnel 1 mode ipsec
ip address unnumbered interface GigabitEthernet 2/0
tunnel protection ipsec profile to-ali-profile1
source 10.32.0.175
destination 39.XX.XX.17
quit
interface tunnel 2 mode ipsec
ip address unnumbered interface GigabitEthernet 2/0
tunnel protection ipsec profile to-ali-profile2
source 10.32.0.175
destination 39.XX.XX.10
quit
#配置對端內網網段路由指向tunnel接口,tunnel1為主隧道路由優先級高
ip route-static 192.168.0.0 16 Tunnel 1 preference 10
ip route-static 192.168.0.0 16 Tunnel 2 preference 20
步驟四:安全策略配置
配置安全策略,以允許IKE協議流量和IPsec數據流量的通過。
此處示例為簡化的配置,請根據實際需要,自行補充細粒度的規則。
如果本地IDC側有多個網段要與VPC互通,建議采用目的路由模式與H3C對接。具體操作,請參見多網段配置方案推薦。
#配置安全域,放通IKE協商報文和IPsec數據報文,這里簡化了配置,如果需要細粒度的規則請自行補充
acl advanced 3001
rule 0 permit ip
quit
zone-pair security source any destination any
packet-filter 3001
quit
步驟五:BGP路由配置
#配置tunnel口的ip地址用于和阿里云VPN協商BGP
interface tunnel 1 mode ipsec
ip address 169.254.10.2 30
quit
interface tunnel 2 mode ipsec
ip address 169.254.20.2 30
quit
#刪除靜態路由場景的指向隧道的靜態路由配置
undo ip route-static 192.168.0.0 16 Tunnel 1 preference 10
undo ip route-static 192.168.0.0 16 Tunnel 2 preference 20
#配置BGP,h3c fw發布10.0.0.0/8到阿里云VPN
bgp 65500
peer 169.254.10.1 as-number 65535
peer 169.254.20.1 as-number 65535
address-family ipv4 unicast
peer 169.254.10.1 enable
peer 169.254.20.1 enable
network 10.0.0.0 8 #宣告10.0.0.0/8
配置完成后,查看BGP連接:
查看BGP路由:
查看路由表:
步驟六:結果驗證
在本地數據中心側,設置本地數據中心客戶端到H3C設備的路由后,您可以開始測試本地數據中心和阿里云VPC之間的網絡連通性,并驗證主備切換。
測試本地數據中心和VPC之間的連通性。
登錄VPC下任意一個ECS實例。關于如何登錄ECS實例,請參見連接方式概述。
在ECS實例中執行
ping
命令,訪問本地數據中心內的服務器,驗證通信是否正常。如果ECS實例可以收到本地數據中心服務器的回復報文,則證明本地數據中心和VPC之間可以正常通信。
ping <本地數據中心服務器私網IP地址>
測試IPsec-VPN連接的高可用性。
登錄VPC下任意一個ECS實例。關于如何登錄ECS實例,請參見連接方式概述。
執行以下命令,使VPC下的ECS實例連續向本地數據中心發送訪問報文。
ping <本地數據中心服務器私網IP地址> -c 10000
中斷IPsec-VPN連接下的主隧道。
您可以通過修改IPsec連接主隧道的預共享密鑰來中斷主隧道,主隧道兩端的預共享密鑰不一致,則主隧道會中斷。
中斷主隧道后,您可以觀察VPC實例下ECS實例的通信情況,發現ECS實例下的流量在短暫中斷后,又重新恢復通信,則表示在主隧道中斷后,流量自動通過備隧道進行通信。
雙出口+靜態路由
在雙公網IP雙出口場景下,您可以將H3C設備的兩個出口,分別綁定至兩個Tunnel接口,并為其配置不同的IPsec profile,以此與阿里云的主備隧道進行連接。
步驟一:接口網絡配置
分別為公網接口和私網接口配置IP地址和安全域,并配置路由。
#公網接口1
interface GigabitEthernet 2/0
ip addr 10.32.0.175 24
quit
#公網接口2
interface GigabitEthernet 3/0
ip addr 10.33.0.238 24
quit
#私網接口
interface GigabitEthernet 4/0
ip addr 10.34.0.10 24
quit
#接口加入安全域
security-zone name Untrust
import interface GigabitEthernet 2/0
import interface GigabitEthernet 3/0
quit
security-zone name Trust
import interface GigabitEthernet 4/0
quit
#配置對端阿里云的公網地址32位路由,下一跳指向公網
ip route-static 39.XX.XX.17 32 10.32.0.173
ip route-static 39.XX.XX.10 32 10.33.0.236
#配置本端內網網段路由,下一跳指向私網
ip route-static 10.0.0.0 8 10.34.0.253
步驟二:隧道配置
新建兩個Tunnel接口,以對接云端的主備隧道。
#配置tunnel口,應用IPsec安全框架到tunnel口
interface tunnel 1 mode ipsec
ip address unnumbered interface GigabitEthernet 2/0
quit
interface tunnel 2 mode ipsec
ip address unnumbered interface GigabitEthernet 3/0
quit
#tunnel接口加入安全域
security-zone name Untrust
import interface Tunnel 1
import interface Tunnel 2
quit
步驟三:IPsec提議和策略配置
進行IPsec和IKE配置,注意和阿里云側保持一致。
#配置IPsec安全提議
ipsec transform-set to-ali-trans
encapsulation-mode tunnel
protocol esp
esp authentication-algorithm sha256
esp encryption-algorithm aes-cbc-256
pfs dh-group14
quit
#配置IKE安全提議和ike安全策略
ikev2 proposal to-ali-prop
dh group14
encryption aes-cbc-256
integrity sha256
prf sha256
quit
ikev2 policy to-ali-policy
priority 1
proposal to-ali-prop
quit
#配置IKE keychain,兩個peer分別對應阿里云上兩個隧道,address是阿里云上公網ip地址
ikev2 keychain to_ali_key1
peer to-ali-peer1
address 39.XX.XX.17 32
identity address 39.XX.XX.17
pre-shared-key plaintext ChangeMe****
quit
quit
ikev2 keychain to_ali_key2
peer to-ali-peer2
address 39.XX.XX.10 32
identity address 39.XX.XX.10
pre-shared-key plaintext ChangeMe****
quit
quit
#配置IKE profile,兩個peer分別對應阿里云上兩個隧道
ikev2 profile to-ali-profile1
authentication-method local pre-share
authentication-method remote pre-share
keychain to_ali_key1
identity local address 8.XX.XX.3
match remote identity address 39.XX.XX.17 32
sa duration 86400
dpd interval 30 periodic
quit
ikev2 profile to-ali-profile2
authentication-method local pre-share
authentication-method remote pre-share
keychain to_ali_key2
identity local address 116.XX.XX.68
match remote identity address 39.XX.XX.10 32
sa duration 86400
dpd interval 30 periodic
quit
#配置IPsec profile,引用上面創建的ikev2 profile
#建議sa duration只使用time-based;如果需要設置traffic-based,請將traffic-based設置為最大值
ipsec profile to-ali-profile1 isakmp
transform-set to-ali-trans
ikev2-profile to-ali-profile1
sa duration time-based 86400
quit
ipsec profile to-ali-profile2 isakmp
transform-set to-ali-trans
ikev2-profile to-ali-profile2
sa duration time-based 86400
quit
#配置tunnel口,應用IPsec策略到tunnel口
interface tunnel 1 mode ipsec
ip address unnumbered interface GigabitEthernet 2/0
tunnel protection ipsec profile to-ali-profile1
source 10.32.0.175
destination 39.XX.XX.17
quit
interface tunnel 2 mode ipsec
ip address unnumbered interface GigabitEthernet 3/0
tunnel protection ipsec profile to-ali-profile2
source 10.33.0.238
destination 39.XX.XX.10
quit
#配置對端內網網段路由指向tunnel接口,tunnel1為主隧道路由優先級高
ip route-static 192.168.0.0 16 Tunnel 1 preference 10
ip route-static 192.168.0.0 16 Tunnel 2 preference 20
步驟四:安全策略配置
配置安全策略,以允許IKE協議流量和IPsec數據流量的通過。
此處示例為簡化的配置,請根據實際需要,自行補充細粒度的規則。
如果本地IDC側有多個網段要與VPC互通,建議采用目的路由模式與H3C對接。具體操作,請參見多網段配置方案推薦。
#配置安全域,放通IKE協商報文和IPsec數據報文,這里簡化了配置,如果需要細粒度的規則請自行補充
acl advanced 3001
rule 0 permit ip
quit
zone-pair security source any destination any
packet-filter 3001
quit
步驟五:結果驗證
在本地數據中心側,設置本地數據中心客戶端到H3C設備的路由后,您可以開始測試本地數據中心和阿里云VPC之間的網絡連通性,并驗證主備切換。
測試本地數據中心和VPC之間的連通性。
登錄VPC下任意一個ECS實例。關于如何登錄ECS實例,請參見連接方式概述。
在ECS實例中執行
ping
命令,訪問本地數據中心內的服務器,驗證通信是否正常。如果ECS實例可以收到本地數據中心服務器的回復報文,則證明本地數據中心和VPC之間可以正常通信。
ping <本地數據中心服務器私網IP地址>
測試IPsec-VPN連接的高可用性。
登錄VPC下任意一個ECS實例。關于如何登錄ECS實例,請參見連接方式概述。
執行以下命令,使VPC下的ECS實例連續向本地數據中心發送訪問報文。
ping <本地數據中心服務器私網IP地址> -c 10000
中斷IPsec-VPN連接下的主隧道。
您可以通過修改IPsec連接主隧道的預共享密鑰來中斷主隧道,主隧道兩端的預共享密鑰不一致,則主隧道會中斷。
中斷主隧道后,您可以觀察VPC實例下ECS實例的通信情況,發現ECS實例下的流量在短暫中斷后,又重新恢復通信,則表示在主隧道中斷后,流量自動通過備隧道進行通信。
雙出口+BGP路由
在雙公網IP雙出口場景下,您可以將H3C設備的兩個出口,分別綁定至兩個Tunnel接口,并為其配置不同的IPsec profile,以此與阿里云的主備隧道進行連接。
步驟一:接口網絡配置
分別為公網接口和私網接口配置IP地址和安全域,并配置路由。
#公網接口1
interface GigabitEthernet 2/0
ip addr 10.32.0.175 24
quit
#公網接口2
interface GigabitEthernet 3/0
ip addr 10.33.0.238 24
quit
#私網接口
interface GigabitEthernet 4/0
ip addr 10.34.0.10 24
quit
#接口加入安全域
security-zone name Untrust
import interface GigabitEthernet 2/0
import interface GigabitEthernet 3/0
quit
security-zone name Trust
import interface GigabitEthernet 4/0
quit
#配置對端阿里云的公網地址32位路由,下一跳指向公網
ip route-static 39.XX.XX.17 32 10.32.0.173
ip route-static 39.XX.XX.10 32 10.33.0.236
#配置本端內網網段路由,下一跳指向私網
ip route-static 10.0.0.0 8 10.34.0.253
步驟二:隧道配置
新建兩個Tunnel接口,以對接云端的主備隧道。
#配置tunnel口,應用IPsec安全框架到tunnel口
interface tunnel 1 mode ipsec
ip address unnumbered interface GigabitEthernet 2/0
quit
interface tunnel 2 mode ipsec
ip address unnumbered interface GigabitEthernet 3/0
quit
#tunnel接口加入安全域
security-zone name Untrust
import interface Tunnel 1
import interface Tunnel 2
quit
步驟三:IPsec提議和策略配置
進行IPsec和IKE配置,注意和阿里云側保持一致。
#配置IPsec安全提議
ipsec transform-set to-ali-trans
encapsulation-mode tunnel
protocol esp
esp authentication-algorithm sha256
esp encryption-algorithm aes-cbc-256
pfs dh-group14
quit
#配置IKE安全提議和ike安全策略
ikev2 proposal to-ali-prop
dh group14
encryption aes-cbc-256
integrity sha256
prf sha256
quit
ikev2 policy to-ali-policy
priority 1
proposal to-ali-prop
quit
#配置IKE keychain,兩個peer分別對應阿里云上兩個隧道,address是阿里云上公網ip地址
ikev2 keychain to_ali_key1
peer to-ali-peer1
address 39.XX.XX.17 32
identity address 39.XX.XX.17
pre-shared-key plaintext ChangeMe****
quit
quit
ikev2 keychain to_ali_key2
peer to-ali-peer2
address 39.XX.XX.10 32
identity address 39.XX.XX.10
pre-shared-key plaintext ChangeMe****
quit
quit
#配置IKE profile,兩個peer分別對應阿里云上兩個隧道
ikev2 profile to-ali-profile1
authentication-method local pre-share
authentication-method remote pre-share
keychain to_ali_key1
identity local address 8.XX.XX.3
match remote identity address 39.XX.XX.17 32
sa duration 86400
dpd interval 30 periodic
quit
ikev2 profile to-ali-profile2
authentication-method local pre-share
authentication-method remote pre-share
keychain to_ali_key2
identity local address 116.XX.XX.68
match remote identity address 39.XX.XX.10 32
sa duration 86400
dpd interval 30 periodic
quit
#配置IPsec profile,引用上面創建的ikev2 profile
#建議sa duration只使用time-based;如果需要設置traffic-based,請將traffic-based設置為最大值
ipsec profile to-ali-profile1 isakmp
transform-set to-ali-trans
ikev2-profile to-ali-profile1
sa duration time-based 86400
quit
ipsec profile to-ali-profile2 isakmp
transform-set to-ali-trans
ikev2-profile to-ali-profile2
sa duration time-based 86400
quit
#配置tunnel口,應用IPsec策略到tunnel口
interface tunnel 1 mode ipsec
ip address unnumbered interface GigabitEthernet 2/0
tunnel protection ipsec profile to-ali-profile1
source 10.32.0.175
destination 39.XX.XX.17
quit
interface tunnel 2 mode ipsec
ip address unnumbered interface GigabitEthernet 3/0
tunnel protection ipsec profile to-ali-profile2
source 10.33.0.238
destination 39.XX.XX.10
quit
#配置對端內網網段路由指向tunnel接口,tunnel1為主隧道路由優先級高
ip route-static 192.168.0.0 16 Tunnel 1 preference 10
ip route-static 192.168.0.0 16 Tunnel 2 preference 20
步驟四:安全策略配置
配置安全策略,以允許IKE協議流量和IPsec數據流量的通過。
此處示例為簡化的配置,請根據實際需要,自行補充細粒度的規則。
如果本地IDC側有多個網段要與VPC互通,建議采用目的路由模式與H3C對接。具體操作,請參見多網段配置方案推薦。
#配置安全域,放通IKE協商報文和IPsec數據報文,這里簡化了配置,如果需要細粒度的規則請自行補充
acl advanced 3001
rule 0 permit ip
quit
zone-pair security source any destination any
packet-filter 3001
quit
步驟五:BGP路由配置
#配置tunnel口的ip地址用于和阿里云VPN協商BGP
interface tunnel 1 mode ipsec
ip address 169.254.10.2 30
quit
interface tunnel 2 mode ipsec
ip address 169.254.20.2 30
quit
#刪除靜態路由場景的指向隧道的靜態路由配置
undo ip route-static 192.168.0.0 16 Tunnel 1 preference 10
undo ip route-static 192.168.0.0 16 Tunnel 2 preference 20
#配置BGP,h3c fw發布10.0.0.0/8到阿里云VPN
bgp 65500
peer 169.254.10.1 as-number 65535
peer 169.254.20.1 as-number 65535
address-family ipv4 unicast
peer 169.254.10.1 enable
peer 169.254.20.1 enable
network 10.0.0.0 8 #宣告10.0.0.0/8
配置完成后,查看BGP連接:
查看BGP路由:
查看路由表:
步驟六:結果驗證
在本地數據中心側,設置本地數據中心客戶端到H3C設備的路由后,您可以開始測試本地數據中心和阿里云VPC之間的網絡連通性,并驗證主備切換。
測試本地數據中心和VPC之間的連通性。
登錄VPC下任意一個ECS實例。關于如何登錄ECS實例,請參見連接方式概述。
在ECS實例中執行
ping
命令,訪問本地數據中心內的服務器,驗證通信是否正常。如果ECS實例可以收到本地數據中心服務器的回復報文,則證明本地數據中心和VPC之間可以正常通信。
ping <本地數據中心服務器私網IP地址>
測試IPsec-VPN連接的高可用性。
登錄VPC下任意一個ECS實例。關于如何登錄ECS實例,請參見連接方式概述。
執行以下命令,使VPC下的ECS實例連續向本地數據中心發送訪問報文。
ping <本地數據中心服務器私網IP地址> -c 10000
中斷IPsec-VPN連接下的主隧道。
您可以通過修改IPsec連接主隧道的預共享密鑰來中斷主隧道,主隧道兩端的預共享密鑰不一致,則主隧道會中斷。
中斷主隧道后,您可以觀察VPC實例下ECS實例的通信情況,發現ECS實例下的流量在短暫中斷后,又重新恢復通信,則表示在主隧道中斷后,流量自動通過備隧道進行通信。
單隧道模式
場景示例
以上圖場景為例:
某公司在本地擁有一個數據中心,本地數據中心中要與阿里云互通的網段為10.34.0.0/24。
該公司在阿里云擁有一個專有網絡VPC,VPC網段為192.168.0.0/16,VPC中使用云服務器ECS部署了應用服務。
公司計劃在本地數據中心與云上VPC之間建立單隧道模式的IPsec-VPN連接,實現資源互訪。
針對單隧道模式,本文僅給出靜態路由方式的配置示例。
地址規劃
本示例涉及的網絡配置詳情請參見下表。
位置 | 配置項 | 示例值 |
本地IDC | H3C設備地址 | GE2(公網出口):10.32.0.175/24 出口下一跳:10.32.0.173 映射公網IP:8.XX.XX.3 |
GE4(私網接口):10.34.0.20/24 | ||
服務器IP | 10.34.0.21 | |
阿里云 | VPN網關地址 | 39.XX.XX.17 |
VPC網段 | 192.168.0.0/16 | |
交換機網段 | 192.168.1.0/24 | |
ECS地址 | 192.168.1.11 |
IPsec連接配置規劃
阿里云側和H3C防火墻側IPsec連接配置需保持相同。
配置項 | 示例值 | |
預共享密鑰 | ChangeMe**** | |
IKE | 版本 | ikev2 |
協商模式 | main | |
加密算法 | aes256 | |
認證算法 | sha256 | |
DH分組 | group14 | |
SA生存周期(秒) | 86400 | |
IPsec | 加密算法 | aes256 |
認證算法 | sha256 | |
DH分組 | group14 | |
SA生存周期(秒) | 86400 |
前提條件
您已在阿里云側完成創建VPN網關、創建用戶網關、創建IPsec連接、配置VPN網關路由的操作。具體操作,請參見建立VPC到本地數據中心的連接(單隧道模式)。
操作步驟
本文使用H3C的vFW1k E1185版本進行配置示例。不同型號版本的防火墻配置可能存在差別,您可以根據實際使用的版本,參考相應的文檔或咨詢防火墻廠商進行操作配置。
靜態路由方式
步驟一:接口網絡配置
分別為H3C設備的公網接口和私網接口配置IP地址和安全域,并配置路由。
#公網接口
interface GigabitEthernet 2/0
ip addr 10.32.0.175 24
quit
#私網接口
interface GigabitEthernet 4/0
ip addr 10.34.0.10 24
quit
#接口加入安全域
security-zone name Untrust
import interface GigabitEthernet 2/0
quit
security-zone name Trust
import interface GigabitEthernet 4/0
quit
#配置對端阿里云的公網地址路由,下一跳指向公網
ip route-static 39.XX.XX.17 32 10.32.0.173
#配置本端內網網段路由,下一跳指向私網
ip route-static 10.0.0.0 8 10.34.0.253
步驟二:隧道配置
新建1個Tunnel接口,以對接云端的隧道。
#配置1個tunnel口,應用IPSec安全框架到tunnel口
interface tunnel 1 mode ipsec
ip address unnumbered interface GigabitEthernet 2/0
quit
#tunnel接口加入安全域
security-zone name Untrust
import interface Tunnel 1
quit
步驟三:IPsec提議和策略配置
進行IPsec和IKE配置,注意和阿里云側保持一致。
#配置IPsec安全提議
ipsec transform-set to-ali-trans
encapsulation-mode tunnel
protocol esp
esp authentication-algorithm sha256
esp encryption-algorithm aes-cbc-256
pfs dh-group14
quit
#配置IKE安全提議和ike安全策略
ikev2 proposal to-ali-prop
dh group14
encryption aes-cbc-256
integrity sha256
prf sha256
quit
ikev2 policy to-ali-policy
priority 1
proposal to-ali-prop
quit
#配置IKE keychain,peer對應阿里云的隧道,address是阿里云上公網ip地址
ikev2 keychain to_ali_key1
peer to-ali-peer1
address 39.XX.XX.17 32
identity address 39.XX.XX.17
pre-shared-key plaintext ChangeMe****
quit
quit
#配置IKE profile,peer對應阿里云的隧道
ikev2 profile to-ali-profile1
authentication-method local pre-share
authentication-method remote pre-share
keychain to_ali_key1
identity local address 8.XX.XX.3
match remote identity address 39.XX.XX.17 32
sa duration 86400
dpd interval 30 periodic
quit
#配置IPsec profile,引用上面創建的ikev2 profile
ipsec profile to-ali-profile1 isakmp
transform-set to-ali-trans
ikev2-profile to-ali-profile1
#建議如下sa duration只使用time-based;如果需要設置traffic-based,請將traffic-based設置為最大值
sa duration time-based 86400
quit
#配置tunnel口,應用IPsec策略到tunnel口
interface tunnel 1 mode ipsec
ip address unnumbered interface GigabitEthernet 2/0
tunnel protection ipsec profile to-ali-profile1
source 10.32.0.175
destination 39.XX.XX.17
quit
#配置對端內網網段路由指向tunnel接口
ip route-static 192.168.0.0 16 Tunnel 1 preference 10
步驟四:安全策略配置
配置安全策略,以允許IKE協議流量和IPsec數據流量的通過。
此處示例為簡化的配置,請根據實際需要,自行補充細粒度的規則。
如果本地IDC側有多個網段要與VPC互通,建議采用目的路由模式與H3C對接。具體操作,請參見多網段配置方案推薦。
#配置安全域,放通IKE協商報文和IPsec數據報文,這里簡化了配置,如果需要細粒度的規則請自行補充
acl advanced 3001
rule 0 permit ip
quit
zone-pair security source any destination any
packet-filter 3001
quit
步驟五:結果驗證
在本地數據中心側,設置本地數據中心服務器到H3C設備的路由后,您可以開始測試本地數據中心和阿里云VPC之間的網絡連通性。
登錄到VPC內一臺無公網IP的ECS實例。關于如何登錄ECS實例,請參見連接方式概述。
執行ping命令,訪問本地數據中心內的一臺服務器,驗證通信是否正常。
如果能夠收到回復報文,則證明通信正常。