簡介
本文檔介紹如何使用IKEv2多金鑰交換在兩個思科ASA之間配置站點到站點IKEv2 VPN連線。
必要條件
需求
思科建議您瞭解以下主題:
採用元件
本文檔中的資訊基於運行9.20.1的Cisco ASA。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
限制
IKEv2多金鑰交換具有以下限制:
- 僅ASA CLI支援
- 在多情景和HA裝置上支援
- 群集裝置不支援
授權
許可要求與ASA上的站點到站點VPN的許可要求相同。
背景資訊
需要額外的金鑰交換
大量子電腦的出現給安全系統帶來了巨大的風險,尤其是那些使用公鑰密碼系統的系統。量子電腦可以輕易地破壞那些被認為對普通電腦來說非常困難的密碼學方法。因此,人們需要轉向新的量子抗性方法,也稱為後量子密碼術(PQC)演算法。目的是通過使用多個金鑰交換來增強IPsec通訊的安全性。這涉及將傳統金鑰交換和後量子金鑰交換相結合。此方法可確保生成的交換至少與傳統金鑰交換一樣強大,從而增加一層安全性。
計畫通過新增對多個金鑰交換的支援來改進IKEv2。這些額外的金鑰交換可以處理免受量子威脅的演算法。為了交換這些附加金鑰的資訊,引入了一種稱為中間交換的新消息型別。這些金鑰交換使用常規IKEv2方法通過SA負載進行協商。
設定
本節介紹ASA配置。
網路圖表
本檔案中的資訊使用以下網路設定:
ASA配置
配置ASA介面
如果未配置ASA介面,請確保至少配置IP地址、介面名稱和安全級別:
interface GigabitEthernet0/0
nameif outside
security-level 0
ip address 10.10.10.10 255.255.255.0
!
interface GigabitEthernet0/1
nameif inside
security-level 100
ip address 192.168.0.1 255.255.255.0
註:確保同時連線到內部和外部網路,尤其是連線到用於建立站點到站點VPN隧道的遠端對等裝置。您可以使用ping驗證基本連線。
使用多金鑰交換配置IKEv2策略並在外部介面上啟用IKEv2
要為這些連線配置IKEv2策略,請輸入以下命令:
crypto ikev2 policy 10
encryption aes-256
integrity sha256
group 20
prf sha256
lifetime seconds 86400
其他金鑰交換轉換可在 crypto ikev2 policy
使用 additional-key-exchange
指令。總共可以配置七個額外的exchange轉換。在此範例中,已設定兩個額外的Exchange變換(使用DH群組21和31)。
additional-key-exchange 1
key-exchange-method 21
additional-key-exchange 2
key-exchange-method 31
最終的IKEv2策略如下所示:
crypto ikev2 policy 10
encryption aes-256
integrity sha256
group 20
prf sha256
lifetime seconds 86400
additional-key-exchange 1
key-exchange-method 21
additional-key-exchange 2
key-exchange-method 31
注意:當來自兩個對等體的兩個策略包含相同的身份驗證、加密、雜湊、Diffie-Hellman引數和其他金鑰交換引數值時,存在IKEv2策略匹配。
必須在終止VPN隧道的介面上啟用IKEv2。通常情況下,這是外部(或網際網路)介面。要啟用IKEv2,請輸入 crypto ikev2 enable outside
命令。
配置隧道組
對於站點到站點隧道,連線配置檔案型別為IPSec-l2l。要配置IKEv2預共用金鑰,請輸入以下命令:
tunnel-group 10.20.20.20 type ipsec-l2l
tunnel-group 10.20.20.20 ipsec-attributes
ikev2 remote-authentication pre-shared-key cisco
ikev2 local-authentication pre-shared-key cisco
設定相關流量和加密ACL
ASA使用訪問控制清單(ACL)來區分必須使用IPSec加密保護的流量和不需要保護的流量。它保護與permit Application Control Engine(ACE)匹配的出站資料包,並確保與permit ACE匹配的入站資料包具有保護。
object-group network local-network
network-object 192.168.0.0 255.255.255.0
object-group network remote-network
network-object 172.16.10.0 255.255.255.0
access-list asa-vpn extended permit ip object-group local-network object-group remote-network
配置身份NAT(可選)
通常,需要身份NAT以防止感興趣的流量進入動態NAT。在此案例中配置的身份NAT為:
nat (inside,outside) source static local-network local-network destination static remote-network remote-network no-proxy-arp route-lookup
配置IKEv2 IPSec提議
IKEv2 IPSec建議用於定義一組加密和完整性演算法,以保護資料流量。為了成功構建IPSec SA,此建議必須匹配兩個VPN對等體。在此案例中使用的命令如下:
crypto ipsec ikev2 ipsec-proposal IKEV2_TSET
protocol esp encryption aes-256
protocol esp integrity sha-256
配置加密對映並將其繫結到介面
加密對映組合了所有必需的配置,並且必須包含:
- 與必須加密的流量匹配的訪問清單(通常稱為加密ACL)
- 對等體識別
- 至少一個IKEv2 IPSec提議
此處使用的配置如下:
crypto map outside_map 1 match address asa-vpn
crypto map outside_map 1 set peer 10.20.20.20
crypto map outside_map 1 set ikev2 ipsec-proposal IKEV2_TSET
最後一部分是使用此加密對映將外部(公共)介面應用於 crypto map outside_map interface outside
指令。
本地ASA最終配置
interface GigabitEthernet0/0
nameif outside
security-level 0
ip address 10.10.10.10 255.255.255.0
!
interface GigabitEthernet0/1
nameif inside
security-level 100
ip address 192.168.0.1 255.255.255.0
!
crypto ikev2 policy 10
encryption aes-256
integrity sha256
group 20
prf sha256
lifetime seconds 86400
additional-key-exchange 1
key-exchange-method 21
additional-key-exchange 2
key-exchange-method 31
!
crypto ikev2 enable outside
!
tunnel-group 10.20.20.20 type ipsec-l2l
tunnel-group 10.20.20.20 ipsec-attributes
ikev2 remote-authentication pre-shared-key cisco
ikev2 local-authentication pre-shared-key cisco
!
object-group network local-network
network-object 192.168.0.0 255.255.255.0
!
object-group network remote-network
network-object 172.16.10.0 255.255.255.0
!
access-list asa-vpn extended permit ip object-group local-network object-group remote-network
!
nat (inside,outside) source static local-network local-network destination static remote-network remote-network no-proxy-arp route-lookup
!
crypto ipsec ikev2 ipsec-proposal IKEV2_TSET
protocol esp encryption aes-256
protocol esp integrity sha-256
!
crypto map outside_map 1 match address asa-vpn
crypto map outside_map 1 set peer 10.20.20.20
crypto map outside_map 1 set ikev2 ipsec-proposal IKEV2_TSET
!
crypto map outside_map interface outside
遠端ASA最終配置
interface GigabitEthernet0/0
nameif outside
security-level 0
ip address 10.20.20.20 255.255.255.0
!
interface GigabitEthernet0/1
nameif inside
security-level 100
ip address 172.16.10.1 255.255.255.0
!
crypto ikev2 policy 10
encryption aes-256
integrity sha256
group 20
prf sha256
lifetime seconds 86400
additional-key-exchange 1
key-exchange-method 21
additional-key-exchange 2
key-exchange-method 31
!
crypto ikev2 enable outside
!
tunnel-group 10.10.10.10 type ipsec-l2l
tunnel-group 10.10.10.10 ipsec-attributes
ikev2 remote-authentication pre-shared-key cisco
ikev2 local-authentication pre-shared-key cisco
!
object-group network local-network
network-object 172.16.10.0 255.255.255.0
!
object-group network remote-network
network-object 192.168.0.0 255.255.255.0
!
access-list asa-vpn extended permit ip object-group local-network object-group remote-network
!
nat (inside,outside) source static local-network local-network destination static remote-network remote-network no-proxy-arp route-lookup
!
crypto ipsec ikev2 ipsec-proposal IKEV2_TSET
protocol esp encryption aes-256
protocol esp integrity sha-256
!
crypto map outside_map 1 match address asa-vpn
crypto map outside_map 1 set peer 10.10.10.10
crypto map outside_map 1 set ikev2 ipsec-proposal IKEV2_TSET
!
crypto map outside_map interface outside
驗證
在驗證隧道是否啟動並且是否正在傳遞流量之前,必須確保將相關流量傳送到ASA。
註:Packet tracer用於模擬流量。可以使用packet Tracer命令完成; packet-tracer input inside icmp
192.168.0.11 8 0 172.16.10.11(詳見本地ASA)。
為了驗證其他金鑰交換,您可以 show crypto ikev2 sa
指令。如輸出所示,您可以檢查AKE引數以驗證所選交換演算法。
Local-ASA# show crypto ikev2 sa
IKEv2 SAs:
Session-id:2, Status:UP-ACTIVE, IKE count:1, CHILD count:1
Tunnel-id Local Remote fvrf/ivrf Status Role
246015 10.10.10.10/500 10.20.20.20/500 READY INITIATOR
Encr: AES-CBC, keysize: 256, Hash: SHA256, DH Grp:20, Auth sign: PSK, Auth verify: PSK
Additional Key Exchange Group: AKE1: 21 AKE2: 31
Life/Active Time: 86400/7 sec
Child sa: local selector 192.168.0.0/0 - 192.168.0.255/65535
remote selector 172.16.10.0/0 - 172.16.10.255/65535
ESP spi in/out: 0xf41ca3b5/0xda0e693b
疑難排解
上述調試可用於對IKEv2隧道進行故障排除:
debug crypto ikev2 protocol 127
debug crypto ikev2 platform 127
註:如果您希望僅排除一個隧道的故障(如果裝置處於生產狀態,則必須如此),則必須使用debug crypto condition peer X.X.X命令有條件地啟用調試。