使用IPsec-VPN實現本機資料中心IDC(Internet Data Center)和阿里雲VPC之間的網路互連時,在阿里雲側完成VPN網關的配置後,您還需在本機資料中心的網關裝置中添加VPN配置才能成功在本機資料中心和阿里雲VPC之間建立IPsec-VPN串連。本文介紹如何在思科防火牆中添加VPN配置。
情境樣本
本文以上圖情境為例。某公司在阿里雲擁有一個Virtual Private Cloud(Virtual Private Cloud),VPC網段為10.0.0.0/16,VPC中使用Elastic Compute Service(Elastic Compute Service)部署了應用服務。同時該公司在本地擁有一個資料中心,本機資料中心中要與VPC互連的網段為192.168.0.0/16。公司計劃在本機資料中心與雲上VPC之間建立IPsec-VPN串連,實現資源互訪。
重要 本文情境中,本機資料中心使用一台思科防火牆的兩個公網IP地址與阿里雲建立雙隧道模式的IPsec-VPN串連。如果您購買的VPN網關執行個體僅支援建立單隧道模式的IPsec-VPN串連,請參見文末的單隧道模式配置樣本。
推薦您升級IPsec-VPN串連為雙隧道模式,雙隧道模式的IPsec-VPN串連支援可用性區域層級的容災,有效提高了網路的高可用性。
網段規劃及VPN配置樣本
網段規劃
資源 | 網段 | IP地址 |
本機資料中心 | 待和VPC互連的網段:192.168.0.0/16 | 伺服器IP地址:192.168.50.198 |
思科防火牆 | 不涉及 | 思科防火牆串連公網的物理介面: GigabitEthernet0/0:GigabitEthernet0/0介面配置一個公網IP地址,本文樣本值為121.XX.XX.211。 GigabitEthernet0/2:GigabitEthernet0/2介面配置一個公網IP地址,本文樣本值為121.XX.XX.77。 GigabitEthernet0/1:GigabitEthernet0/1介面串連本機資料中心,IP地址192.168.50.217。
|
VPC | 主網段:10.0.0.0/16 交換器1:10.0.10.0/24 交換器2:10.0.20.0/24 | ECS IP地址:10.0.10.33 |
VPN網關執行個體(公網網路類型) | 不涉及 | IPsec地址1:39.XX.XX.218 IPsec地址2:182.XX.XX.19
說明 建立VPN網關執行個體後,系統會自動為VPN網關執行個體分配地址。 |
BGP網段規劃
本文將分別描述IPsec-VPN串連使用靜態路由方式和BGP動態路由方式下如何配置思科防火牆。如果您不需要使用BGP動態路由方式,可以忽略本部分。以下為本文的BGP網段規劃。
資源 | 隧道 | BGP隧道網段 | BGP IP地址 | BGP AS號(本端自治系統號) |
VPN網關執行個體 | 隧道1 | 169.254.10.0/30
說明 一個VPN網關執行個體下,每個隧道的網段需保持唯一。 | 169.254.10.1 | 65530 |
隧道2 | 169.254.20.0/30 | 169.254.20.1 |
思科防火牆 | 隧道1 | 169.254.10.0/30 | 169.254.10.2 | 65000 |
隧道2 | 169.254.20.0/30 | 169.254.20.2 |
VPN配置樣本
配置項 | 阿里雲側樣本值 | 思科防火牆側樣本值 |
預先共用金鑰 | 123456**** | 123456**** |
IKE配置 | IKE版本 | ikev2 | ikev2 |
協商模式 | main | main |
密碼編譯演算法 | aes | aes |
認證演算法 | sha1 | sha1 |
DH分組 | group14 | group14 |
SA生存周期(秒) | 86400 | 86400 |
IPsec配置 | 密碼編譯演算法 | aes | aes |
認證演算法 | sha1 | sha1 |
DH分組 | group14 | group14 |
SA生存周期(秒) | 86400 | 86400 |
開始配置
目的路由模式-靜態路由
前提條件
本文僅描述如何在思科防火牆中添加VPN配置,不再描述阿里雲VPN網關側的配置。因此在您開始配置前,請確保您已經完成建立VPN網關執行個體、建立使用者網關、建立IPsec串連、配置VPN網關路由的任務。具體操作,請參見建立VPC到本機資料中心的串連(雙隧道模式)。
操作步驟
登入思科防火牆的命令列視窗並進入配置模式。
ciscoasa> enable
Password: ******** #輸入進入enable模式的密碼。
ciscoasa# configure terminal #進入配置模式。
ciscoasa(config)#
查看介面配置和公網路由配置。
思科防火牆已完成了介面配置,並已開啟介面。以下為本文的介面配置樣本。
ciscoasa(config)# show running-config interface
!
interface GigabitEthernet0/0
nameif outside1 #GigabitEthernet0/0介面名稱。
security-level 0
ip address 121.XX.XX.211 255.255.255.255 #GigabitEthernet0/0介面配置的公網IP地址。
!
interface GigabitEthernet0/1 #串連本機資料中心的介面。
nameif private #GigabitEthernet0/1介面名稱。
security-level 100 #指定串連本機資料中心介面(私網介面)的security-level低於公網介面。
ip address 192.168.50.217 255.255.255.0 #GigabitEthernet0/1介面配置的IP地址。
!
interface GigabitEthernet0/2
nameif outside2 #GigabitEthernet0/2介面名稱。
security-level 0
ip address 121.XX.XX.77 255.255.255.255 #GigabitEthernet0/2介面配置的公網IP地址。
!
route outside1 39.XX.XX.218 255.255.255.255 192.XX.XX.172 #配置訪問阿里雲側隧道1公網IP地址的路由,下一跳為公網地址。
route outside2 182.XX.XX.19 255.255.255.255 192.XX.XX.158 #配置訪問阿里雲側隧道2公網IP地址的路由,下一跳為公網地址。
route private 192.168.0.0 255.255.0.0 192.168.50.216 #配置去往本機資料中心的路由。
為公網介面開啟IKEv2功能。
crypto ikev2 enable outside1
crypto ikev2 enable outside2
建立IKEv2 Policy,指定IKE階段認證演算法、密碼編譯演算法、DH分組和SA生存周期,需和阿里雲側保持一致。
重要 阿里雲側配置IPsec串連時,IKE配置階段的密碼編譯演算法、認證演算法和DH分組均只支援指定一個值,不支援指定多個值。建議在思科防火牆中IKE設定階段的密碼編譯演算法、認證演算法和DH分組也均只指定一個值,該值需與阿里雲側保持一致。
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生存周期,需和阿里雲側保持一致。
重要 阿里雲側配置IPsec串連時,IPsec配置階段的密碼編譯演算法、認證演算法和DH分組均只支援指定一個值,不支援指定多個值。建議在思科防火牆中IPsec設定階段的密碼編譯演算法、認證演算法和DH分組也均只指定一個值,該值需與阿里雲側保持一致。
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,指定隧道的預先共用金鑰,需和阿里雲側保持一致。
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 123456**** #指定隧道1對端的預先共用金鑰,即阿里雲側的預先共用金鑰。
ikev2 local-authentication pre-shared-key 123456**** #指定隧道1本段的預先共用金鑰,需和阿里雲側的保持一致。
!
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 123456**** #指定隧道2對端的預先共用金鑰,即阿里雲側的預先共用金鑰。
ikev2 local-authentication pre-shared-key 123456**** #指定隧道2本段的預先共用金鑰,需和阿里雲側的保持一致。
!
建立tunnel介面。
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介面。
!
interface Tunnel2 #建立隧道2的介面。
nameif ALIYUN2
ip address 169.254.20.2 255.255.255.252 #指定介面的IP地址。
tunnel source interface outside2 #指定隧道2源地址為公網介面GigabitEthernet0/2。
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介面。
!
查看IPsec-VPN串連狀態。
您可以通過以下命令查看已經協商成功的SA。
單擊查看更多查詢命令。
IPsec SA協商相關查詢命令
show crypto isakmp sa #查看控制面協商SA資訊(舊命令)
show crypto ikev2 sa #查看控制面協商一二階段SA、role、感興趣流資訊
show crypto ipsec sa peer XX.XX.XX.XX #查詢指定peer SA的詳細資料
show ipsec sa #查看轉寄面一二階段SA、role、感興趣流、流量統計等基本資料
VPN流量統計相關查詢命令
show crypto ikev2 stats #查看協議報文、加密、異常報文統計資料
show crypto protocol statistics all #查看協議報文、加密報文統計資料
show ipsec stats #查看IPsec統計資訊
配置去往阿里雲VPC(10.0.0.0/16)的靜態路由。
route ALIYUN1 10.0.0.0 255.255.0.0 39.XX.XX.218 4 #指定從本機資料中心去往阿里雲VPC流量優先通過隧道1介面傳輸,該路由優先順序較高。
route ALIYUN2 10.0.0.0 255.255.0.0 182.XX.XX.19 5 #指定從本機資料中心去往阿里雲VPC流量通過隧道2介面傳輸,該路由優先順序低於指向隧道1介面的路由。
在本機資料中心側,設定本機資料中心用戶端到思科防火牆及思科防火牆到本機資料中心用戶端的路由。
後續您可以開始測試本機資料中心和阿里雲VPC之間的網路連通性。具體操作,請參見驗證測試。
目的路由模式-BGP動態路由
前提條件
本文僅描述如何在思科防火牆中添加VPN配置,不再描述阿里雲VPN網關側的配置。因此在您開始配置前,請確保您已經完成建立VPN網關執行個體、建立使用者網關、建立IPsec串連、開啟BGP功能的任務。具體操作,請參見建立VPC到本機資料中心的串連(雙隧道模式和BGP路由)。
操作步驟
登入思科防火牆的命令列視窗並進入配置模式。
ciscoasa> enable
Password: ******** #輸入進入enable模式的密碼。
ciscoasa# configure terminal #進入配置模式。
ciscoasa(config)#
查看介面配置和公網路由配置。
思科防火牆已完成了介面配置,並已開啟介面。以下為本文的介面配置樣本。
ciscoasa(config)# show running-config interface
!
interface GigabitEthernet0/0
nameif outside1 #GigabitEthernet0/0介面名稱。
security-level 0
ip address 121.XX.XX.211 255.255.255.255 #GigabitEthernet0/0介面配置的公網IP地址。
!
interface GigabitEthernet0/1 #串連本機資料中心的介面。
nameif private #GigabitEthernet0/1介面名稱。
security-level 100 #指定串連本機資料中心介面(私網介面)的security-level低於公網介面。
ip address 192.168.50.217 255.255.255.0 #GigabitEthernet0/1介面配置的IP地址。
!
interface GigabitEthernet0/2
nameif outside2 #GigabitEthernet0/2介面名稱。
security-level 0
ip address 121.XX.XX.77 255.255.255.255 #GigabitEthernet0/2介面配置的公網IP地址。
!
route outside1 39.XX.XX.218 255.255.255.255 192.XX.XX.172 #配置訪問阿里雲側隧道1公網IP地址的路由,下一跳為公網地址。
route outside2 182.XX.XX.19 255.255.255.255 192.XX.XX.158 #配置訪問阿里雲側隧道2公網IP地址的路由,下一跳為公網地址。
route private 192.168.0.0 255.255.0.0 192.168.50.216 #配置去往本機資料中心的路由。
為公網介面開啟IKEv2功能。
crypto ikev2 enable outside1
crypto ikev2 enable outside2
建立IKEv2 Policy,指定IKE階段認證演算法、密碼編譯演算法、DH分組和SA生存周期,需和阿里雲側保持一致。
重要 阿里雲側配置IPsec串連時,IKE配置階段的密碼編譯演算法、認證演算法和DH分組均只支援指定一個值,不支援指定多個值。建議在思科防火牆中IKE設定階段的密碼編譯演算法、認證演算法和DH分組也均只指定一個值,該值需與阿里雲側保持一致。
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生存周期,需和阿里雲側保持一致。
重要 阿里雲側配置IPsec串連時,IPsec配置階段的密碼編譯演算法、認證演算法和DH分組均只支援指定一個值,不支援指定多個值。建議在思科防火牆中IPsec設定階段的密碼編譯演算法、認證演算法和DH分組也均只指定一個值,該值需與阿里雲側保持一致。
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,指定隧道的預先共用金鑰,需和阿里雲側保持一致。
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 123456**** #指定隧道1對端的預先共用金鑰,即阿里雲側的預先共用金鑰。
ikev2 local-authentication pre-shared-key 123456**** #指定隧道1本段的預先共用金鑰,需和阿里雲側的保持一致。
!
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 123456**** #指定隧道2對端的預先共用金鑰,即阿里雲側的預先共用金鑰。
ikev2 local-authentication pre-shared-key 123456**** #指定隧道2本段的預先共用金鑰,需和阿里雲側的保持一致。
!
建立tunnel介面。
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介面。
!
interface Tunnel2 #建立隧道2的介面。
nameif ALIYUN2
ip address 169.254.20.2 255.255.255.252 #指定介面的IP地址。
tunnel source interface outside2 #指定隧道2源地址為公網介面GigabitEthernet0/2。
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介面。
!
查看IPsec-VPN串連狀態。
您可以通過以下命令查看已經協商成功的SA。
單擊查看更多查詢命令。
IPsec SA協商相關查詢命令
show crypto isakmp sa #查看控制面協商SA
show crypto ikev2 sa #查看控制面協商一二階段SA、role、感興趣流資訊
show crypto ipsec sa peer XX.XX.XX.XX #查詢指定peer SA的詳細資料
show ipsec sa #查看轉寄面一二階段SA/role/感興趣流/SA/流量統計基本資料
VPN流量統計相關查詢命令
show crypto ikev2 stats #查看協議報文、加密、異常報文統計資料
show crypto protocol statistics all #查看協議報文、加密報文統計資料
show ipsec stats #查看IPsec統計資訊
配置BGP動態路由。
router bgp 65000
address-family ipv4 unicast
neighbor 169.254.10.1 remote-as 65530 #指定BGP鄰居,即阿里雲側隧道1的IP地址。
neighbor 169.254.10.1 ebgp-multihop 255
neighbor 169.254.10.1 activate #啟用BGP鄰居。
neighbor 169.254.20.1 remote-as 65530 #指定BGP鄰居,即阿里雲側隧道2的IP地址。
neighbor 169.254.20.1 ebgp-multihop 255
neighbor 169.254.20.1 activate #啟用BGP鄰居。
network 192.168.0.0 mask 255.255.0.0 #宣告本機資料中心的網段。
exit-address-family
查看BGP鄰居狀態和BGP路由。
在本機資料中心側,設定本機資料中心用戶端到思科防火牆及思科防火牆到本機資料中心用戶端的路由。
後續您可以開始測試本機資料中心和阿里雲VPC之間的網路連通性。具體操作,請參見驗證測試。
感興趣流模式-靜態路由
前提條件
本文僅描述如何在思科防火牆中添加VPN配置,不再描述阿里雲VPN網關側的配置。因此在您開始配置前,請確保您已經完成建立VPN網關執行個體、建立使用者網關、建立IPsec串連的任務。相關操作,請參見:建立VPC到本機資料中心的串連(雙隧道模式),其中:
操作步驟
登入思科防火牆的命令列視窗並進入配置模式。
ciscoasa> enable
Password: ******** #輸入進入enable模式的密碼。
ciscoasa# configure terminal #進入配置模式。
ciscoasa(config)#
查看介面配置和公網路由配置。
思科防火牆已完成了介面配置,並已開啟介面。以下為本文的介面配置樣本。
ciscoasa(config)# show running-config interface
!
interface GigabitEthernet0/0
nameif outside1 #GigabitEthernet0/0介面名稱。
security-level 0
ip address 121.XX.XX.211 255.255.255.255 #GigabitEthernet0/0介面配置的公網IP地址。
!
interface GigabitEthernet0/1 #串連本機資料中心的介面。
nameif private #GigabitEthernet0/1介面名稱。
security-level 100 #指定串連本機資料中心介面(私網介面)的security-level低於公網介面。
ip address 192.168.50.217 255.255.255.0 #GigabitEthernet0/1介面配置的IP地址。
!
interface GigabitEthernet0/2
nameif outside2 #GigabitEthernet0/2介面名稱。
security-level 0
ip address 121.XX.XX.77 255.255.255.255 #GigabitEthernet0/2介面配置的公網IP地址。
!
route outside1 39.XX.XX.218 255.255.255.255 192.XX.XX.172 #配置訪問阿里雲側隧道1公網IP地址的路由,下一跳為公網地址。
route outside2 182.XX.XX.19 255.255.255.255 192.XX.XX.158 #配置訪問阿里雲側隧道2公網IP地址的路由,下一跳為公網地址。
route private 192.168.0.0 255.255.0.0 192.168.50.216 #配置去往本機資料中心的路由。
為公網介面開啟IKEv2功能。
crypto ikev2 enable outside1
crypto ikev2 enable outside2
建立IKEv2 Policy,指定IKE階段認證演算法、密碼編譯演算法、DH分組和SA生存周期,需和阿里雲側保持一致。
重要 阿里雲側配置IPsec串連時,IKE配置階段的密碼編譯演算法、認證演算法和DH分組均只支援指定一個值,不支援指定多個值。建議在思科防火牆中IKE設定階段的密碼編譯演算法、認證演算法和DH分組也均只指定一個值,該值需與阿里雲側保持一致。
crypto ikev2 policy 10
encryption aes #指定密碼編譯演算法。
integrity sha #指定認證演算法。
group 14 #指定DH分組。
prf sha #prf和integrity保持一致,阿里雲側prf與認證演算法預設保持一致。
lifetime seconds 86400 #指定SA生存周期。
建立IPsec proposal,指定思科防火牆側的IPsec階段密碼編譯演算法、認證演算法,需和阿里雲側保持一致。
重要 阿里雲側配置IPsec串連時,IPsec配置階段的密碼編譯演算法、認證演算法和DH分組均只支援指定一個值,不支援指定多個值。建議在思科防火牆中IPsec設定階段的密碼編譯演算法、認證演算法和DH分組也均只指定一個值,該值需與阿里雲側保持一致。
crypto ipsec ikev2 ipsec-proposal ALIYUN-PROPOSAL #建立ipsec proposal。
protocol esp encryption aes #指定密碼編譯演算法,協議使用ESP,阿里雲側固定使用ESP協議。
protocol esp integrity sha-1 #指定認證演算法,協議使用ESP,阿里雲側固定使用ESP協議。
定義感興趣流。
指定允許IPsec-VPN串連傳輸的流量網段。本樣本指定本機資料中心的192.168.0.0/16網段和阿里雲VPC10.0.0.0/16網段互連。
access-list acl_tun extended permit ip 192.168.0.0 255.255.0.0 10.0.0.0 255.255.0.0
建立IPsec策略。
#建立隧道1的IPsec策略
crypto map TUNL1 1 match address acl_tun #應用定義的感興趣流。
crypto map TUNL1 1 set pfs group14 #指定DH分組。
crypto map TUNL1 1 set peer 39.XX.XX.218 #指定對端ID,即阿里雲IPsec地址1。
crypto map TUNL1 1 set ikev2 ipsec-proposal ALIYUN-PROPOSAL #應用IPsec proposal。
crypto map TUNL1 1 set ikev2 pre-shared-key 0 123456**** #指定預先共用金鑰,需和tunnel-group命令中的預先共用金鑰必須保持一致。
crypto map TUNL1 1 set security-association lifetime seconds 86400 #指定基於時間的IPsec SA生存周期。
crypto map TUNL1 1 set security-association lifetime kilobytes unlimited #關閉基於流量的IPsec SA生存周期。
crypto map TUNL1 interface outside1 #將IPsec策略應用在公網介面GigabitEthernet0/0。
!
#建立隧道2的IPsec策略
crypto map TUNL2 1 match address acl_tun #應用定義的感興趣流。
crypto map TUNL2 1 set pfs group14 #指定DH分組。
crypto map TUNL2 1 set peer 182.XX.XX.19 #指定對端ID,即阿里雲IPsec地址2。
crypto map TUNL2 1 set ikev2 ipsec-proposal ALIYUN-PROPOSAL #應用IPsec proposal。
crypto map TUNL2 1 set ikev2 pre-shared-key 0 123456**** #指定預先共用金鑰,需和tunnel-group命令中的預先共用金鑰必須保持一致。
crypto map TUNL2 1 set security-association lifetime seconds 86400 #指定基於時間的IPsec SA生存周期。
crypto map TUNL2 1 set security-association lifetime kilobytes unlimited #關閉基於流量的IPsec SA生存周期。
crypto map TUNL2 interface outside2 #將IPsec策略應用在公網介面GigabitEthernet0/2。
!
建立tunnel group,指定隧道的預先共用金鑰,需和阿里雲側保持一致。
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 123456**** #指定隧道1對端的預先共用金鑰,即阿里雲側的預先共用金鑰。
ikev2 local-authentication pre-shared-key 123456**** #指定隧道1本段的預先共用金鑰,需和阿里雲側的保持一致。
!
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 123456**** #指定隧道2對端的預先共用金鑰,即阿里雲側的預先共用金鑰。
ikev2 local-authentication pre-shared-key 123456**** #指定隧道2本段的預先共用金鑰,需和阿里雲側的保持一致。
!
查看IPsec-VPN串連狀態。
您可以通過以下命令查看已經協商成功的SA。
單擊查看更多查詢命令。
IPsec SA協商相關查詢命令
show crypto isakmp sa #查看控制面協商SA
show crypto ikev2 sa #查看控制面協商一二階段SA、role、感興趣流資訊
show crypto ipsec sa peer XX.XX.XX.XX #查詢指定peer SA的詳細資料
show ipsec sa #查看轉寄面一二階段SA/role/感興趣流/SA/流量統計基本資料
VPN流量統計相關查詢命令
show crypto ikev2 stats #查看協議報文、加密、異常報文統計資料
show crypto protocol statistics all #查看協議報文、加密報文統計資料
show ipsec stats #查看IPsec統計資訊
配置去往阿里雲VPC(10.0.0.0/16)的浮動靜態路由。
sla monitor 1 # 定義一個編號為1的SLA操作。
type echo protocol ipIcmpEcho 10.0.10.33 interface outside1 # 進行outside1介面與阿里雲側10.0.10.33地址間的icmp-echo檢測。
num-packets 2
timeout 60
frequency 5
sla monitor schedule 1 life forever start-time now #立即啟動SLA 1,並永久運行。
track 1 rtr 1 reachability #建立Track 1並綁定SLA 1,探測outside1介面與阿里雲側10.0.10.33地址的連通性
#track跟蹤到outside1介面與阿里雲側10.0.10.33地址間的連通性DOWN,則撤銷該路由。
#track跟蹤到outside1介面與阿里雲側10.0.10.33地址間的連通性UP,則添加該路由。
route outside1 10.0.0.0 255.255.0.0 39.XX.XX.218 1 track 1
route outside2 10.0.0.0 255.255.0.0 182.XX.XX.19 5
在本機資料中心側,設定本機資料中心用戶端到思科防火牆及思科防火牆到本機資料中心用戶端的路由。
後續您可以開始測試本機資料中心和阿里雲VPC之間的網路連通性。具體操作,請參見驗證測試。
IKEv1配置樣本
如果思科防火牆中需要使用IKEv1版本,您可以參見以下內容進行配置。
使用以下配置和阿里雲建立IPsec-VPN串連時,阿里雲側IPsec串連需使用目的路由模式、IKEv1版本。
目的路由模式-靜態路由
登入思科防火牆的命令列視窗並進入配置模式。
ciscoasa> enable
Password: ******** #輸入進入enable模式的密碼。
ciscoasa# configure terminal #進入配置模式。
ciscoasa(config)#
查看介面配置和公網路由配置。
思科防火牆已完成了介面配置,並已開啟介面。以下為本文的介面配置樣本。
ciscoasa(config)# show running-config interface
!
interface GigabitEthernet0/0
nameif outside1 #GigabitEthernet0/0介面名稱。
security-level 0
ip address 121.XX.XX.211 255.255.255.255 #GigabitEthernet0/0介面配置的公網IP地址。
!
interface GigabitEthernet0/1 #串連本機資料中心的介面。
nameif private #GigabitEthernet0/1介面名稱。
security-level 100 #指定串連本機資料中心介面(私網介面)的security-level低於公網介面。
ip address 192.168.50.217 255.255.255.0 #GigabitEthernet0/1介面配置的IP地址。
!
interface GigabitEthernet0/2
nameif outside2 #GigabitEthernet0/2介面名稱。
security-level 0
ip address 121.XX.XX.77 255.255.255.255 #GigabitEthernet0/2介面配置的公網IP地址。
!
route outside1 39.XX.XX.218 255.255.255.255 192.XX.XX.172 #配置訪問阿里雲側隧道1公網IP地址的路由,下一跳為公網地址。
route outside2 182.XX.XX.19 255.255.255.255 192.XX.XX.158 #配置訪問阿里雲側隧道2公網IP地址的路由,下一跳為公網地址。
route private 192.168.0.0 255.255.0.0 192.168.50.216 #配置去往本機資料中心的路由。
為公網介面開啟IKEv1功能。
crypto ikev1 enable outside1
crypto ikev1 enable outside2
建立IKEv1 Policy,指定驗證方式、IKE階段認證演算法、IKE密碼編譯演算法、DH分組和SA生存周期,需和阿里雲側保持一致。
重要 阿里雲側配置IPsec串連時,IKE配置階段的密碼編譯演算法、認證演算法和DH分組均只支援指定一個值,不支援指定多個值。建議在思科防火牆中IKE設定階段的密碼編譯演算法、認證演算法和DH分組也均只指定一個值,該值需與阿里雲側保持一致。
crypto ikev1 policy 10
authentication pre-share #指定驗證方式為預先共用金鑰。
encryption aes #指定密碼編譯演算法。
hash sha #指定認證演算法。
group 14 #指定DH分組。
lifetime 86400 #指定基於時間的SA生存周期。
建立IPsec transform和profile,指定思科防火牆側的IPsec階段密碼編譯演算法、認證演算法、DH分組和SA生存周期,需和阿里雲側保持一致。
重要 阿里雲側配置IPsec串連時,IPsec配置階段的密碼編譯演算法、認證演算法和DH分組均只支援指定一個值,不支援指定多個值。建議在思科防火牆中IPsec設定階段的密碼編譯演算法、認證演算法和DH分組也均只指定一個值,該值需與阿里雲側保持一致。
crypto ipsec ikev1 transform-set TRANSFORM esp-aes esp-sha-hmac #建立IPsec transform,指定密碼編譯演算法和認證演算法。
crypto ipsec profile ALIYUN-PROFILE
set ikev1 transform-set TRANSFORM #應用已建立的transform。
set pfs group14 #指定pfs和DH分組。
set security-association lifetime seconds 86400 #指定基於時間SA生存周期。
set security-association lifetime kilobytes unlimited #關閉基於流量的SA生存周期。
crypto isakmp identity address #FQDN採用address格式。
建立tunnel group,指定隧道的預先共用金鑰,需和阿里雲側保持一致。
tunnel-group 39.XX.XX.218 type ipsec-l2l #指定隧道1的封裝模式為l2l。
tunnel-group 39.XX.XX.218 ipsec-attributes
ikev1 pre-shared-key 123456**** #指定隧道1對端的預先共用金鑰,即阿里雲側的預先共用金鑰。
!
tunnel-group 182.XX.XX.19 type ipsec-l2l #指定隧道2的封裝模式為l2l。
tunnel-group 182.XX.XX.19 ipsec-attributes
ikev1 pre-shared-key 123456**** #指定隧道2對端的預先共用金鑰,即阿里雲側的預先共用金鑰。
!
建立tunnel介面。
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介面。
!
interface Tunnel2 #建立隧道2的介面。
nameif ALIYUN2
ip address 169.254.20.2 255.255.255.252 #指定介面的IP地址。
tunnel source interface outside2 #指定隧道2源地址為公網介面GigabitEthernet0/2。
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介面。
!
配置去往阿里雲VPC(10.0.0.0/16)的靜態路由。
route ALIYUN1 10.0.0.0 255.255.0.0 39.XX.XX.218 4 #指定從本機資料中心去往阿里雲VPC流量優先通過隧道1介面傳輸,該路由優先順序較高。
route ALIYUN2 10.0.0.0 255.255.0.0 182.XX.XX.19 5 #指定從本機資料中心去往阿里雲VPC流量通過隧道2介面傳輸,該路由優先順序低於指向隧道1介面的路由。
在本機資料中心側,設定本機資料中心用戶端到思科防火牆及思科防火牆到本機資料中心用戶端的路由。
後續您可以開始測試本機資料中心和阿里雲VPC之間的網路連通性。具體操作,請參見驗證測試。
目的路由模式-BGP動態路由
登入思科防火牆的命令列視窗並進入配置模式。
ciscoasa> enable
Password: ******** #輸入進入enable模式的密碼。
ciscoasa# configure terminal #進入配置模式。
ciscoasa(config)#
查看介面配置和公網路由配置。
思科防火牆已完成了介面配置,並已開啟介面。以下為本文的介面配置樣本。
ciscoasa(config)# show running-config interface
!
interface GigabitEthernet0/0
nameif outside1 #GigabitEthernet0/0介面名稱。
security-level 0
ip address 121.XX.XX.211 255.255.255.255 #GigabitEthernet0/0介面配置的公網IP地址。
!
interface GigabitEthernet0/1 #串連本機資料中心的介面。
nameif private #GigabitEthernet0/1介面名稱。
security-level 100 #指定串連本機資料中心介面(私網介面)的security-level低於公網介面。
ip address 192.168.50.217 255.255.255.0 #GigabitEthernet0/1介面配置的IP地址。
!
interface GigabitEthernet0/2
nameif outside2 #GigabitEthernet0/2介面名稱。
security-level 0
ip address 121.XX.XX.77 255.255.255.255 #GigabitEthernet0/2介面配置的公網IP地址。
!
route outside1 39.XX.XX.218 255.255.255.255 192.XX.XX.172 #配置訪問阿里雲側隧道1公網IP地址的路由,下一跳為公網地址。
route outside2 182.XX.XX.19 255.255.255.255 192.XX.XX.158 #配置訪問阿里雲側隧道2公網IP地址的路由,下一跳為公網地址。
route private 192.168.0.0 255.255.0.0 192.168.50.216 #配置去往本機資料中心的路由。
為公網介面開啟IKEv1功能。
crypto ikev1 enable outside1
crypto ikev1 enable outside2
建立IKEv1 Policy,指定驗證方式、IKE階段認證演算法、IKE密碼編譯演算法、DH分組和SA生存周期,需和阿里雲側保持一致。
重要 阿里雲側配置IPsec串連時,IKE配置階段的密碼編譯演算法、認證演算法和DH分組均只支援指定一個值,不支援指定多個值。建議在思科防火牆中IKE設定階段的密碼編譯演算法、認證演算法和DH分組也均只指定一個值,該值需與阿里雲側保持一致。
crypto ikev1 policy 10
authentication pre-share #指定驗證方式為預先共用金鑰。
encryption aes #指定密碼編譯演算法。
hash sha #指定認證演算法。
group 14 #指定DH分組。
lifetime 86400 #指定基於時間的SA生存周期。
建立IPsec transform和profile,指定思科防火牆側的IPsec階段密碼編譯演算法、認證演算法、DH分組和SA生存周期,需和阿里雲側保持一致。
重要 阿里雲側配置IPsec串連時,IPsec配置階段的密碼編譯演算法、認證演算法和DH分組均只支援指定一個值,不支援指定多個值。建議在思科防火牆中IPsec設定階段的密碼編譯演算法、認證演算法和DH分組也均只指定一個值,該值需與阿里雲側保持一致。
crypto ipsec ikev1 transform-set TRANSFORM esp-aes esp-sha-hmac #建立IPsec transform,指定密碼編譯演算法和認證演算法。
crypto ipsec profile ALIYUN-PROFILE
set ikev1 transform-set TRANSFORM #應用已建立的transform。
set pfs group14 #指定pfs和DH分組。
set security-association lifetime seconds 86400 #指定基於時間SA生存周期。
set security-association lifetime kilobytes unlimited #關閉基於流量的SA生存周期。
crypto isakmp identity address #FQDN採用address格式。
建立tunnel group,指定隧道的預先共用金鑰,需和阿里雲側保持一致。
tunnel-group 39.XX.XX.218 type ipsec-l2l #指定隧道1的封裝模式為l2l。
tunnel-group 39.XX.XX.218 ipsec-attributes
ikev1 pre-shared-key 123456**** #指定隧道1對端的預先共用金鑰,即阿里雲側的預先共用金鑰。
!
tunnel-group 182.XX.XX.19 type ipsec-l2l #指定隧道2的封裝模式為l2l。
tunnel-group 182.XX.XX.19 ipsec-attributes
ikev1 pre-shared-key 123456**** #指定隧道2對端的預先共用金鑰,即阿里雲側的預先共用金鑰。
!
建立tunnel介面。
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介面。
!
interface Tunnel2 #建立隧道2的介面。
nameif ALIYUN2
ip address 169.254.20.2 255.255.255.252 #指定介面的IP地址。
tunnel source interface outside2 #指定隧道2源地址為公網介面GigabitEthernet0/2。
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介面。
!
配置BGP動態路由。
router bgp 65000
address-family ipv4 unicast
neighbor 169.254.10.1 remote-as 65530 #指定BGP鄰居,即阿里雲側隧道1的IP地址。
neighbor 169.254.10.1 ebgp-multihop 255
neighbor 169.254.10.1 activate #啟用BGP鄰居。
neighbor 169.254.20.1 remote-as 65530 #指定BGP鄰居,即阿里雲側隧道2的IP地址。
neighbor 169.254.20.1 ebgp-multihop 255
neighbor 169.254.20.1 activate #啟用BGP鄰居。
network 192.168.0.0 mask 255.255.0.0 #宣告本機資料中心的網段。
exit-address-family
在本機資料中心側,設定本機資料中心用戶端到思科防火牆及思科防火牆到本機資料中心用戶端的路由。
後續您可以開始測試本機資料中心和阿里雲VPC之間的網路連通性。具體操作,請參見驗證測試。
單隧道模式配置樣本
單擊查看單隧道配置樣本
情境樣本
本文以上圖情境為例。某公司在阿里雲擁有一個VPC,VPC網段為10.0.0.0/16,VPC中使用ECS部署了應用服務。同時該公司在本地擁有一個資料中心,本機資料中心中要與VPC互連的網段為192.168.0.0/16。公司計劃在本機資料中心與雲上VPC之間建立IPsec-VPN串連,實現資源互訪。
網段規劃及VPN配置樣本
網段規劃
資源 | 網段 | IP地址 |
本機資料中心 | 待和VPC互連的網段:192.168.0.0/16 | 伺服器IP地址:192.168.50.198 |
思科防火牆 | 不涉及 | 思科防火牆串連公網的物理介面: |
VPC | 主網段:10.0.0.0/16 交換器1:10.0.10.0/24 交換器2:10.0.20.0/24 | ECS IP地址:10.0.10.33 |
VPN網關執行個體(公網網路類型) | 不涉及 | VPN網關公網IP地址:39.XX.XX.218
說明 建立VPN網關執行個體後,系統會自動為VPN網關執行個體分配地址。 |
BGP網段規劃
本文將分別描述IPsec-VPN串連使用靜態路由方式和BGP動態路由方式下如何配置思科防火牆。如果您不需要使用BGP動態路由方式,可以忽略本部分。以下為本文的BGP網段規劃。
資源 | BGP隧道網段 | BGP IP地址 | BGP AS號(本端自治系統號) |
VPN網關執行個體 | 169.254.10.0/30
說明 一個VPN網關執行個體下,每個隧道的網段需保持唯一。 | 169.254.10.1 | 65530 |
思科防火牆 | 169.254.10.0/30 | 169.254.10.2 | 65000 |
VPN配置樣本
阿里雲側和思科防火牆側VPN配置需保持相同。
配置項 | 阿里雲側樣本值 | 思科防火牆側樣本值 |
預先共用金鑰 | 123456**** | 123456**** |
IKE配置 | IKE版本 | ikev2 | ikev2 |
協商模式 | main | main |
密碼編譯演算法 | aes | aes |
認證演算法 | sha1 | sha1 |
DH分組 | group14 | group14 |
SA生存周期(秒) | 86400 | 86400 |
IPsec配置 | 密碼編譯演算法 | aes | aes |
認證演算法 | sha1 | sha1 |
DH分組 | group14 | group14 |
SA生存周期(秒) | 86400 | 86400 |
開始配置
目的路由模式-靜態路由
前提條件
本文僅描述如何在思科防火牆中添加VPN配置,不再描述阿里雲VPN網關側的配置。因此在您開始配置前,請確保您已經完成建立VPN網關執行個體、建立使用者網關、建立IPsec串連、配置VPN網關路由的任務。具體操作,請參見建立VPC到本機資料中心的串連(單隧道模式)。
操作步驟
登入思科防火牆的命令列視窗並進入配置模式。
ciscoasa> enable
Password: ******** #輸入進入enable模式的密碼。
ciscoasa# configure terminal #進入配置模式。
ciscoasa(config)#
查看介面配置和公網路由配置。
思科防火牆已完成了介面配置,並已開啟介面。以下為本文的介面配置樣本。
ciscoasa(config)# show running-config interface
!
interface GigabitEthernet0/0
nameif outside1 #GigabitEthernet0/0的名稱。
security-level 0
ip address 121.XX.XX.211 255.255.255.255 #GigabitEthernet0/0介面配置的公網IP地址。
!
interface GigabitEthernet0/1 #串連本機資料中心的介面。
nameif private #GigabitEthernet0/1介面名稱。
security-level 100 #指定串連本機資料中心介面(私網介面)的security-level低於公網介面。
ip address 192.168.50.217 255.255.255.0 #GigabitEthernet0/1介面配置的IP地址。
!
route outside1 39.XX.XX.218 255.255.255.255 192.XX.XX.172 #配置訪問阿里雲側VPN網關公網IP地址的路由,下一跳為公網地址。
route private 192.168.0.0 255.255.0.0 192.168.50.216 #配置去往本機資料中心的路由。
為公網介面開啟IKEv2功能。
crypto ikev2 enable outside1
建立IKEv2 Policy,指定IKE階段認證演算法、密碼編譯演算法、DH分組和SA生存周期,需和阿里雲側保持一致。
重要 阿里雲側配置IPsec串連時,IKE配置階段的密碼編譯演算法、認證演算法和DH分組均只支援指定一個值,不支援指定多個值。建議在思科防火牆中IKE設定階段的密碼編譯演算法、認證演算法和DH分組也均只指定一個值,該值需與阿里雲側保持一致。
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生存周期,需和阿里雲側保持一致。
重要 阿里雲側配置IPsec串連時,IPsec配置階段的密碼編譯演算法、認證演算法和DH分組均只支援指定一個值,不支援指定多個值。建議在思科防火牆中IPsec設定階段的密碼編譯演算法、認證演算法和DH分組也均只指定一個值,該值需與阿里雲側保持一致。
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地址格式,與阿里雲側emoteId格式保持一致。
set pfs group14 #指定pfs和DH分組。
set security-association lifetime seconds 86400 #指定基於時間的SA生存周期。
set security-association lifetime kilobytes unlimited #關閉基於流量的SA生存周期。
建立tunnel group,指定隧道的預先共用金鑰,需和阿里雲側保持一致。
tunnel-group 39.XX.XX.218 type ipsec-l2l #指定隧道的封裝模式為l2l。
tunnel-group 39.XX.XX.218 ipsec-attributes
ikev2 remote-authentication pre-shared-key 123456**** #指定隧道對端的預先共用金鑰,即阿里雲側的預先共用金鑰。
ikev2 local-authentication pre-shared-key 123456**** #指定隧道本段的預先共用金鑰,需和阿里雲側的保持一致。
!
建立tunnel介面。
interface Tunnel1 #建立隧道介面。
nameif ALIYUN1
ip address 169.254.10.2 255.255.255.252 #指定介面的IP地址。
tunnel source interface outside1 #指定隧道源地址為公網介面GigabitEthernet0/0。
tunnel destination 39.XX.XX.218 #指定隧道目的地址為阿里雲側VPN網關公網IP地址。
tunnel mode ipsec ipv4
tunnel protection ipsec profile ALIYUN-PROFILE #指定隧道應用ipsec profile ALIYUN-PROFILE。
no shutdown #開啟隧道介面。
!
配置去往阿里雲VPC(10.0.0.0/16)的靜態路由。
route ALIYUN1 10.0.0.0 255.255.0.0 39.XX.XX.218
在本機資料中心側,設定本機資料中心用戶端到思科防火牆及思科防火牆到本機資料中心用戶端的路由。
後續您可以開始測試本機資料中心和阿里雲VPC之間的網路連通性。具體操作,請參見測試連通性。
目的路由模式-BGP動態路由
前提條件
本文僅描述如何在思科防火牆中添加VPN配置,不再描述阿里雲VPN網關側的配置。因此在您開始配置前,請確保您已經完成建立VPN網關執行個體、建立使用者網關、建立IPsec串連、開啟BGP功能的任務。具體操作,請參見建立VPC到本機資料中心的串連(單隧道模式和BGP路由)。
操作步驟
登入思科防火牆的命令列視窗並進入配置模式。
ciscoasa> enable
Password: ******** #輸入進入enable模式的密碼。
ciscoasa# configure terminal #進入配置模式。
ciscoasa(config)#
查看介面配置和公網路由配置。
思科防火牆已完成了介面配置,並已開啟介面。以下為本文的介面配置樣本。
ciscoasa(config)# show running-config interface
!
interface GigabitEthernet0/0
nameif outside1 #GigabitEthernet0/0的名稱。
security-level 0
ip address 121.XX.XX.211 255.255.255.255 #GigabitEthernet0/0介面配置的公網IP地址。
!
interface GigabitEthernet0/1 #串連本機資料中心的介面。
nameif private #GigabitEthernet0/1介面名稱。
security-level 100 #指定串連本機資料中心介面(私網介面)的security-level低於公網介面。
ip address 192.168.50.217 255.255.255.0 #GigabitEthernet0/1介面配置的IP地址。
!
route outside1 39.XX.XX.218 255.255.255.255 192.XX.XX.172 #配置訪問阿里雲側VPN網關公網IP地址的路由,下一跳為公網地址。
route private 192.168.0.0 255.255.0.0 192.168.50.216 #配置去往本機資料中心的路由。
為公網介面開啟IKEv2功能。
crypto ikev2 enable outside1
建立IKEv2 Policy,指定IKE階段認證演算法、密碼編譯演算法、DH分組和SA生存周期,需和阿里雲側保持一致。
重要 阿里雲側配置IPsec串連時,IKE配置階段的密碼編譯演算法、認證演算法和DH分組均只支援指定一個值,不支援指定多個值。建議在思科防火牆中IKE設定階段的密碼編譯演算法、認證演算法和DH分組也均只指定一個值,該值需與阿里雲側保持一致。
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生存周期,需和阿里雲側保持一致。
重要 阿里雲側配置IPsec串連時,IPsec配置階段的密碼編譯演算法、認證演算法和DH分組均只支援指定一個值,不支援指定多個值。建議在思科防火牆中IPsec設定階段的密碼編譯演算法、認證演算法和DH分組也均只指定一個值,該值需與阿里雲側保持一致。
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地址格式,與阿里雲側emoteId格式保持一致。
set pfs group14 #指定pfs和DH分組。
set security-association lifetime seconds 86400 #指定基於時間的SA生存周期。
set security-association lifetime kilobytes unlimited #關閉基於流量的SA生存周期。
建立tunnel group,指定隧道的預先共用金鑰,需和阿里雲側保持一致。
tunnel-group 39.XX.XX.218 type ipsec-l2l #指定隧道的封裝模式為l2l。
tunnel-group 39.XX.XX.218 ipsec-attributes
ikev2 remote-authentication pre-shared-key 123456**** #指定隧道對端的預先共用金鑰,即阿里雲側的預先共用金鑰。
ikev2 local-authentication pre-shared-key 123456**** #指定隧道本段的預先共用金鑰,需和阿里雲側的保持一致。
!
建立tunnel介面。
interface Tunnel1 #建立隧道介面。
nameif ALIYUN1
ip address 169.254.10.2 255.255.255.252 #指定介面的IP地址。
tunnel source interface outside1 #指定隧道源地址為公網介面GigabitEthernet0/0。
tunnel destination 39.XX.XX.218 #指定隧道目的地址為阿里雲側VPN網關公網IP地址。
tunnel mode ipsec ipv4
tunnel protection ipsec profile ALIYUN-PROFILE #指定隧道應用ipsec profile ALIYUN-PROFILE。
no shutdown #開啟隧道介面。
!
配置BGP動態路由。
router bgp 65000
address-family ipv4 unicast
neighbor 169.254.10.1 remote-as 65530 #指定BGP鄰居,即阿里雲側隧道1的BGP IP地址。
neighbor 169.254.10.1 ebgp-multihop 255
neighbor 169.254.10.1 activate #啟用BGP鄰居。
network 192.168.0.0 mask 255.255.0.0 #宣告本機資料中心的網段。
exit-address-family
在本機資料中心側,設定本機資料中心用戶端到思科防火牆及思科防火牆到本機資料中心用戶端的路由。
後續您可以開始測試本機資料中心和阿里雲VPC之間的網路連通性。具體操作,請參見測試連通性。
感興趣流模式-靜態路由
前提條件
本文僅描述如何在思科防火牆中添加VPN配置,不再描述阿里雲VPN網關側的配置。因此在您開始配置前,請確保您已經完成建立VPN網關執行個體、建立使用者網關、建立IPsec串連的任務。相關操作,請參見:建立VPC到本機資料中心的串連(單隧道模式),其中:
操作步驟
登入思科防火牆的命令列視窗並進入配置模式。
ciscoasa> enable
Password: ******** #輸入進入enable模式的密碼。
ciscoasa# configure terminal #進入配置模式。
ciscoasa(config)#
查看介面配置。
思科防火牆已完成了介面配置,並已開啟介面。以下為本文的介面配置樣本。
ciscoasa(config)# show running-config interface
!
interface GigabitEthernet0/0
nameif outside1 #GigabitEthernet0/0的名稱。
security-level 0
ip address 121.XX.XX.211 255.255.255.255 #GigabitEthernet0/0介面配置的公網IP地址。
!
interface GigabitEthernet0/1 #串連本機資料中心的介面。
nameif private #GigabitEthernet0/1介面名稱。
security-level 100 #指定串連本機資料中心介面(私網介面)的security-level低於公網介面。
ip address 192.168.50.217 255.255.255.0 #GigabitEthernet0/1介面配置的IP地址。
!
route outside1 39.XX.XX.218 255.255.255.255 192.XX.XX.172 #配置訪問阿里雲側VPN網關公網IP地址的路由,下一跳為公網地址。
route private 192.168.0.0 255.255.0.0 192.168.50.216 #配置去往本機資料中心的路由。
為公網介面開啟IKEv2功能。
crypto ikev2 enable outside1
建立IKEv2 Policy,指定IKE階段認證演算法、密碼編譯演算法、DH分組和SA生存周期,需和阿里雲側保持一致。
重要 阿里雲側配置IPsec串連時,IKE配置階段的密碼編譯演算法、認證演算法和DH分組均只支援指定一個值,不支援指定多個值。建議在思科防火牆中IKE設定階段的密碼編譯演算法、認證演算法和DH分組也均只指定一個值,該值需與阿里雲側保持一致。
crypto ikev2 policy 10
encryption aes #指定密碼編譯演算法。
integrity sha #指定認證演算法。
group 14 #指定DH分組。
prf sha #prf和integrity保持一致,阿里雲側prf與認證演算法預設保持一致。
lifetime seconds 86400 #指定SA生存周期。
建立IPsec proposal,指定思科防火牆側的IPsec階段密碼編譯演算法、認證演算法,需和阿里雲側保持一致。
重要 阿里雲側配置IPsec串連時,IPsec配置階段的密碼編譯演算法、認證演算法和DH分組均只支援指定一個值,不支援指定多個值。建議在思科防火牆中IPsec設定階段的密碼編譯演算法、認證演算法和DH分組也均只指定一個值,該值需與阿里雲側保持一致。
crypto ipsec ikev2 ipsec-proposal ALIYUN-PROPOSAL #建立ipsec proposal。
protocol esp encryption aes #指定密碼編譯演算法,協議使用ESP,阿里雲側固定使用ESP協議。
protocol esp integrity sha-1 #指定認證演算法,協議使用ESP,阿里雲側固定使用ESP協議。
定義感興趣流。
指定允許IPsec-VPN串連傳輸的流量網段。本樣本指定本機資料中心的192.168.0.0/16網段和阿里雲VPC10.0.0.0/16網段互連。
access-list acl_tun extended permit ip 192.168.0.0 255.255.0.0 10.0.0.0 255.255.0.0
建立IPsec策略。
#建立隧道的IPsec策略
crypto map TUNL1 1 match address acl_tun #應用定義的感興趣流。
crypto map TUNL1 1 set pfs group14 #指定DH分組。
crypto map TUNL1 1 set peer 39.XX.XX.218 #指定對端ID,即阿里雲VPN網關公網IP地址。
crypto map TUNL1 1 set ikev2 ipsec-proposal ALIYUN-PROPOSAL #應用IPsec proposal。
crypto map TUNL1 1 set ikev2 pre-shared-key 0 123456**** #指定預先共用金鑰,需和tunnel-group命令中的預先共用金鑰必須保持一致。
crypto map TUNL1 1 set security-association lifetime seconds 86400 #指定基於時間的IPsec SA生存周期。
crypto map TUNL1 1 set security-association lifetime kilobytes unlimited #關閉基於流量的IPsec SA生存周期。
crypto map TUNL1 interface outside1 #將IPsec策略應用在公網介面GigabitEthernet0/0。
!
建立tunnel group,指定隧道的預先共用金鑰,需和阿里雲側保持一致。
tunnel-group 39.XX.XX.218 type ipsec-l2l #指定隧道的封裝模式為l2l。
tunnel-group 39.XX.XX.218 ipsec-attributes
ikev2 remote-authentication pre-shared-key 123456**** #指定隧道對端的預先共用金鑰,即阿里雲側的預先共用金鑰。
ikev2 local-authentication pre-shared-key 123456**** #指定隧道本段的預先共用金鑰,需和阿里雲側的保持一致。
!
配置去往阿里雲VPC(10.0.0.0/16)的靜態路由。
route outside1 10.0.0.0 255.255.0.0 39.XX.XX.218
在本機資料中心側,設定本機資料中心用戶端到思科防火牆及思科防火牆到本機資料中心用戶端的路由。
後續您可以開始測試本機資料中心和阿里雲VPC之間的網路連通性。具體操作,請參見測試連通性。
IKEv1配置樣本
如果思科防火牆中需要使用IKEv1版本,您可以參見以下內容進行配置。
使用以下配置和阿里雲建立IPsec-VPN串連時,阿里雲側IPsec串連需使用目的路由模式、IKEv1版本。
目的路由模式-靜態路由
登入思科防火牆的命令列視窗並進入配置模式。
ciscoasa> enable
Password: ******** #輸入進入enable模式的密碼。
ciscoasa# configure terminal #進入配置模式。
ciscoasa(config)#
查看介面配置。
思科防火牆已完成了介面配置,並已開啟介面。以下為本文的介面配置樣本。
ciscoasa(config)# show running-config interface
!
interface GigabitEthernet0/0
nameif outside1 #GigabitEthernet0/0的名稱。
security-level 0
ip address 121.XX.XX.211 255.255.255.255 #GigabitEthernet0/0介面配置的公網IP地址。
!
interface GigabitEthernet0/1 #串連本機資料中心的介面。
nameif private #指定GigabitEthernet0/1介面名稱。
security-level 100 #指定串連本機資料中心介面(私網介面)的security-level低於公網介面。
ip address 192.168.50.217 255.255.255.0 #GigabitEthernet0/1介面配置的IP地址。
!
route outside1 39.XX.XX.218 255.255.255.255 192.XX.XX.172 #配置訪問阿里雲側VPN網關公網IP地址的路由,下一跳為公網地址。
route private 192.168.0.0 255.255.0.0 192.168.50.216 #配置去往本機資料中心的路由。
為公網介面開啟IKEv1功能。
crypto ikev1 enable outside1
建立IKEv1 Policy,指定驗證方式、IKE階段認證演算法、IKE密碼編譯演算法、DH分組和SA生存周期,需和阿里雲側保持一致。
重要 阿里雲側配置IPsec串連時,IKE配置階段的密碼編譯演算法、認證演算法和DH分組均只支援指定一個值,不支援指定多個值。建議在思科防火牆中IKE設定階段的密碼編譯演算法、認證演算法和DH分組也均只指定一個值,該值需與阿里雲側保持一致。
crypto ikev1 policy 10
authentication pre-share #指定驗證方式為預先共用金鑰。
encryption aes #指定密碼編譯演算法。
hash sha #指定認證演算法。
group 14 #指定DH分組。
lifetime 86400 #指定基於時間的SA生存周期。
建立IPsec transform和profile,指定思科防火牆側的IPsec階段密碼編譯演算法、認證演算法、DH分組和SA生存周期,需和阿里雲側保持一致。
重要 阿里雲側配置IPsec串連時,IPsec配置階段的密碼編譯演算法、認證演算法和DH分組均只支援指定一個值,不支援指定多個值。建議在思科防火牆中IPsec設定階段的密碼編譯演算法、認證演算法和DH分組也均只指定一個值,該值需與阿里雲側保持一致。
crypto ipsec ikev1 transform-set TRANSFORM esp-aes esp-sha-hmac #建立IPsec transform,指定密碼編譯演算法和認證演算法。
crypto ipsec profile ALIYUN-PROFILE
set ikev1 transform-set TRANSFORM #應用已建立的transform。
set pfs group14 #指定pfs和DH分組。
set security-association lifetime seconds 86400 #指定基於時間SA生存周期。
set security-association lifetime kilobytes unlimited #關閉基於流量的SA生存周期。
crypto isakmp identity address #FQDN採用address格式。
建立tunnel group,指定隧道的預先共用金鑰,需和阿里雲側保持一致。
tunnel-group 39.XX.XX.218 type ipsec-l2l #指定隧道的封裝模式為l2l。
tunnel-group 39.XX.XX.218 ipsec-attributes
ikev1 pre-shared-key 123456**** #指定隧道對端的預先共用金鑰,即阿里雲側的預先共用金鑰。
!
建立tunnel介面。
interface Tunnel1 #建立隧道介面。
nameif ALIYUN1
ip address 169.254.10.2 255.255.255.252 #指定隧道介面的IP地址。
tunnel source interface outside1 #指定隧道源地址為公網介面GigabitEthernet0/0。
tunnel destination 39.XX.XX.218 #指定隧道目的地址為阿里雲側VPN網關的公網IP地址。
tunnel mode ipsec ipv4
tunnel protection ipsec profile ALIYUN-PROFILE #指定隧道應用ipsec profile ALIYUN-PROFILE。
no shutdown #開啟隧道介面。
!
配置去往阿里雲VPC(10.0.0.0/16)的靜態路由。
route ALIYUN1 10.0.0.0 255.255.0.0 39.XX.XX.218
在本機資料中心側,設定本機資料中心用戶端到思科防火牆及思科防火牆到本機資料中心用戶端的路由。
後續您可以開始測試本機資料中心和阿里雲VPC之間的網路連通性。具體操作,請參見測試連通性。
目的路由模式-BGP動態路由
登入思科防火牆的命令列視窗並進入配置模式。
ciscoasa> enable
Password: ******** #輸入進入enable模式的密碼。
ciscoasa# configure terminal #進入配置模式。
ciscoasa(config)#
查看介面配置。
思科防火牆已完成了介面配置,並已開啟介面。以下為本文的介面配置樣本。
ciscoasa(config)# show running-config interface
!
interface GigabitEthernet0/0
nameif outside1 #GigabitEthernet0/0的名稱。
security-level 0
ip address 121.XX.XX.211 255.255.255.255 #GigabitEthernet0/0介面配置的公網IP地址。
!
interface GigabitEthernet0/1 #串連本機資料中心的介面。
nameif private #指定GigabitEthernet0/1介面名稱。
security-level 100 #指定串連本機資料中心介面(私網介面)的security-level低於公網介面。
ip address 192.168.50.217 255.255.255.0 #GigabitEthernet0/1介面配置的IP地址。
!
route outside1 39.XX.XX.218 255.255.255.255 192.XX.XX.172 #配置訪問阿里雲側VPN網關公網IP地址的路由,下一跳為公網地址。
route private 192.168.0.0 255.255.0.0 192.168.50.216 #配置去往本機資料中心的路由。
為公網介面開啟IKEv1功能。
crypto ikev1 enable outside1
建立IKEv1 Policy,指定驗證方式、IKE階段認證演算法、IKE密碼編譯演算法、DH分組和SA生存周期,需和阿里雲側保持一致。
重要 阿里雲側配置IPsec串連時,IKE配置階段的密碼編譯演算法、認證演算法和DH分組均只支援指定一個值,不支援指定多個值。建議在思科防火牆中IKE設定階段的密碼編譯演算法、認證演算法和DH分組也均只指定一個值,該值需與阿里雲側保持一致。
crypto ikev1 policy 10
authentication pre-share #指定驗證方式為預先共用金鑰。
encryption aes #指定密碼編譯演算法。
hash sha #指定認證演算法。
group 14 #指定DH分組。
lifetime 86400 #指定基於時間的SA生存周期。
建立IPsec transform和profile,指定思科防火牆側的IPsec階段密碼編譯演算法、認證演算法、DH分組和SA生存周期,需和阿里雲側保持一致。
重要 阿里雲側配置IPsec串連時,IPsec配置階段的密碼編譯演算法、認證演算法和DH分組均只支援指定一個值,不支援指定多個值。建議在思科防火牆中IPsec設定階段的密碼編譯演算法、認證演算法和DH分組也均只指定一個值,該值需與阿里雲側保持一致。
crypto ipsec ikev1 transform-set TRANSFORM esp-aes esp-sha-hmac #建立IPsec transform,指定密碼編譯演算法和認證演算法。
crypto ipsec profile ALIYUN-PROFILE
set ikev1 transform-set TRANSFORM #應用已建立的transform。
set pfs group14 #指定pfs和DH分組。
set security-association lifetime seconds 86400 #指定基於時間SA生存周期。
set security-association lifetime kilobytes unlimited #關閉基於流量的SA生存周期。
crypto isakmp identity address #FQDN採用address格式。
建立tunnel group,指定隧道的預先共用金鑰,需和阿里雲側保持一致。
tunnel-group 39.XX.XX.218 type ipsec-l2l #指定隧道的封裝模式為l2l。
tunnel-group 39.XX.XX.218 ipsec-attributes
ikev1 pre-shared-key 123456**** #指定隧道對端的預先共用金鑰,即阿里雲側的預先共用金鑰。
!
建立tunnel介面。
interface Tunnel1 #建立隧道介面。
nameif ALIYUN1
ip address 169.254.10.2 255.255.255.252 #指定隧道介面的IP地址。
tunnel source interface outside1 #指定隧道源地址為公網介面GigabitEthernet0/0。
tunnel destination 39.XX.XX.218 #指定隧道目的地址為阿里雲側VPN網關的公網IP地址。
tunnel mode ipsec ipv4
tunnel protection ipsec profile ALIYUN-PROFILE #指定隧道應用ipsec profile ALIYUN-PROFILE。
no shutdown #開啟隧道介面。
!
配置BGP動態路由。
router bgp 65000
address-family ipv4 unicast
neighbor 169.254.10.1 remote-as 65530 #指定BGP鄰居,即阿里雲側的BGP IP地址。
neighbor 169.254.10.1 ebgp-multihop 255
neighbor 169.254.10.1 activate #啟用BGP鄰居。
network 192.168.0.0 mask 255.255.0.0 #宣告本機資料中心的網段。
exit-address-family
在本機資料中心側,設定本機資料中心用戶端到思科防火牆及思科防火牆到本機資料中心用戶端的路由。
後續您可以開始測試本機資料中心和阿里雲VPC之間的網路連通性。具體操作,請參見測試連通性。