Contents

Introduction

Prerequisites

Requirements

Components Used

Configure

Network Diagram

Local Router Configurations

Local Router Final Configuration

ISP Configuration

Remote Router Final Configuration

Verification

Troubleshoot

Introduction

This document describes a configuration to set up an IPv6, route-based, site-to-site tunnel between two Cisco routers using the Internet Key Exchange version 2 (IKEv2) protocol.

Prerequisites

Requirements

Cisco recommends that you have knowledge of these topics:

- Fundamental knowledge of Cisco IOS®/Cisco IOS® XE CLI configuration

- Fundamental knowledge of Internet Security Association and Key Management Protocol (ISAKMP) and IPsec protocols

- Understanding of IPv6 addressing and routing

Components Used

The information in this document is based on these software versions:

- Cisco IOS XE running 17.03.04a as Local Router

- Cisco IOS running 17.03.04a as Remote Router

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, ensure that you understand the potential impact of any command.

Configure

Network Diagram

Local Router Configurations

Step 1. Enable IPv6 Unicast Routing.

ipv6 unicast-routing

Step 2. Configure the router interfaces.

interface GigabitEthernet1

ipv6 address 2001:DB8:1::1/64

no shutdown

interface GigabitEthernet2

ipv6 address FC00::1/64

no shutdown

Step 3. Set IPv6 Default Route.

ipv6 route ::/0 GigabitEthernet1

Step 4. Configure Ikev2 Proposal.

crypto ikev2 proposal IKEv2-PROP

encryption aes-cbc-128

integrity sha1

group 14

Step 5. Configure Ikev2 Policy.

crypto ikev2 policy IKEv2-POLI

proposal IKEv2-PROP

Step 6. Configure keyring with a pre-shared key.

crypto ikev2 keyring IPV6_KEY

peer Remote_IPV6

address 2001:DB8:2::2/64

pre-shared-key cisco123

Step 7. Configure the Ikev2 profile.

crypto ikev2 profile IKEV2-PROF

match identity remote address 2001:DB8:2::2/64

authentication remote pre-share

authentication local pre-share

keyring local IPV6_KEY

Step 8. Configure the Phase 2 policy.

crypto ipsec transform-set ESP-AES-SHA esp-aes esp-sha-hmac

mode tunnel

Step 9. Configure the IPsec profile.

crypto ipsec profile IPSEC-PROF

set transform-set ESP-AES-SHA

set ikev2-profile IKEV2-PROF

Step 10. Configure the tunnel interface.

interface Tunnel1

ipv6 address 2001:DB8:3::1/64

tunnel source GigabitEthernet1

tunnel mode ipsec ipv6

tunnel destination 2001:DB8:2::2

tunnel protection ipsec profile IPSEC-PROF

end

Step 11. Configure the routes for the interesting traffic.

ipv6 route FC00::/64 2012::1

Local Router Final Configuration

ipv6 unicast-routing

!

interface GigabitEthernet1

ipv6 address 2001:DB8:1::1/64

no shutdown

!

interface GigabitEthernet2

ipv6 address FC00::1/64

no shutdown

!

ipv6 route ::/0 GigabitEthernet1

!

crypto ikev2 proposal IKEv2-PROP

encryption aes-cbc-128

integrity sha1

group 14

!

crypto ikev2 policy IKEv2-POLI

proposal IKEv2-PROP

!

crypto ikev2 keyring IPV6_KEY

peer Remote_IPV6

address 2001:DB8:2::2/64

pre-shared-key cisco123

!

crypto ikev2 profile IKEV2-PROF

match identity remote address 2001:DB8:2::2/64

authentication remote pre-share

authentication local pre-share

keyring local IPV6_KEY

!

crypto ipsec transform-set ESP-AES-SHA esp-aes esp-sha-hmac

mode tunnel

!

crypto ipsec profile Prof1

set transform-set ESP-AES-SHA

!

crypto ipsec profile IPSEC-PROF

set transform-set ESP-AES-SHA

set ikev2-profile IKEV2-PROF

!

interface Tunnel1

ipv6 address 2001:DB8:3::1/64

tunnel source GigabitEthernet1

tunnel mode ipsec ipv6

tunnel destination 2001:DB8:2::2

tunnel protection ipsec profile IPSEC-PROF

end

!

ipv6 route FC00::/64 2012::1

ISP Configuration

ipv6 unicast-routing

!

!

interface GigabitEthernet1

description Link to R1

ipv6 address 2001:DB8:1::2/64

!

interface GigabitEthernet2

description Link to R3

ipv6 address 2001:DB8:2::1/64

!

!

!

ipv6 route 2001:DB8:1::/64 GigabitEthernet1

ipv6 route 2001:DB8:2::/64 GigabitEthernet2

!

Remote Router Final Configuration

ipv6 unicast-routing

!

interface GigabitEthernet1

ipv6 address 2001:DB8:2::2/64

no shutdown

!

interface GigabitEthernet2

ipv6 address FC00::2/64

no shutdown

!

ipv6 route ::/0 GigabitEthernet1

!

crypto ikev2 proposal IKEv2-PROP

encryption aes-cbc-128

integrity sha1

group 14

!

crypto ikev2 policy IKEv2-POLI

proposal IKEv2-PROP

!

crypto ikev2 keyring IPV6_KEY

peer Remote_IPV6

address 2001:DB8:1::1/64

pre-shared-key cisco123

!

crypto ikev2 profile IKEV2-PROF

match identity remote address 2001:DB8:1::1/64

authentication remote pre-share

authentication local pre-share

keyring local IPV6_KEY

!

crypto ipsec transform-set ESP-AES-SHA esp-aes esp-sha-hmac

mode tunnel

!

crypto ipsec profile Prof1

set transform-set ESP-AES-SHA

!

crypto ipsec profile IPSEC-PROF

set transform-set ESP-AES-SHA

set ikev2-profile IKEV2-PROF

!

interface Tunnel1

ipv6 address 2001:DB8:3::2/64

tunnel source GigabitEthernet1

tunnel mode ipsec ipv6

tunnel destination 2001:DB8:1::1

tunnel protection ipsec profile IPSEC-PROF

end

!

ipv6 route FC00::/64 2012::1

Verification

On Router 1

R1#show crypto ikev2 sa

IPv4 Crypto IKEv2  SA

IPv6 Crypto IKEv2  SA

Tunnel-id    fvrf/ivrf              Status

2          none/none             READY

Local  2001:DB8:1::1/500

Remote  2001:DB8:2::2/500

Encr: AES-CBC, keysize: 256, PRF: SHA256, Hash: SHA256, DH Grp:14, Auth sign: PSK, Auth verify: PSK

Life/Active Time: 86400/75989 sec

R1#show crypto ipsec sa

interface: Tunnel1

Crypto map tag: Tunnel1-head-0, local addr 2001:DB8:1::1

protected vrf: (none)

local  ident (addr/mask/prot/port): (::/0/0/0)

remote ident (addr/mask/prot/port): (::/0/0/0)

current_peer 2001:DB8:2::2 port 500

PERMIT, flags={origin_is_acl,}

#pkts encaps: 14, #pkts encrypt: 14, #pkts digest: 14

#pkts decaps: 14, #pkts decrypt: 14, #pkts verify: 14

#pkts compressed: 0, #pkts decompressed: 0

#pkts not compressed: 0, #pkts compr. failed: 0

#pkts not decompressed: 0, #pkts decompress failed: 0

#send errors 0, #recv errors 0

local crypto endpt.: 2001:DB8:1::1,

remote crypto endpt.: 2001:DB8:2::2

plaintext mtu 1422, path mtu 1500, ipv6 mtu 1500, ipv6 mtu idb GigabitEthernet1

current outbound spi: 0x9DC2A6F6(2646779638)

PFS (Y/N): N, DH group: none

inbound esp sas:

spi: 0x18569EF7(408329975)

transform: esp-aes esp-sha-hmac ,

in use settings ={Tunnel, }

conn id: 2104, flow_id: CSR:104, sibling_flags FFFFFFFF80000049, crypto map: Tunnel1-head-0

sa timing: remaining key lifetime (k/sec): (4608000/1193)

IV size: 16 bytes

replay detection support: Y

Status: ACTIVE(ACTIVE)

inbound ah sas:

inbound pcp sas:

outbound esp sas:

spi: 0x9DC2A6F6(2646779638)

transform: esp-aes esp-sha-hmac ,

in use settings ={Tunnel, }

conn id: 2103, flow_id: CSR:103, sibling_flags FFFFFFFF80000049, crypto map: Tunnel1-head-0

sa timing: remaining key lifetime (k/sec): (4608000/1193)

IV size: 16 bytes

replay detection support: Y

Status: ACTIVE(ACTIVE)

outbound ah sas:

outbound pcp sas:

On Router 2

R2#show crypto ikev2 sa

IPv4 Crypto IKEv2  SA

IPv6 Crypto IKEv2  SA

Tunnel-id    fvrf/ivrf              Status

1          none/none             READY

Local  2001:DB8:2::2/500

Remote  2001:DB8:1::1/500

Encr: AES-CBC, keysize: 256, PRF: SHA256, Hash: SHA256, DH Grp:14, Auth sign: PSK, Auth verify: PSK

Life/Active Time: 86400/19 sec

R2#show cryto ipsec sa

interface: Tunnel1

Crypto map tag: Tunnel1-head-0, local addr 2001:DB8:2::2

protected vrf: (none)

local  ident (addr/mask/prot/port): (::/0/0/0)

remote ident (addr/mask/prot/port): (::/0/0/0)

current_peer 2001:DB8:1::1 port 500

PERMIT, flags={origin_is_acl,}

#pkts encaps: 14, #pkts encrypt: 14, #pkts digest: 14

#pkts decaps: 14, #pkts decrypt: 14, #pkts verify: 14

#pkts compressed: 0, #pkts decompressed: 0

#pkts not compressed: 0, #pkts compr. failed: 0

#pkts not decompressed: 0, #pkts decompress failed: 0

#send errors 0, #recv errors 0

local crypto endpt.: 2001:DB8:2::2,

remote crypto endpt.: 2001:DB8:1::1

plaintext mtu 1422, path mtu 1500, ipv6 mtu 1500, ipv6 mtu idb GigabitEthernet1

current outbound spi: 0xEF1D3BA2(4011670434)

PFS (Y/N): N, DH group: none

inbound esp sas:

spi: 0x9829B86D(2552871021)

transform: esp-aes esp-sha-hmac ,

in use settings ={Tunnel, }

conn id: 2006, flow_id: CSR:6, sibling_flags FFFFFFFF80000049, crypto map: Tunnel1-head-0

sa timing: remaining key lifetime (k/sec): (4608000/3556)

IV size: 16 bytes

replay detection support: Y

Status: ACTIVE(ACTIVE)

inbound ah sas:

inbound pcp sas:

outbound esp sas:

spi: 0xEF1D3BA2(4011670434)

transform: esp-aes esp-sha-hmac ,

in use settings ={Tunnel, }

conn id: 2005, flow_id: CSR:5, sibling_flags FFFFFFFF80000049, crypto map: Tunnel1-head-0

sa timing: remaining key lifetime (k/sec): (4607998/3556)

IV size: 16 bytes

replay detection support: Y

Status: ACTIVE(ACTIVE)

outbound ah sas:

outbound pcp sas:

Troubleshoot

In order to troubleshoot the tunnel, use these debug commands:

- debug crypto ikev2

- debug crypto ikev2 error

- debug crypto ipsec

- debug crypto ipsec error