L2L-VPN - ikev2 - troubleshooting
I would like to review the commons mistakes in the L2L VPN (ikev2) configuration on IOS routers ans Cisco ASAs.
1) ikev2 pre-share-key mismatch :
asa1# debug crypto ikev2 protocol 127
IKEv2-PROTO-4: Next payload: ENCR, version: 2.0
IKEv2-PROTO-4: Exchange type: IKE_AUTH, flags: RESPONDER MSG-RESPONSE
IKEv2-PROTO-4: Message id: 0x1, length: 68
REAL Decrypted packet:Data: 8 bytes
IKEv2-PROTO-5: Parse Notify Payload: AUTHENTICATION_FAILED NOTIFY(AUTHENTICATION_FAILED) Next payload: NONE, reserved: 0x0, length: 8
Security protocol id: IKE, spi size: 0, type: AUTHENTICATION_FAILED
Decrypted packet:Data: 68 bytes
IKEv2-PROTO-5: (29): SM Trace-> SA: I_SPI=84F7CA31A3A18FA7 R_SPI=C6233B5952724D83 (I) MsgID = 00000001 CurState: I_WAIT_AUTH Event: EV_RECV_AUTH
IKEv2-PROTO-5: (29): Action: Action_Null
–
R1#debug crypto ikev2 event
May 4 17:45:46.382: IKEv2:(1): Stopping timer to wait for auth message
May 4 17:45:46.386: IKEv2:(1): Check NAT discovery
May 4 17:45:46.386: IKEv2:(1): Recieved valid parameteres in process id
May 4 17:45:46.386: IKEv2:(1): Getting configured policies
May 4 17:45:46.386: IKEv2:found matching IKEv2 profile 'IKEV2-PROFILE'
May 4 17:45:46.386: IKEv2:% Getting preshared key from profile keyring KEYRING
May 4 17:45:46.386: IKEv2:% Matched peer block '10.0.0.2'
May 4 17:45:46.386: IKEv2:Found Policy IKEV2-POLICY
May 4 17:45:46.386: IKEv2:(1): Setting configured policies
May 4 17:45:46.386: IKEv2:(1): Verify peer's policy
May 4 17:45:46.386: IKEv2:(1): Get peer authentication method
May 4 17:45:46.386: IKEv2:(1): Get peer's preshared key for 10.0.0.2
May 4 17:45:46.386: IKEv2:(1): Verify authentication data
May 4 17:45:46.386: IKEv2:(1): Use preshared key for id 10.0.0.2, key len 8
May 4 17:45:46.386: IKEv2:(1): Failed to authenticate the IKE SA
May 4 17:45:46.386: IKEv2:(1):
May 4 17:45:46.386: IKEv2:(1): Verify auth failed
May 4 17:45:46.386: IKEv2:(1): Sending authentication failure notify
May 4 17:45:46.386: IKEv2:(1): Building packet for encryption; contents are: NOTIFY(AUTHENTICATION_FAILED)
May 4 17:45:46.386:
May 4 17:45:46.386: IKEv2:Tx [L 10.0.0.1:500/R 10.0.0.2:500/VRF i0:f0] m_id: 0x1
May 4 17:45:46.386: IKEv2:HDR[i:C99CBB7C0E0C37AF - r: 99E4D277C5A04B8D]
ENCR
May 4 17:45:46.386:
May 4 17:45:46.386: IKEv2:(1): Auth exchange failed
May 4 17:45:46.386: IKEv2:(1): Auth exchange failed
May 4 17:45:46.386: IKEv2:(1): Auth exchange failed
May 4 17:45:46.386: IKEv2:(1): Abort exchange
May 4 17:45:46.386: IKEv2:(1): Deleting SA
2) ikev2 policy mismatch:
asa1# debug crypto ikev2 protocol 127
IKEv2-PROTO-2: (34): Sending initial message
IKEv2-PROTO-3: IKE Proposal: 1, SPI size: 0 (initial negotiation),
Num. transforms: 4
AES-CBC MD5 MD596 DH_GROUP_1536_MODP/Group 5
IKEv2-PROTO-5: Construct Vendor Specific Payload: DELETE-REASONIKEv2-PROTO-5: Construct Vendor Specific Payload: (CUSTOM)IKEv2-PROTO-5: Construct Notify Payload: NAT_DETECTION_SOURCE_IPIKEv2-PROTO-5: Construct Notify Payload: NAT_DETECTION_DESTINATION_IPIKEv2-PROTO-5: Construct Vendor Specific Payload: FRAGMENTATIONIKEv2-PROTO-3: (34): Checking if request will fit in peer window
IKEv2-PROTO-3: Tx [L 10.0.0.2:500/R 10.0.0.1:500/VRF i0:f0] m_id: 0x0
IKEv2-PROTO-3: HDR[i:5622DD3D886657CC - r: 0000000000000000]
IKEv2-PROTO-4: IKEV2 HDR ispi: 5622DD3D886657CC - rspi: 0000000000000000
IKEv2-PROTO-4: Next payload: SA, version: 2.0
IKEv2-PROTO-4: Exchange type: IKE_SA_INIT, flags: INITIATOR
IKEv2-PROTO-4: Message id: 0x0, length: 458
SA Next payload: KE, reserved: 0x0, length: 48
IKEv2-PROTO-4: last proposal: 0x0, reserved: 0x0, length: 44
Proposal: 1, Protocol id: IKE, SPI size: 0, #trans: 4
IKEv2-PROTO-4: last transform: 0x3, reserved: 0x0: length: 12
type: 1, reserved: 0x0, id: AES-CBC
IKEv2-PROTO-4: last transform: 0x3, reserved: 0x0: length: 8
type: 2, reserved: 0x0, id: MD5
IKEv2-PROTO-4: last transform: 0x3, reserved: 0x0: length: 8
type: 3, reserved: 0x0, id: MD596
IKEv2-PROTO-4: last transform: 0x0, reserved: 0x0: length: 8
type: 4, reserved: 0x0, id: DH_GROUP_1536_MODP/Group 5
KE Next payload: N, reserved: 0x0, length: 200
DH group: 5, Reserved: 0x0
e1 82 70 df fc d8 67 2a 24 bb e8 e3 9f c8 e5 54
a9 be 00 ef e5 69 26 08 a8 8c 7f 5a 1d 1a dc c3
d1 c8 45 5b fe 8b 69 6e 02 1f db 5a 8c 11 aa 0f
f7 c4 63 8d d9 01 1e 07 55 62 79 f0 ab 9f 3e 2e
57 04 9a 59 6d 5f b5 fc 4b a5 f3 e5 68 ed 04 4f
ee 4e 8f 0c 84 b0 26 65 f6 bf fd 20 3e 51 8c 4e
64 9d cf 14 27 fc e5 8f 7c c5 20 3e 1b 0f 75 0d
f0 39 3b 37 67 63 22 b1 37 e2 36 60 ae 86 a7 70
9d 37 6f e6 5c 52 bb ed a6 6f 20 78 8e a3 bf 1c
c1 06 cc 8f 2b f4 b7 0c f2 f8 ed ba 73 0d 78 89
b0 4d e1 07 19 6b 27 7f 05 11 7d 2d 3b 85 0c a5
3a 3f a9 ab 5a b2 a0 20 54 f9 39 1f 94 88 de 05
N Next payload: VID, reserved: 0x0, length: 24
6a b5 69 51 73 82 f6 76 1c 87 30 06 7a d2 19 49
6c 09 2f 8c
VID Next payload: VID, reserved: 0x0, length: 23
43 49 53 43 4f 2d 44 45 4c 45 54 45 2d 52 45 41
53 4f 4e
VID Next payload: NOTIFY, reserved: 0x0, length: 59
43 49 53 43 4f 28 43 4f 50 59 52 49 47 48 54 29
26 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32
30 30 39 20 43 69 73 63 6f 20 53 79 73 74 65 6d
73 2c 20 49 6e 63 2e
NOTIFY(NAT_DETECTION_SOURCE_IP) Next payload: NOTIFY, reserved: 0x0, length: 28
Security protocol id: IKE, spi size: 0, type: NAT_DETECTION_SOURCE_IP
b2 c8 10 b5 a9 76 bc 80 af dc 77 2c 0a b0 12 b1
9b c8 3d 1b
NOTIFY(NAT_DETECTION_DESTINATION_IP) Next payload: VID, reserved: 0x0, length: 28
Security protocol id: IKE, spi size: 0, type: NAT_DETECTION_DESTINATION_IP
30 62 12 8b 47 21 d8 10 8b cf bc 10 45 d6 7f bb
ef 11 2a 9b
VID Next payload: NONE, reserved: 0x0, length: 20
40 48 b7 d5 6e bc e8 85 25 e7 de 7f 00 d6 c2 d3
IKEv2-PROTO-5: (34): SM Trace-> SA: I_SPI=5622DD3D886657CC R_SPI=0000000000000000 (I) MsgID = 00000000 CurState: I_BLD_INIT Event: EV_INSERT_SA
IKEv2-PROTO-3: (34): Insert SA
IKEv2-PROTO-5: (34): SM Trace-> SA: I_SPI=5622DD3D886657CC R_SPI=0000000000000000 (I) MsgID = 00000000 CurState: I_WAIT_INIT Event: EV_NO_EVENT
IKEv2-PROTO-3: Rx [L 10.0.0.2:500/R 10.0.0.1:500/VRF i0:f0] m_id: 0x0
IKEv2-PROTO-3: HDR[i:5622DD3D886657CC - r: 4EAF005D824114C8]
IKEv2-PROTO-4: IKEV2 HDR ispi: 5622DD3D886657CC - rspi: 4EAF005D824114C8
IKEv2-PROTO-4: Next payload: NOTIFY, version: 2.0
IKEv2-PROTO-4: Exchange type: IKE_SA_INIT, flags: RESPONDER MSG-RESPONSE
IKEv2-PROTO-4: Message id: 0x0, length: 36
IKEv2-PROTO-5: Parse Notify Payload: NO_PROPOSAL_CHOSEN NOTIFY(NO_PROPOSAL_CHOSEN) Next payload: NONE, reserved: 0x0, length: 8
Security protocol id: IKE, spi size: 0, type: NO_PROPOSAL_CHOSEN
Decrypted packet:Data: 36 bytes
–
R1#debug crypto ikev2 event
May 4 18:02:56.434: IKEv2:(1): Verify SA init message
May 4 18:02:56.434: IKEv2:(1): Insert SA
May 4 18:02:56.434: IKEv2:(1): Getting configured policies
May 4 18:02:56.438: IKEv2:Found Policy IKEV2-POLICY
May 4 18:02:56.438: IKEv2:(1): Processing initial message
May 4 18:02:56.438: IKEv2:(1): Failed to find a matching policy
May 4 18:02:56.438: IKEv2:(1): Received Policies: Proposal 1: AES-CBC-192 MD5 MD596 DH_GROUP_1536_MODP/Group 5
May 4 18:02:56.438:
May 4 18:02:56.438:
May 4 18:02:56.438: IKEv2:(1): Failed to find a matching policy
May 4 18:02:56.438: IKEv2:(1): Expected Policies: Proposal 1: 3DES MD5 MD596 DH_GROUP_1536_MODP/Group 5
May 4 18:02:56.438:
May 4 18:02:56.438:
May 4 18:02:56.438: IKEv2:(1): Failed to find a matching policy
May 4 18:02:56.438: IKEv2:(1):
May 4 18:02:56.438: IKEv2:(1): Sending no proposal chosen notify
May 4 18:02:56.438: IKEv2:Tx [L 10.0.0.1:500/R 10.0.0.2:500/VRF i0:f0] m_id: 0x0
May 4 18:02:56.438: IKEv2:HDR[i:CF756588713E6EC9 - r: 2CC24E375D5235B9]
NOTIFY(NO_PROPOSAL_CHOSEN)
May 4 18:02:56.438:
May 4 18:02:56.438: IKEv2:(1): Failed SA init exchange
May 4 18:02:56.438: IKEv2:(1): Initial exchange failed
May 4 18:02:56.438: IKEv2:(1): Initial exchange failed
May 4 18:02:56.438: IKEv2:(1): Abort exchange
May 4 18:02:56.438: IKEv2:(1): Deleting SA
3) No ikev2 enabled on one of the peer:
R1#ping 20.0.0.1 source loo0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 20.0.0.1, timeout is 2 seconds:
Packet sent with a source address of 11.11.11.11
May 4 18:13:13.858: IKEv2:% Getting preshared key from profile keyring KEYRING
May 4 18:13:13.858: IKEv2:% Matched peer block '10.0.0.2'
May 4 18:13:13.858: IKEv2:Found Policy IKEV2-POLICY
May 4 18:13:13.858: IKEv2:(1): Getting configured policies
May 4 18:13:13.858: IKEv2:(1): Setting configured policies
May 4 18:13:13.858: IKEv2:(1): Computing DH public key
May 4 18:13:13.858: IKEv2:(1):
May 4 18:13:13.858: IKEv2:(1): Sending initial message
May 4 18:13:13.858: IKEv2: IKE Proposal: 1, SPI size: 0 (initial negotiation),
Num. transforms: 4
3DES MD5 MD596 DH_GROUP_1536_MODP/Group 5
May 4 18:13:13.858:
May 4 18:13:13.858: IKEv2:(1): Checking if request will fit in peer window
May 4 18:13:13.858: IKEv2:Tx [L 10.0.0.1:500/R 10.0.0.2:500/VRF i0:f0] m_id: 0x0
May 4 18:13:13.858: IKEv2:HDR[i:3340E1ED6BAF09D6 - r: 0000000000000000]
SA KE N VID VID NOTIFY(NAT_DETECTION_SOURCE_IP) NOTIFY(NAT_DETECTION_DESTINATION_IP)
May 4 18:13:13.858:
May 4 18:13:13.858: IKEv2:(1):. Insert SA
May 4 18:13:15.770: IKEv2:(1): Retransmitting packet
May 4 18:13:15.770: IKEv2:Tx [L 10.0.0.1:500/R 10.0.0.2:500/VRF i0:f0] m_id: 0x0
May 4 18:13:15.770: IKEv2:HDR[i:3340E1ED6BAF09D6 - r: 0000000000000000]
SA KE N VID VID NOTIFY(NAT_DETECTION_SOURCE_IP) NOTIFY(NAT_DETECTION_DESTINATION_IP)
May 4 18:13:15.770: ..
May 4 18:13:19.470: IKEv2:(1): Retransmitting packet
May 4 18:13:19.470: IKEv2:Tx [L 10.0.0.1:500/R 10.0.0.2:500/VRF i0:f0] m_id: 0x0
May 4 18:13:19.470: IKEv2:HDR[i:3340E1ED6BAF09D6 - r: 0000000000000000]
SA KE N VID VID NOTIFY(NAT_DETECTION_SOURCE_IP) NOTIFY(NAT_DETECTION_DESTINATION_IP)
May 4 18:13:19.470: ..
Success rate is 0 percent (0/5)
May 4 18:13:27.218: IKEv2:(1): Retransmitting packet
May 4 18:13:27.218: IKEv2:Tx [L 10.0.0.1:500/R 10.0.0.2:500/VRF i0:f0] m_id: 0x0
May 4 18:13:27.218: IKEv2:HDR[i:3340E1ED6BAF09D6 - r: 0000000000000000]
SA KE N VID VID NOTIFY(NAT_DETECTION_SOURCE_IP) NOTIFY(NAT_DETECTION_DESTINATION_IP)
May 4 18:13:27.218:
R1#sh crypto ikev2 sa
IPv4 Crypto IKEv2 SA
Tunnel-id Local Remote fvrf/ivrf Status
1 10.0.0.1/500 10.0.0.2/500 none/none IN-NEG
Encr: Unknown - 0, Hash: None, DH Grp:0, Auth sign: Unknown - 0, Auth verify: Unknown - 0
Life/Active Time: 86400/0 sec
IPv6 Crypto IKEv2 SA
R1#
4) mismatch ipsec proposal
R1#debug crypto ikev2 event
May 4 18:53:01.802: IKEv2:(1): Received Policies: ESP: Proposal 1: AES-CBC-192 MD596 Don't use ESN
May 4 18:53:01.802:
May 4 18:53:01.802:
May 4 18:53:01.802: IKEv2:(1): Failed to find a matching policy
May 4 18:53:01.802: IKEv2:(1): Expected Policies:
May 4 18:53:01.802: IKEv2:(1): Failed to find a matching policy
May 4 18:53:01.802: IKEv2:(1):
May 4 18:53:01.802: IKEv2:(1): Sending no proposal chosen notify