Identify use cases for FlexVPN

Flexible Virtual Private Network

3.2.b i Site-to-site, Server, Client, Spoke-to-Spoke

Introduction (not on blueprint)

General information on “FlexVPN Introduction”:

Configuration considerations:

Site-to-site

General information on “FlexVPN Site-to-site”:

“FlexVPN Site-to-site” CLI configuration commands:

## FlexVPN IPsec/IKEv2 Phase 1 configuration
Router(config)# crypto ikev2 profile [IKEV2-PROFILE-NAME]
Router(config-ikev2-profile)# authentication local pre-share key <key>
Router(config-ikev2-profile)# authentication remote pre-share key <key>
Router(config-ikev2-profile)# match identity remote address <ip>
Router(config-ikev2-profile)# identity local [options]
Router(config-ikev2-profile)# dpd <sec> <sec> on-demand

## FlexVPN IPsec Phase 2 configuration
Router(config)# crypto ipsec profile [IPSEC-PROFILE-NAME]
Router(ipsec-profile)# set ikev2-profile [IKEV2-PROFILE-NAME]

## FlexVPN site-to-site tunnel interface configuration
Router(config)# interface tunnel <id>
Router(config-if)# tunnel source <interface>
Router(config-if)# tunnel destination <ip>
Router(config-if)# tunnel protection ipsec profile [IPSEC-PROFILE-NAME]

Server

General information on “FlexVPN Server”:

“FlexVPN Server” CLI configuration commands:

## FlexVPN IPsec/IKEv2 Phase 1 configuration
Router(config)# crypto ikev2 profile [IKEV2-PROFILE-NAME]
Router(config-ikev2-profile)# authentication local pre-share key <key>
Router(config-ikev2-profile)# authentication remote pre-share key <key>
Router(config-ikev2-profile)# match identity remote address <ip>
Router(config-ikev2-profile)# identity local [options]
Router(config-ikev2-profile)# dpd <sec> <sec> on-demand

## FlexVPN IPsec Phase 2 configuration
Router(config)# crypto ipsec profile [IPSEC-PROFILE-NAME]
Router(ipsec-profile)# set ikev2-profile [IKEV2-PROFILE-NAME]

## FlexVPN server virtual-template interface configuration
Router(config)# interface virtual-template <id> type tunnel
Router(config-if)# ip unnumbered <loopback-if>
Router(config-if)# tunnel source <if>
Router(config-if)# tunnel protection ipsec profile [IPSEC-PROFILE-NAME]

Client

General information on “FlexVPN Client”:

“FlexVPN Client” CLI configuration commands:

## FlexVPN IPsec/IKEv2 Phase 1 configuration
Router(config)# crypto ikev2 profile [IKEV2-PROFILE-NAME]
Router(config-ikev2-profile)# authentication local pre-share key <key>
Router(config-ikev2-profile)# authentication remote pre-share key <key>
Router(config-ikev2-profile)# match identity remote address <ip>
Router(config-ikev2-profile)# identity local [options]
Router(config-ikev2-profile)# dpd <sec> <sec> on-demand

## FlexVPN IPsec Phase 2 configuration
Router(config)# crypto ipsec profile [IPSEC-PROFILE-NAME]
Router(ipsec-profile)# set ikev2-profile [IKEV2-PROFILE-NAME]

## FlexVPN client "client connect" option configuration
Router(config)# crypto ikev2 client flexvpn [FLEXVPN-CLIENT-NAME]
Router(config-ikev2-flexvpn)# peer <id> <ip>
Router(config-ikev2-flexvpn)# client connect <tunnel-if>

## FlexVPN client tunnel interface configuration
Router(config)# interface tunnel <id>
Router(config-if)# ip unnumbered <loopback-if>
Router(config-if)# tunnel source <interface>
Router(config-if)# tunnel destination dynamic
Router(config-if)# tunnel protection ipsec profile [IPSEC-PROFILE-NAME]

Spoke-to-Spoke

General information on “FlexVPN Spoke-to-Spoke”:

“FlexVPN Spoke-to-Spoke” CLI configuration commands:

## ==============
## FlexVPN server
## ==============

## FlexVPN spoke-to-spoke additional server configuration
Router(config)# interface virtual-template <id>
Router(config-if)# ip nhrp network-id <id>
Router(config-if)# ip nhrp redirect


## ==============
## FlexVPN client
## ==============

## FlexVPN spoke-to-spoke additional client configuration
Router(config)# crypto ikev2 profile [IKEV2-PROFILE-NAME]
Router(config-ikev2-profile)# virtual-template <id>

Router(config)# interface virtual-template <id> type tunnel
Router(config-if)# ip unnumbered <loopback-if>
Router(config-if)# ip nhrp network-id <id>
Router(config-if)# ip nhrp shortcut virtual-template <id>
Router(config-if)# tunnel source <interface>
Router(config-if)# tunnel protection ipsec profile [IPSEC-PROFILE-NAME]

Router(config)# interface tunnel <id>
Router(config-if)# ip nhrp network-id <id>
Router(config-if)# ip nhrp shortcut virtual-template <id>

Route propagation with IKEv2 (Not on blueprint)

General information on “Route propagation with IKEv2 (Not on blueprint)":

Configuration considerations:

“FlexVPN Route propagation with IKEv2” CLI configuration commands:

## Configuring AAA to allow route propagation
Router(config)# aaa new-model
Router(config)# aaa authorization network <list> <database/group/...>

## Configuring an ACL which defines the to-be-propagated routes
Router(config)# ip access-list standard [NAME]
Router(config-std-nacl)# permit <subnet> <wildcardmask>

## Configuring an IKEv2 authorization policy to allow route propagation
Router(config)# crypto ikev2 authorization policy [NAME]
Router(config-ikev2-author-policy)# route set interface
Router(config-ikev2-author-policy)# route set access-list [ACL-NAME]

## Modifying the existing IKEv2 profile to enable route propagation
Router(config)# crypto ikev2 profile [NAME]
Router(config-ikev2-profile)# aaa authorization group psk list [AAA-LIST] [IKEV2-AUTH-POLICY]

3.2.a ii IPsec/IKEv2 using pre-shared key

General information on “IPsec/IKEv2 using pre-shared key”:

Configuration considerations:

Steps Mandatory/Optional Comments
IKEv2 Proposal (Phase 1) Optional Defaults are defined
IKEv2 Policy (Phase 1) Optional Mandatory for F-VRF
IKEv2 Keyring (Phase 1) Optional
IKEv2 Profile (Phase 1) Mandatory
IPsec Transform-Set (Phase 2) Mandatory
IPsec Profile (Phase 2) Mandatory
Applying IPsec Profile to Tunnel Interface Mandatory

“FlexVPN IPsec/IKEv2 using pre-shared key” CLI configuration commands:

## ===================
## IPsec/IKEv2 Phase 1
## ===================

## IPsec/IKEv2 Phase 1 configuration
Router(config)# crypto ikev2 proposal [NAME]
Router(config-ikev2-proposal)# encryption [options]
Router(config-ikev2-proposal)# integrity [options]
Router(config-ikev2-proposal)# group [options]

Router(config)# crypto ikev2 policy [NAME]
Router(config-ikev2-policy)# proposal [NAME]

Router(config)# crypto ikev2 keyring [NAME]
Router(config-ikev2-keyring)# peer [NAME]
Router(config-ikev2-keyring-peer)# address <peer-nbma-ip>
Router(config-ikev2-keyring-peer)# pre-shared-key <key>

Router(config)# crypto ikev2 profile [NAME]
Router(config-ikev2-profile)# authentication local pre-share
Router(config-ikev2-profile)# authentication remote pre-share
Router(config-ikev2-profile)# match identity remote address <ip>
Router(config-ikev2-profile)# keyring local [NAME]
Router(config-ikev2-profile)# dpd <sec> <sec> on-demand


## =============
## IPsec Phase 2
## =============

## IPsec Phase 2 configuration
Router(config)# crypto ipsec transform-set [NAME] [options]
Router(cfg-crypto-trans)# mode transport

Router(config)# crypto ipsec profile <name>
Router(ipsec-profile)# set transform-set [NAME]
Router(ipsec-profile)# set ikev2-profile [NAME]


## ==============
## Enabling IPsec
## ==============

## Enabling IPsec on the tunnel interface
Router(config)# interface <if>
Router(config-if)# tunnel protection ipsec profile <ipsec-profile-name>

“FlexVPN IPsec/IKEv2 using pre-shared key” CLI show commands:

## Showing IPsec/ISAKMP (IKEv1) Phase 1 security associations
Router# show crypto isakmp sa

## Showing IPsec/IKEv2 Phase 1 security associations
Router# show crypto ikev2 sa

## Showing IPsec Phase 2 security associations
Router# show crypto ipsec sa

3.2.b x MPLS over FlexVPN

General information on “MPLS over FlexVPN”:

Configuration considerations:

“MPLS over FlexVPN” CLI configuration commands:

## Enabling MPLS NHRP on all FlexVPN interfaces
Router(config)# interface <if>
Router(config-if)# mpls nhrp