此产品的文档集力求使用非歧视性语言。在本文档集中,非歧视性语言是指不隐含针对年龄、残障、性别、种族身份、族群身份、性取向、社会经济地位和交叉性的歧视的语言。由于产品软件的用户界面中使用的硬编码语言、基于 RFP 文档使用的语言或引用的第三方产品使用的语言,文档中可能无法确保完全使用非歧视性语言。 深入了解思科如何使用包容性语言。
思科采用人工翻译与机器翻译相结合的方式将此文档翻译成不同语言,希望全球的用户都能通过各自的语言得到支持性的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 Cisco Systems, Inc. 对于翻译的准确性不承担任何责任,并建议您总是参考英文原始文档(已提供链接)。
本文档介绍在同时使用主模式和预共享密钥(PSK)时,在自适应安全设备(ASA)上进行的调试。还将讨论将某些调试行转换为配置。
本文档中未讨论的主题包括隧道建立后传递流量以及IPsec或互联网密钥交换(IKE)的基本概念。
本文档的读者应了解这些主题。
PSK
IKE
本文档中的信息基于下列硬件和软件版本:
Cisco ASA 9.3.2
运行Cisco IOS® 12.4T的路由器
IKE和IPsec调试有时很晦涩,但您可以使用它们了解IPsec VPN隧道建立问题的位置。
主模式通常用于LAN到LAN隧道之间,在远程访问(EzVPN)情况下,在证书用于身份验证时使用。
调试来自运行软件版本9.3.2的两个ASA。两台设备将形成LAN到LAN隧道。
介绍了两种主要方案:
debug crypto ikev1 127
debug crypto ipsec 127
IPSec 配置:
crypto ipsec transform-set TRANSFORM esp-aes esp-sha-hmac[an error occurred while processing this directive]
crypto map MAP 10 match address VPN
crypto map MAP 10 set peer 10.0.0.2
crypto map MAP 10 set transform-set TRANSFORM
crypto map MAP 10 set reverse-route
crypto map MAP interface outside
crypto isakmp enable outside
crypto isakmp policy 10
authentication pre-share
encryption 3des
hash sha
group 2
lifetime 86400
tunnel-group 10.0.0.2 type ipsec-l2l
tunnel-group 10.0.0.2 ipsec-attributes
pre-shared-key cisco
access-list VPN extended permit tcp 192.168.1.0 255.255.255.0 192.168.2.0 255.255.255.0
access-list VPN extended permit icmp 192.168.1.0 255.255.255.0 192.168.2.0 255.255.255.0
IP 配置:
ciscoasa#
show ip
[an error occurred while processing this directive]
System IP Addresses:
Interface Name IP address Subnet mask Method
GigabitEthernet0/0 inside 192.168.1.1 255.255.255.0 manual
GigabitEthernet0/1 outside 10.0.0.1 255.255.255.0 manual
Current IP Addresses:
Interface Name IP address Subnet mask Method
GigabitEthernet0/0 inside 192.168.1.1 255.255.255.0 manual
GigabitEthernet0/1 outside 10.0.0.1 255.255.255.0 manual
NAT 配置:
object network INSIDE-RANGE[an error occurred while processing this directive]
subnet 192.168.1.0 255.255.255.0 object network FOREIGN_NETWORK
subnet 192.168.2.0 255.255.255
nat (inside,outside) source static INSIDE-RANGE INSIDE-RANGE destination static
FOREIGN_NETWORK FOREIGN_NETWORK no-proxy-arp route-lookup
发起方消息说明 |
调试 |
响应方消息说明 |
|||
主模式交换开始;未共享任何策略,且对等体仍处于MM_NO_STATE中。
作为发起方,ASA开始构建负载。 |
[IKEv1调试]:投手:收到密钥获取消息,spi 0x0 |
|
|||
构造MM1
此过程包括iIKE和的初始建议支持的NAT-T供应商。 |
[IKEv1调试]:IP = 10.0.0.2,构造ISAKMP SA负载[IKEv1 DEBUG]:IP = 10.0.0.2,构造NAT穿越VID版本02负载。 |
||||
发送MM1。 |
[IKEv1]:IP = 10.0.0.2,带负载的IKE_DECODE发送消息(msgid=0):HDR + SA(1)+供应商(13)+供应商(13)+供应商(13)+供应商(13)+供应商(13)+无(0)总长度:168 |
||||
======================================================================= |
|
||||
|
[IKEv1]:IP = 10.0.0.2,带负载的IKE_DECODE RECEIVED消息(msgid=0):HDR + SA(1)+供应商(13)+供应商(13)+供应商(13)+供应商(13)+供应商(13)+无(0)总长度:164 |
从启动器收到MM1。
|
|||
|
[IKEv1调试]:IP = 10.0.0.2,正在处理SA负载 [IKEv1调试]:IP = 10.0.0.2,Oakley建议可接受 [IKEv1调试]:IP = 10.0.0.2,正在处理VID负载 [IKEv1调试]:IP = 10.0.0.2,IKE SA提议# 1,转换# 1可接受匹配全局IKE条目# 2 |
进程MM1。
开始比较ISAKMP/IKE策略。 远程对等体通告它可以使用NAT-T。
相关配置: authentication pre-share 加密3des hash sha 第 2 组 lifetime 86400 |
|||
|
[IKEv1调试]:IP = 10.0.0.2,构造ISAKMP SA负载 |
构造 MM2
在此消息中,响应方选择要使用的isakmp策略设置。 它还通告可使用的NAT-T版本。 |
|||
|
[IKEv1]:IP = 10.0.0.2,带负载的IKE_DECODE发送消息(msgid=0):HDR + SA(1)+供应商(13)+供应商(13)+无(0)总长度:128 |
发送MM2。 |
|||
|
<============================================================== |
|
|||
从响应器收到MM2。 |
[IKEv1]:IP = 10.0.0.2,带负载的IKE_DECODE RECEIVED消息(msgid=0):HDR + SA(1)+供应商(13)+无(0)总长度:104
|
|
|||
处理MM2。 |
[IKEv1调试]:IP = 10.0.0.2,正在处理SA负载
|
|
|||
构建MM3。
此过程包括NAT发现负载、 迪菲-Hellman(DH)密钥交换(KE)负载(initator包括g、p和A到响应器), DPD支持。 |
11月30日10:38:29 [IKEv1调试]:IP = 10.0.0.2,构造ke负载 |
|
|||
发送MM3。 |
[IKEv1]:IP = 10.0.0.2,带负载的IKE_DECODE发送消息(msgid=0):HDR + KE(4)+ NONCE(10)+供应商(13)+供应商(13)+供应商(13)+供应商(13)+ NAT-D(20)+ NAT-D(20)+无(0)总长度:304
|
|
|||
|
================================================================== |
|
|||
|
[IKEv1]:IP = 10.0.0.2,带负载的IKE_DECODE RECEIVED消息(msgid=0):HDR + KE(4)+ NONCE(10)+供应商(13)+供应商(13)+供应商(13)+ NAT-D(130)+ NAT-D(130)+ NONE(0)总长度:284 |
从启动器收到MM3。 |
|||
|
[IKEv1调试]:IP = 10.0.0.2,正在处理密钥负载 |
处理MM3。
从NAT-D负载响应器可确定 initator在NAT之后,如果 响应方位于NAT后面。
负载响应器从DH KE获取p、g和A的值。 |
|||
|
[IKEv1调试]:IP = 10.0.0.2,计算NAT发现哈希 |
构建MM4。
此过程包括 NAT发现负载、 DH KE responder生成"B"和"s"(将"B"发回初始化器), DPD VID。 |
|||
|
[IKEv1]:IP = 10.0.0.2,连接降落在tunnel_group 10.0.0.2上 |
对等体与10.0.0.2 L2L隧道组关联,并且加密密钥和哈希密钥由上面的“s”和预共享密钥生成。 |
|||
|
[IKEv1]:IP = 10.0.0.2,带负载的IKE_DECODE发送消息(msgid=0):HDR + KE(4)+ NONCE(10)+供应商(13)+供应商(13)+供应商(13)+供应商(13)+ NAT-D(130)+ NAT-D(130)+无(0)总长度:304 |
发送MM4。 |
|||
|
<=============================================================== |
|
|||
从响应方接收到MM4。 |
[IKEv1]:IP = 10.0.0.2,带负载的IKE_DECODE RECEIVED消息(msgid=0):HDR + KE(4)+ NONCE(10)+供应商(13)+供应商(13)+供应商(13)+供应商(13)+ NAT-D(20)+ NAT-D(20)+无(0)总长度:304
|
|
|||
处理MM4。
从NAT-D负载,启动器现在能够确定 iniator在NAT后,如果 响应方位于NAT后面。
|
[IKEv1调试]:IP = 10.0.0.2,正在处理IKE负载 |
|
|||
对等体与10.0.0.2 L2L隧道组关联,初始化器使用上面的“s”和预共享密钥生成加密和哈希密钥。
|
[IKEv1]:IP = 10.0.0.2,连接降落在tunnel_group 10.0.0.2上 [IKEv1调试]:组= 10.0.0.2,IP = 10.0.0.2,正在为启动器生成密钥…… |
|
|||
构建MM5。
相关配置: crypto isakmp identity auto |
[IKEv1调试]:组= 10.0.0.2,IP = 10.0.0.2,构造ID负载 |
|
|||
发送 MM5。 |
[IKEv1]:IP = 10.0.0.2,带负载的IKE_DECODE发送消息(msgid=0):HDR + ID(5)+ HASH(8)+ IOS保活(128)+ VENDOR(13)+ NONE(0)总长度:96 |
|
|||
|
=================================================================== |
|
|||
响应器不在任何NAT后面。无需NAT-T。 |
[IKEv1]:组= 10.0.0.2,IP = 10.0.0.2,自动NAT检测状态:远程端不在NAT设备后面此端不在NAT设备后面 |
[IKEv1]:IP = 10.0.0.2,带负载的IKE_DECODE RECEIVED消息(msgid=0):HDR + ID(5)+ HASH(8)+ NONE(0)总长度:64 |
从启动器接收到MM5。
此过程包括r远程对等体身份(ID)和c连接登录到特定隧道组。 |
||
|
[IKEv1调试]:组= 10.0.0.2,IP = 10.0.0.2,处理ID负载 [IKEv1]:IP = 10.0.0.2,连接降落在tunnel_group 10.0.0.2上 |
进程MM5。
使用预共享密钥的身份验证现在开始。 身份验证在两个对等体上进行;因此,您将看到两组相应的身份验证过程。
相关配置: |
|||
|
检测状态:远程端不在NAT设备后面此端不在NAT设备后面 |
无 本例中需要NAT-T。 |
|||
|
[IKEv1调试]:组= 10.0.0.2,IP = 10.0.0.2,构造ID负载 |
构建MM6。
发送身份 包括启动的密钥更新时间和发送到远程对等体的身份。 |
|||
|
[IKEv1]:IP = 10.0.0.2,带负载的IKE_DECODE发送消息(msgid=0):HDR + ID(5)+ HASH(8)+ IOS保活(128)+ VENDOR(13)+ NONE(0)总长度:96 |
发送MM6。 |
|||
|
<=============================================================== |
|
|||
从响应方收到MM6。 |
[IKEv1]:IP = 10.0.0.2,带负载的IKE_DECODE RECEIVED消息(msgid=0):HDR + ID(5)+ HASH(8)+ NONE(0)总长度:64 |
[IKEv1]:组= 10.0.0.2,IP = 10.0.0.2,第1阶段已完成 |
第1阶段完成。
启动isakmp重新键计时器。
相关配置: |
||
进程MM6。
此过程包括r从对等体和f发送远程身份关于隧道组的最终决定。 |
[IKEv1调试]:组= 10.0.0.2,IP = 10.0.0.2,处理ID负载 |
|
|||
第1阶段完成。
启动ISAKMP重新生成密钥计时器。
相关c配置: 隧道组10.0.0.2类型ipsec-l2l 隧道组10.0.0.2 ipsec属性 预共享密钥cisco |
[IKEv1]:组= 10.0.0.2,IP = 10.0.0.2,第1阶段已完成 |
|
|||
第2阶段(快速模式)开始。 |
IPSEC:在0x53FC3C00下创建的新初期SA, |
||||
构建QM1。
此过程包括 代理ID和IP秒 策略。
相关配置: access-list VPN extended permit icmp 192.168.1.0 255.255.255.0 192.168.2.0 255.255.0 |
[IKEv1调试]:组= 10.0.0.2,IP = 10.0.0.2,IKE从密钥引擎获取SPI:SPI = 0xfd2d851f [IKEv1解码]:组= 10.0.0.2,IP = 10.0.0.2,IKE发起方发送初始联系 |
|
|||
发送 QM1。 |
[IKEv1]:IP = 10.0.0.2,IKE_DECODE发送消息(msgid=7b80c2b0),带负载:HDR + HASH(8)+ SA(1)+ NONCE(10)+ ID(5)+ ID(5)+ NOTIFY(11)+ NONE(0)总长度:200 |
|
|||
|
=================================QM1====================================== |
|
|||
|
[IKEv1解码]:IP = 10.0.0.2,IKE响应器启动QM: ms id = 52481cf5 [IKEv1]:IP = 10.0.0.2,IKE_DECODE RECEIVED消息(msgid=52481cf5),负载:HDR + HASH(8)+ SA(1)+ NONCE(10)+ ID(5)+ ID(5)+ NONE(0)总长度:172 |
从启动器收到QM1。
响应器启动第2阶段(QM)。 |
|||
[IKEv1调试]:组= 10.0.0.2,IP = 10.0.0.2,正在处理哈希负载 |
进程QM1。
此过程 将远程代理与本地代理进行比较 选择可接受的IP秒 策略。
相关配置:crypto ipsec transform-set TRANSFORM esp-aes esp-sha-hmac access-list VPN extended permit icmp 192.168.1.0 255.255.255.0 192.168.2.0 255.255.0 加密映射MAP 10匹配地址VPN |
||||
|
[IKEv1解码]:组= 10.0.0.2,IP = 10.0.0.2,ID_IPV4_ADDR_SUBNET ID received - 192.168.2.0 - 255.255.0[IKEv1]:组= 10.0.0.2,IP = 10.0.0.2,ID负载中接收的远程IP代理子网数据:地址192.168.2.0、掩码255.255.255.0、协议1、端口0 [IKEv1调试]:组= 10.0.0.2,IP = 10.0.0.2,处理ID负载 |
接收远程和本地子网(192.168.2.0/24和192.168.1.0/24)。 |
|||
|
[IKEv1]:组= 10.0.0.2,IP = 10.0.0.2,QM重新锁定旧SA未被addr找到 |
查找并找到匹配的静态加密条目。 |
|||
|
[IKEv1]:组= 10.0.0.2,IP = 10.0.0.2,IKE:请求SPI! |
构建QM2。
此过程包含c确认代理身份、隧道类型和 对镜像加密ACL执行检查。 |
|||
|
[IKEv1]:IP = 10.0.0.2,IKE_DECODE发送消息(msgid=52481cf5),带负载:HDR + HASH(8)+ SA(1)+ NONCE(10)+ ID(5)+ ID(5)+ NONE(0)总长度:172 |
发送QM2。 |
|||
|
<==============================QM2=================================== |
|
|||
从响应器收到QM2。 |
[IKEv1]:IP = 10.0.0.2,IKE_DECODE RECEIVED消息(msgid=7b80c2b0),带负载:HDR + HASH(8)+ SA(1)+ NONCE(10)+ ID(5)+ ID(5)+ NOTIFY(11)+ NONE(0)总长度:200 |
|
|||
进程QM2。
在此过程中, r远端发送参数和 选择最短的建议阶段2寿命。 |
[IKEv1调试]:组= 10.0.0.2,IP = 10.0.0.2,正在处理哈希负载 |
|
|||
找到匹配的加密映射“MAP”和条目10,并将其与访问列表“VPN”匹配。 |
[IKEv1调试]:组= 10.0.0.2,IP = 10.0.0.2,NP加密规则查找加密映射MAP 10匹配的ACL VPN:返回cs_id=53f11198;rule=53f11a90 |
|
|||
设备已分别为入站和出站流量生成SPI 0xfd2d851f和0xdde50931。 |
[IKEv1调试]:组= 10.0.0.2,IP = 10.0.0.2,生成快速模式密钥! |
|
|||
构建QM3。
确认 创建到远程对等体的所有SPI。 |
IPSEC:已完成主机IBSA更新,SPI 0xFD2D851F |
|
|||
发送QM3。 |
[IKEv1解码]:组= 10.0.0.2,IP = 10.0.0.2,IKE发起程序发送第3个QM包:msg id = 7b80c2b0 |
|
|||
|
===============================QM3======================================== |
|
|||
第2阶段完成。
发起方现在已准备好使用这些SPI值加密和解密数据包。 |
[IKEv1]:IP = 10.0.0.2,IKE_DECODE发送消息(msgid=7b80c2b0),带负载:HDR + HASH(8)+ NONE(0)总长度:76 |
[IKEv1]:IP = 10.0.0.2,IKE_DECODE RECEIVED消息(msgid=52481cf5),负载:HDR + HASH(8)+ NONE(0)总长度:52 |
QM3从启动器接收。 |
||
|
[IKEv1调试]:组= 10.0.0.2,IP = 10.0.0.2,正在处理哈希负载 |
进程QM3。
为数据SA生成加密密钥。
在此过程中, 设置SPI以传递流量。 |
|||
|
[IKEv1]:组= 10.0.0.2,IP = 10.0.0.2,LAN到LAN组(10.0.0.2)响应器的安全协商完成,入站SPI = 0x1698cac7,出站SPI = 0xdb680406 IPSEC:已完成主机IBSA更新,SPI 0x1698CAC7 |
SPI被分配给数据SA。 |
|||
|
[IKEv1调试]:组= 10.0.0.2,IP = 10.0.0.2,开始P2重新生成密钥计时器:3060 秒. |
开始IPsec重新生成密钥。 |
|||
|
[IKEv1]:组= 10.0.0.2,IP = 10.0.0.2,第2阶段已完成(msgid=52481cf5) |
第2阶段完成。响应方和发起方都能够加密/解密流量。 |
隧道验证
注意:由于ICMP用于触发隧道,因此只有一个IPSec SA处于启用状态。协议1 = ICMP。
show crypto ipsec sa
interface: outside
Crypto map tag: MAP, seq num: 10, local addr: 10.0.0.1
access-list VPN extended permit icmp 192.168.1.0 255.255.255.0 192.168.2.0 255.255.255.0
local ident (addr/mask/prot/port): (192.168.1.0/255.255.255.0/1/0)
remote ident (addr/mask/prot/port): (192.168.2.0/255.255.255.0/1/0)
current_peer: 10.0.0.2
#pkts encaps: 4, #pkts encrypt: 4, #pkts digest: 4
#pkts decaps: 4, #pkts decrypt: 4, #pkts verify: 4
#pkts compressed: 0, #pkts decompressed: 0
#pkts not compressed: 4, #pkts comp failed: 0, #pkts decomp failed: 0
#pre-frag successes: 0, #pre-frag failures: 0, #fragments created: 0
#PMTUs sent: 0, #PMTUs rcvd: 0, #decapsulated frgs needing reassembly: 0
#send errors: 0, #recv errors: 0
local crypto endpt.: 10.0.0.1/0, remote crypto endpt.: 10.0.0.2/0
path mtu 1500, ipsec overhead 74, media mtu 1500
current outbound spi: DB680406
current inbound spi : 1698CAC7
inbound esp sas:
spi: 0x1698CAC7(379112135)[an error occurred while processing this directive]
transform: esp-aes esp-sha-hmac no compression
in use settings ={L2L, Tunnel, }
slot: 0, conn_id: 16384, crypto-map: MAP
sa timing: remaining key lifetime (kB/sec): (3914999/3326)
IV size: 16 bytes
replay detection support: Y
Anti replay bitmap:
0x00000000 0x0000001F
outbound esp sas:
spi: 0xDB680406 (3681027078)
transform: esp-aes esp-sha-hmac no compression
in use settings ={L2L, Tunnel, }
slot: 0, conn_id: 16384, crypto-map: MAP
sa timing: remaining key lifetime (kB/sec): (3914999/3326)
IV size: 16 bytes
replay detection support: Y
Anti replay bitmap:
0x00000000 0x00000001show crypto isakmp sa
Active SA: 1
Rekey SA: 0 (A tunnel will report 1 Active and 1 Rekey SA during rekey)
Total IKE SA: 1
1 IKE Peer: 10.0.0.2
Type :L2LRole :responder
Rekey : no State :MM_ACTIVE[an error occurred while processing this directive]