使用IPsec-VPN實現本地數據中心和阿里云VPC之間的網絡互通時,在阿里云側完成VPN網關的配置后,您還需在本地數據中心的網關設備中添加VPN配置。本文以華為防火墻為例,介紹如何在本地網關設備中添加VPN配置。
本文場景中,本地數據中心使用一臺華為防火墻的兩個公網IP地址,與阿里云建立雙隧道模式的IPsec-VPN連接。如果您購買的VPN網關實例僅支持建立單隧道模式的IPsec-VPN連接,請參見文末的單隧道模式配置示例。
推薦您升級IPsec-VPN連接為雙隧道模式,雙隧道模式的IPsec-VPN連接支持可用區級別的容災,有效提高了網絡的高可用性。
雙隧道模式
場景示例
以上圖場景為例:
某公司在本地擁有一個數據中心,本地數據中心中要與阿里云互通的網段為10.34.0.0/24。
該公司在阿里云擁有一個專有網絡VPC,VPC網段為192.168.0.0/16,VPC中使用云服務器ECS部署了應用服務。
公司計劃在本地數據中心與云上VPC之間建立雙隧道模式的IPsec-VPN連接,實現資源互訪。
地址規劃
根據華為防火墻的公網出口數量,本文提供2種場景示例:
單出口:華為防火墻只配置了1個公網出口,對應只有1個公網IP地址。
雙出口:華為防火墻配置了2個公網出口,對應有2個公網IP地址。
您可以根據華為防火墻的實際情況,查看對應的地址規劃。
單出口
地址規劃如下所示。
位置 | 配置項 | 示例值 |
本地IDC | 華為防火墻接口地址 | GE1/0/0(公網出口)地址:10.32.0.174 出口下一跳:10.32.0.173 映射公網IP:1.1.XX.XX |
GE1/0/2(私網接口):10.34.0.9 | ||
私網網段 | 10.34.0.0/24 | |
服務器IP | 10.34.0.1 | |
阿里云 | VPN網關地址 | 主隧道:3.3.XX.XX 備隧道:4.4.XX.XX |
VPC網段 | 192.168.0.0/16 | |
交換機網段 | 可用區J:192.168.1.0/24 可用區K:192.168.2.0/24 | |
ECS地址 | 192.168.1.1 |
雙出口
地址規劃如下所示。
位置 | 配置項 | 示例值 |
本地IDC | 華為防火墻接口地址 | GE1/0/0(公網出口1):10.32.0.174 出口下一跳:10.32.0.173 映射公網IP:1.1.XX.XX |
GE1/0/1(公網出口2):10.33.0.237 出口下一跳:10.33.0.236 映射公網IP:2.2.XX.XX | ||
GE1/0/2(私網接口):10.34.0.9 | ||
私網網段 | 10.34.0.0/24 | |
服務器IP | 10.34.0.1 | |
阿里云 | VPN網關地址 | 主隧道:3.3.XX.XX 備隧道:4.4.XX.XX |
VPC網段 | 192.168.0.0/16 | |
交換機網段 | 可用區J:192.168.1.0/24 可用區K:192.168.2.0/24 | |
ECS地址 | 192.168.1.1 |
BGP規劃
本文將分別描述IPsec-VPN連接使用靜態路由方式和BGP動態路由方式下如何配置華為防火墻。如果您不需要使用BGP動態路由方式,可以忽略本部分。以下為本文的BGP地址規劃。
資源 | 隧道 | BGP隧道網段 | BGP IP地址 | BGP AS號(本端自治系統號) |
阿里云VPN網關 | 隧道1 | 169.254.10.0/30 說明 一個VPN網關實例下,每個隧道的網段需保持唯一。 | 169.254.10.1 | 45104 |
隧道2 | 169.254.20.0/30 | 169.254.20.1 | ||
華為防火墻 | 隧道1 | 169.254.10.0/30 | 169.254.10.2 | 45001 |
隧道2 | 169.254.20.0/30 | 169.254.20.2 |
IPsec連接配置規劃
雙隧道模式下,隧道1(主隧道)和隧道2(備隧道)使用相同的示例值。
對于每條隧道,阿里云側和華為防火墻側IPsec連接配置需保持相同。
配置項 | 示例值 | |
預共享密鑰 | ChangeMe**** | |
IKE | 版本 | ikev2 |
協商模式 | main | |
加密算法 | aes256 | |
認證算法 | sha256 | |
DH分組 | group14 | |
SA生存周期(秒) | 86400 | |
IPsec | 加密算法 | aes256 |
認證算法 | sha256 | |
DH分組 | group14 | |
SA生存周期(秒) | 86400 |
前提條件
配置華為防火墻之前,請先在阿里云側完成創建VPN網關實例、創建用戶網關、創建IPsec連接、配置VPN網關路由的任務。
靜態路由方式,請參見建立VPC到本地數據中心的連接(雙隧道模式)。
BGP動態路由方式,請參見建立VPC到本地數據中心的連接(雙隧道模式和BGP路由)。
針對單出口和雙出口場景,用戶網關的配置有如下區別:
單出口:只需創建1個用戶網關。建立IPsec連接時,兩條隧道都選擇同一個用戶網關。
雙出口:需要創建2個用戶網關。建立IPsec連接時,兩條隧道選擇各自對應的用戶網關。
操作步驟
本文使用華為USG6000V2防火墻進行配置示例。不同型號版本的防火墻配置可能存在差別,您可以根據實際使用的版本,參考相應的文檔或咨詢防火墻廠商進行操作配置。
本文給出4種場景配置示例,您可以根據本地設備的實際情況,查看對應的配置步驟。
單出口+靜態路由
單公網IP單出口場景下,您可以將華為防火墻的單個出口,綁定至兩個Tunnel接口,并為其配置不同的IPsec policy,以此與阿里云的主備隧道進行連接。同時使用IPsec策略的反向路由注入功能來自動生成指向隧道的路由,并自動關聯IPsec隧道協商狀態來切換流量。
步驟一:接口網絡配置
分別為華為防火墻的公網接口和私網接口配置IP地址和安全域,并配置路由。
#公網接口
interface GigabitEthernet1/0/0
ip addr 10.32.0.174 24
service-manage ping permit
quit
#私網接口
interface GigabitEthernet1/0/2
ip addr 10.34.0.9 24
service-manage ping permit
quit
#公私網接口加入安全域
firewall zone untrust
add interface GigabitEthernet 1/0/0
quit
firewall zone trust
add interface GigabitEthernet 1/0/2
quit
#配置對端VPN網關的公網地址32位路由指向公網
ip route-static 3.3.XX.XX 32 10.32.0.174
ip route-static 4.4.XX.XX 32 10.32.0.174
#配置本端內網網段路由指向私網
ip route-static 10.0.0.0 8 10.34.0.253
步驟二:隧道配置
新建兩個Tunnel接口,以對接云端的主備隧道。
#配置Tunnel口,應用IPsec安全框架到Tunnel口
interface tunnel 1
tunnel-protocol ipsec
ip address unnumbered interface GigabitEthernet1/0/0
service-manage ping permit
quit
interface tunnel 2
tunnel-protocol ipsec
ip address unnumbered interface GigabitEthernet1/0/0
service-manage ping permit
quit
#Tunnel接口加入安全域
firewall zone untrust
add interface Tunnel 1
add interface Tunnel 2
quit
步驟三:IPsec提議和策略配置
進行IPsec和IKE配置,注意和阿里云側保持一致。
#配置IPsec安全提議
ipsec proposal to-ali-prop
encapsulation-mode tunnel
esp authentication-algorithm sha2-256
esp encryption-algorithm aes-256
quit
#配置IKE安全提議
ike proposal 1
dh group14
authentication-method pre-share
encryption-algorithm aes-256
integrity-algorithm hmac-sha2-256
prf hmac-sha2-256
sa duration 86400
quit
#配置IKE peer,兩個peer分別對應阿里云上兩個隧道,remote-address是阿里云上公網ip地址;
ike peer to-ali-peer1
version 2
ike-proposal 1
remote-address 3.3.XX.XX
pre-shared-key ChangeMe****
remote-id-type none
local-id 1.1.XX.XX
dpd type periodic
quit
ike peer to-ali-peer2
version 2
ike-proposal 1
remote-address 4.4.XX.XX
pre-shared-key ChangeMe****
remote-id-type none
local-id 1.1.XX.XX
dpd type periodic
quit
#配置感興趣流,這里感興趣流使用地址組的方式
ip address-set to-ali-subnets type group
address 0 192.168.0.0 mask 16
quit
ip address-set local-subnets type group
address 0 10.34.0.0 mask 16
quit
acl number 3000
rule 5 permit ip source address-set local-subnets destination address-set to-ali-subnets
quit
#配置IPsec policy,引用上面創建的acl、ike peer、ipsec proposal,并設置路由注入功能
ipsec policy to-ali-policy1 1 isakmp
security acl 3000
pfs dh-group14
ike-peer to-ali-peer1
proposal to-ali-prop
tunnel local applied-interface
sa duration traffic-based 0
sa duration time-based 86400
route inject dynamic preference 10
quit
ipsec policy to-ali-policy2 1 isakmp
security acl 3000
pfs dh-group14
ike-peer to-ali-peer2
proposal to-ali-prop
tunnel local applied-interface
sa duration traffic-based 0
sa duration time-based 86400
route inject dynamic preference 20
quit
#配置tunnel口,應用IPsec策略到tunnel口
interface tunnel 1
ip address unnumbered interface GigabitEthernet1/0/0
tunnel-protocol ipsec
service-manage ping permit
ipsec policy to-ali-policy1
quit
interface tunnel 2
ip address unnumbered interface GigabitEthernet1/0/0
tunnel-protocol ipsec
service-manage ping permit
ipsec policy to-ali-policy2
quit
步驟四:安全策略配置
配置安全策略,以允許IKE協議流量和IPsec數據流量的通過。
此處示例為簡化的配置,請根據實際需要,自行補充細粒度的規則。
如果本地IDC側有多個網段要與VPC互通,建議采用目的路由模式與華為防火墻對接。具體操作,請參見多網段配置方案推薦。
#配置Local域與Untrust域之間的域間安全策略,放通ike協商報文
security-policy
rule name policy1
source-zone local
source-address 10.32.0.174 32
destination-zone untrust
destination-address 3.3.XX.XX 32
destination-address 4.4.XX.XX 32
action permit
quit
rule name policy2
source-zone untrust
source-address 3.3.XX.XX 32
source-address 4.4.XX.XX 32
destination-zone local
destination-address 10.32.0.174 32
action permit
quit
quit
#配置Trust域與Untrust域之間的域間安全策略,放通數據報文
security-policy
rule name policy3
source-zone trust
source-address 10.0.0.0 8
destination-zone untrust
destination-address 192.168.0.0 16
action permit
quit
rule name policy4
source-zone untrust
source-address 192.168.0.0 16
destination-zone trust
destination-address 10.0.0.0 8
action permit
quit
quit
步驟五:結果驗證
在本地數據中心側,設置本地數據中心服務器到華為防火墻的路由后,您可以開始測試本地數據中心和阿里云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實例下的流量在短暫中斷后,又重新恢復通信,則表示在主隧道中斷后,流量自動通過備隧道進行通信。
單出口+BGP路由
針對BGP示例,本處直接基于“單出口+靜態路由“場景做增量配置。
步驟一:配置BGP
完成“單出口+靜態路由”場景的步驟一至步驟四后,進行如下配置。
#關閉路由注入
ipsec policy to-ali-policy1 1 isakmp
undo route inject
sa trigger-mode auto
quit
ipsec policy to-ali-policy2 1 isakmp
undo route inject
sa trigger-mode auto
quit
#感興趣流的源和目的都設為any
acl number 3000
undo rule 5
rule 10 permit ip
quit
#修改Tunnel的ip地址為169.254.XX.XX地址,需要和阿里云上bgp地址配置在同一個網段內
interface Tunnel1
ip address 169.254.10.2 30
quit
interface Tunnel2
ip address 169.254.20.2 30
quit
#修改IPsec policy的tunnel local地址為公網接口地址
ipsec policy to-ali-policy1 1 isakmp
tunnel local 10.32.0.174
quit
ipsec policy to-ali-policy2 1 isakmp
tunnel local 10.32.0.174
quit
#設置BGP本端和對端
bgp 45001
router-id 169.254.10.2
peer 169.254.10.1 as-number 45104
peer 169.254.20.1 as-number 45104
ipv4-family unicast
undo synchronization
network 10.34.0.0 255.255.255.0
peer 169.254.10.1 enable
peer 169.254.20.1 enable
#添加安全策略
security-policy
rule name policy1
source-address 169.254.0.0 16
quit
rule name policy2
destination-address 169.254.0.0 16
quit
quit
步驟二:結果驗證
您可以開始測試本地數據中心和阿里云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實例下的流量在短暫中斷后,又重新恢復通信,則表示在主隧道中斷后,流量自動通過備隧道進行通信。
雙出口+靜態路由
雙公網IP雙出口場景下,您可以將華為防火墻兩個出口,分別綁定至兩個Tunnel接口,并為其配置不同的IPsec policy,以此與阿里云的主備隧道進行連接。同時使用IPsec策略的反向路由注入功能來自動生成指向隧道的路由,并自動關聯IPsec隧道協商狀態來切換流量。
步驟一:接口網絡配置
分別為公網接口和私網接口配置IP地址和安全域,并配置路由。
#公網接口1
interface GigabitEthernet1/0/0
ip addr 10.32.0.174 24
service-manage ping permit
quit
#公網接口2
interface GigabitEthernet1/0/1
ip addr 10.33.0.237 24
service-manage ping permit
quit
#私網接口
interface GigabitEthernet1/0/2
ip addr 10.34.0.9 24
service-manage ping permit
quit
#公私網接口加入安全域
firewall zone untrust
add interface GigabitEthernet 1/0/0
add interface GigabitEthernet 1/0/1
quit
firewall zone trust
add interface GigabitEthernet 1/0/2
quit
#配置對端VPN網關的公網地址32位路由指向公網
ip route-static 3.3.XX.XX 32 10.32.0.174
ip route-static 4.4.XX.XX 32 10.33.0.237
#配置本端內網網段路由指向私網
ip route-static 10.0.0.0 8 10.34.0.253
步驟二:隧道配置
新建兩個Tunnel接口,以對接云端的主備隧道。
#配置Tunnel口,應用IPsec安全框架到Tunnel口
interface tunnel 1
tunnel-protocol ipsec
ip address unnumbered interface GigabitEthernet1/0/0
service-manage ping permit
quit
interface tunnel 2
tunnel-protocol ipsec
ip address unnumbered interface GigabitEthernet1/0/1
service-manage ping permit
quit
#Tunnel接口加入安全域
firewall zone untrust
add interface Tunnel 1
add interface Tunnel 2
quit
步驟三:IPsec提議和策略配置
進行IPsec和IKE配置,注意和阿里云側保持一致。
#配置IPsec安全提議
ipsec proposal to-ali-prop
encapsulation-mode tunnel
esp authentication-algorithm sha2-256
esp encryption-algorithm aes-256
quit
#配置IKE安全提議
ike proposal 1
dh group14
authentication-method pre-share
encryption-algorithm aes-256
integrity-algorithm hmac-sha2-256
prf hmac-sha2-256
sa duration 86400
quit
#配置IKE peer,兩個peer分別對應阿里云上兩個隧道,remote-address是阿里云上公網ip地址
ike peer to-ali-peer1
version 2
ike-proposal 1
remote-address 3.3.XX.XX
pre-shared-key ChangeMe****
remote-id-type none
local-id 1.1.XX.XX
dpd type periodic
quit
ike peer to-ali-peer2
version 2
ike-proposal 1
remote-address 4.4.XX.XX
pre-shared-key ChangeMe****
remote-id-type none
local-id 2.2.XX.XX
dpd type periodic
quit
#配置感興趣流,這里感興趣流使用地址組的方式
ip address-set to-ali-subnets type group
address 0 192.168.0.0 mask 16
quit
ip address-set local-subnets type group
address 0 10.34.0.0 mask 16
quit
acl number 3000
rule 5 permit ip source address-set local-subnets destination address-set to-ali-subnets
quit
#配置IPsec policy,引用上面創建的acl、ike peer、IPsec proposal,并設置路由注入功能
ipsec policy to-ali-policy1 1 isakmp
security acl 3000
pfs dh-group14
ike-peer to-ali-peer1
proposal to-ali-prop
tunnel local applied-interface
sa duration traffic-based 0
sa duration time-based 86400
route inject dynamic preference 10
quit
ipsec policy to-ali-policy2 1 isakmp
security acl 3000
pfs dh-group14
ike-peer to-ali-peer2
proposal to-ali-prop
tunnel local applied-interface
sa duration traffic-based 0
sa duration time-based 86400
route inject dynamic preference 20
quit
#配置tunnel口,應用IPsec策略到tunnel口
interface tunnel 1
ip address unnumbered interface GigabitEthernet1/0/0
tunnel-protocol ipsec
service-manage ping permit
ipsec policy to-ali-policy1
quit
interface tunnel 2
ip address unnumbered interface GigabitEthernet1/0/1
tunnel-protocol ipsec
service-manage ping permit
ipsec policy to-ali-policy2
quit
步驟四:安全策略配置
配置安全策略,以允許IKE協議流量和IPsec數據流量的通過。
此處示例為簡化的配置,請根據實際需要,自行補充細粒度的規則。
如果本地IDC側有多個網段要與VPC互通,建議采用目的路由模式與華為防火墻對接。具體操作,請參見多網段配置方案推薦。
#配置Local域與Untrust域之間的域間安全策略,放通ike協商報文
security-policy
rule name policy1
source-zone local
source-address 10.32.0.174 32
source-address 10.33.0.237 32
destination-zone untrust
destination-address 3.3.XX.XX 32
destination-address 4.4.XX.XX 32
action permit
quit
rule name policy2
source-zone untrust
source-address 3.3.XX.XX 32
source-address 4.4.XX.XX 32
destination-zone local
destination-address 10.32.0.174 32
destination-address 10.33.0.237 32
action permit
quit
quit
#配置Trust域與Untrust域之間的域間安全策略,放通數據報文
security-policy
rule name policy3
source-zone trust
source-address 10.0.0.0 8
destination-zone untrust
destination-address 192.168.0.0 16
action permit
quit
rule name policy4
source-zone untrust
source-address 192.168.0.0 16
destination-zone trust
destination-address 10.0.0.0 8
action permit
quit
quit
步驟五:結果驗證
在本地數據中心側,設置本地數據中心客戶端到華為防火墻的路由后,您可以開始測試本地數據中心和阿里云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實例下的流量在短暫中斷后,又重新恢復通信,則表示在主隧道中斷后,流量自動通過備隧道進行通信。
雙出口+BGP路由
針對BGP示例,本處直接基于“雙出口+靜態路由“場景做增量配置。
步驟一:配置BGP
完成“雙出口+靜態路由”場景的步驟一至步驟四后,進行如下配置。
#關閉路由注入
ipsec policy to-ali-policy1 1 isakmp
undo route inject
sa trigger-mode auto
quit
ipsec policy to-ali-policy2 1 isakmp
undo route inject
sa trigger-mode auto
quit
#感興趣流的源和目的都設為any
acl number 3000
undo rule 5
rule 10 permit ip
quit
#修改Tunnel的ip地址為169.254.XX.XX地址,需要和阿里云上bgp地址配置在同一個網段內
interface Tunnel1
ip address 169.254.10.2 30
quit
interface Tunnel2
ip address 169.254.20.2 30
quit
#修改IPsec policy的tunnel local地址為公網接口地址
ipsec policy to-ali-policy1 1 isakmp
tunnel local 10.32.0.174
quit
ipsec policy to-ali-policy2 1 isakmp
tunnel local 10.33.0.237
quit
#設置BGP本端和對端
bgp 45001
router-id 169.254.10.2
peer 169.254.10.1 as-number 45104
peer 169.254.20.1 as-number 45104
ipv4-family unicast
undo synchronization
network 10.34.0.0 255.255.255.0
peer 169.254.10.1 enable
peer 169.254.20.1 enable
#添加安全策略
security-policy
rule name policy1
source-address 169.254.0.0 16
quit
rule name policy2
destination-address 169.254.0.0 16
quit
quit
步驟二:結果驗證
您可以開始測試本地數據中心和阿里云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實例下的流量在短暫中斷后,又重新恢復通信,則表示在主隧道中斷后,流量自動通過備隧道進行通信。
單隧道模式
場景示例
以上圖場景為例:
某公司在本地擁有一個數據中心,本地數據中心中要與阿里云互通的網段為10.34.0.0/24。
該公司在阿里云擁有一個專有網絡VPC,VPC網段為192.168.0.0/16,VPC中使用云服務器ECS部署了應用服務。
公司計劃在本地數據中心與云上VPC之間建立單隧道模式的IPsec-VPN連接,實現資源互訪。
針對單隧道模式,本文僅給出靜態路由方式的配置示例。
地址規劃
本示例涉及的網絡配置詳情請參見下表。
位置 | 配置項 | 示例值 |
本地IDC | 華為防火墻接口地址 | GE2(公網出口):10.32.0.174/24 出口下一跳:10.32.0.173 映射公網IP:8.149.XX.XX |
GE4(私網接口):10.34.0.9/24 | ||
私網網段 | 10.34.0.0/24 | |
服務器IP | 10.34.0.1 | |
阿里云 | VPN網關地址 | 47.103.XX.XX |
VPC網段 | 192.168.0.0/16 | |
交換機網段 | 192.168.0.0/24 | |
ECS地址 | 192.168.0.1 |
IPsec連接配置規劃
阿里云側和華為防火墻側IPsec連接配置需保持相同。
配置項 | 示例值 | |
預共享密鑰 | ChangeMe**** | |
IKE | 版本 | ikev2 |
協商模式 | main | |
加密算法 | aes256 | |
認證算法 | sha256 | |
DH分組 | group14 | |
SA生存周期(秒) | 86400 | |
IPsec | 加密算法 | aes256 |
認證算法 | sha256 | |
DH分組 | group14 | |
SA生存周期(秒) | 86400 |
前提條件
您已在阿里云側完成創建VPN網關、創建用戶網關、創建IPsec連接、配置VPN網關路由的操作。具體操作,請參見建立VPC到本地數據中心的連接(單隧道模式)。
操作步驟
本文使用華為USG6000V2版本進行配置示例。不同型號版本的防火墻配置可能存在差別,您可以根據實際使用的版本,參考相應的文檔或咨詢防火墻廠商進行操作配置。
靜態路由方式
步驟一:接口網絡配置
分別為華為防火墻的公網接口和私網接口配置IP地址和安全域,并配置路由。
#公網接口
interface GigabitEthernet1/0/0
ip addr 10.32.0.174 24
service-manage ping permit
quit
#私網接口
interface GigabitEthernet1/0/2
ip addr 10.34.0.9 24
service-manage ping permit
quit
#公私網接口加入安全域
firewall zone untrust
add interface GigabitEthernet 1/0/0
quit
firewall zone trust
add interface GigabitEthernet 1/0/2
quit
#配置對端阿里云VPN網關的公網地址路由指向公網
ip route-static 47.103.XX.XX 32 10.32.0.173
#配置本端內網網段路由指向私網
ip route-static 10.0.0.0 8 10.34.0.253
步驟二:隧道配置
新建1個Tunnel接口,以對接云端的隧道。
#配置Tunnel口,應用IPsec安全框架到Tunnel口
interface tunnel 1
tunnel-protocol ipsec
ip address unnumbered interface GigabitEthernet1/0/0
service-manage ping permit
quit
#Tunnel接口加入安全域
firewall zone untrust
add interface Tunnel 1
quit
步驟三:IPsec提議和策略配置
進行IPsec和IKE配置,注意和阿里云側保持一致。
#配置IPsec安全提議
ipsec proposal to-ali-prop
encapsulation-mode tunnel
esp authentication-algorithm sha2-256
esp encryption-algorithm aes-256
quit
#配置IKE安全提議
ike proposal 1
dh group14
authentication-method pre-share
encryption-algorithm aes-256
integrity-algorithm hmac-sha2-256
prf hmac-sha2-256
sa duration 86400
quit
#配置IKE peer,remote-address是阿里云VPN網關的公網ip地址
ike peer to-ali-peer1
version 2
ike-proposal 1
remote-address 47.103.XX.XX
pre-shared-key ChangeMe****
remote-id-type none
local-id 8.149.XX.XX
dpd type periodic
quit
#配置感興趣流,這里感興趣流使用地址組的方式;
ip address-set to-ali-subnets type group
address 0 192.168.0.0 mask 16
quit
ip address-set local-subnets type group
address 0 10.34.0.0 mask 16
quit
acl number 3000
rule 5 permit ip source address-set local-subnets destination address-set to-ali-subnets
quit
#配置IPsec policy,引用上面創建的acl、ike peer、ipsec proposal,并設置路由注入功能
ipsec policy to-ali-policy1 1 isakmp
security acl 3000
pfs dh-group14
ike-peer to-ali-peer1
proposal to-ali-prop
tunnel local applied-interface
sa duration traffic-based 0
sa duration time-based 86400
route inject dynamic preference 10
quit
#配置tunnel口,應用IPsec策略到tunnel口
interface tunnel 1
ip address unnumbered interface GigabitEthernet1/0/0
tunnel-protocol ipsec
service-manage ping permit
ipsec policy to-ali-policy1
quit
步驟四:安全策略配置
配置安全策略,以允許IKE協議流量和IPsec數據流量的通過。
此處示例為簡化的配置,請根據實際需要,自行補充細粒度的規則。
如果本地IDC側有多個網段要與VPC互通,建議采用目的路由模式與華為防火墻對接。具體操作,請參見多網段配置方案推薦。
#配置Local域與Untrust域之間的域間安全策略,放通ike協商報文
security-policy
rule name policy1
source-zone local
source-address 10.32.0.174 32
destination-zone untrust
destination-address 47.103.XX.XX 32
action permit
quit
rule name policy2
source-zone untrust
source-address 47.103.XX.XX 32
destination-zone local
destination-address 10.32.0.174 32
action permit
quit
quit
#配置Trust域與Untrust域之間的域間安全策略,放通數據報文
security-policy
rule name policy3
source-zone trust
source-address 10.0.0.0 8
destination-zone untrust
destination-address 192.168.0.0 16
action permit
quit
rule name policy4
source-zone untrust
source-address 192.168.0.0 16
destination-zone trust
destination-address 10.0.0.0 8
action permit
quit
quit
步驟五:結果驗證
在本地數據中心側,設置本地數據中心服務器到華為防火墻的路由后,您可以開始測試本地數據中心和阿里云VPC之間的網絡連通性。
登錄到VPC內一臺無公網IP的ECS實例。關于如何登錄ECS實例,請參見ECS遠程連接方式概述。
執行ping命令,訪問本地數據中心內的一臺服務器,驗證通信是否正常。
如果能夠收到回復報文,則證明通信正常。