本文转自:https://www.cisco.com/c/en/us/td/docs/security/asa/asa98/configuration/vpn/asa-98-vpn-config/vpn-vti.html

Chapter: Virtual Tunnel Interface

Chapter Contents

This chapter describes how to configure a VTI tunnel.

About Virtual Tunnel Interfaces

The ASA supports a logical interface called Virtual Tunnel Interface (VTI). As an alternative to policy based VPN, a VPN tunnel can be created between peers with Virtual Tunnel Interfaces configured. This supports route based VPN with IPsec profiles attached to the end of each tunnel. This allows dynamic or static routes to be used. Egressing traffic from the VTI is encrypted and sent to the peer, and the associated SA decrypts the ingress traffic to the VTI.

Using VTI does away with the requirement of configuring static crypto map access lists and mapping them to interfaces. You no longer have to track all remote subnets and include them in the crypto map access list. Deployments become easier, and having static VTI which supports route based VPN with dynamic routing protocol also satisfies many requirements of a virtual private cloud.

Guidelines for Virtual Tunnel Interfaces

IPv6

  • IPv6 is not supported.

General Configuration Guidelines

  • VTIs are only configurable in IPsec mode. To terminate GRE tunnels on an ASA is unsupported.
  • You can use dynamic or static routes for traffic using the tunnel interface.
  • The MTU for VTIs is automatically set, according to the underlying physical interface.
  • If Network Address Translation has to be applied, the IKE and ESP packets will be encapsulated in the UDP header.
  • IKE and IPsec security associations will be re-keyed continuously regardless of data traffic in the tunnel. This ensures that VTI tunnels are always up.
  • Tunnel group name must match what the peer will send as its IKEv1 or IKEv2 identity.
  • For IKEv1 in LAN-to-LAN tunnel groups, you can use names which are not IP addresses, if the tunnel authentication method is digital certificates and/or the peer is configured to use aggressive mode.
  • VTI and crypto map configurations can co-exist on the same physical interface, provided the peer address configured in the crypto map and the tunnel destination for the VTI are different.
  • By default, all traffic through VTI is encrypted.
  • There are no security level configurations for VTI interfaces.
  • Access list can be applied on a VTI interface to control traffic through VTI.
  • Only BGP is supported over VTI.
  • If ASA is terminating IOS IKEv2 VTI clients, disable the config-exchange request on IOS, because ASA cannot retrieve the mode-CFG attributes for this L2L session initiated by an IOS VTI client.

Context Mode

Supported in single mode only.

Firewall Mode

Supported in routed mode only.

DHCP Relay

DHCP relay is not supported on Virtual Tunnel Interfaces (VTIs).

Create a VTI Tunnel

To configure a VTI tunnel, create an IPsec proposal (transform set). You will need to create an IPsec profile that references the IPsec proposal, followed by a VTI interface with the IPsec profile. Configure the remote peer with identical IPsec proposal and IPsec profile parameters. SA negotiation will start when all tunnel parameters are configured.

NoteFor the ASA which is a part of both the VPN VTI domains, and has BGP adjacency on the physical interface:When a state change is triggered due to the interface health check, the routes in the physical interface will be deleted until BGP adjacency is re-established with the new active peer. This behavior does not apply to logical VTI interfaces.

Procedure


Step 1Add an IPsec Proposal (Transform Sets).
Step 2Add an IPsec Profile.
Step 3Add a VTI Tunnel.

Add an IPsec Proposal (Transform Sets)

A transform set is required to secure traffic in a VTI tunnel. Used as a part of the IPsec profile, it is a set of security protocols and algorithms that protects the traffic in the VPN.

Before you begin

  • You can use either pre-shared key or certificates for authenticating the IKE session associated with a VTI. IKEv2 allows asymmetric authentication methods and keys. For both IKEv1 and IKEv2, you must configure the pre-shared key under the tunnel group used for the VTI.
  • For certificate based authentication using IKEv1, you must specify the trustpoint to be used at the initiator. For the responder, you must configure the trustpoint in the tunnel-group command. For IKEv2, you must configure the trustpoint to be used for authentication under the tunnel group command for both initiator and responder.

Procedure


Add an IKEv1 transform set, or an IKEv2 IPsec proposal to establish the security association.Add an IKEv1 transform set:crypto ipsec ikev1 transform-set {transform-set-name | encryption | authentication }Example:ciscoasa(config)#crypto ipsec ikev1 transform-set SET1 esp-aes esp-sha-hmac Encryption specifies which encryption method protects IPsec data flows:esp-aes—Uses AES with a 128-bit key.esp-aes-192—Uses AES with a 192-bit key.esp-aes-256—Uses AES with a 256-bit key.esp-des—Uses 56-bit DES-CBC.esp-3des—Uses triple DES algorithm.esp-null—No encryption.Authentication specifies which encryption method to protect IPsec data flows:esp-md5-hmac—Uses the MD5/HMAC-128 as the hash algorithm.esp-sha-hmac—Uses the SHA/HMAC-160 as the hash algorithm.esp-none—No HMAC authentication.Add an IKEv2 IPsec proposal.Note For the IOS platform, use the no config-exchange request command in the IKEv2 profile configuration mode to disable configuration exchange options. See http://www.cisco.com/c/en/us/td/docs/ios-xml/ios/security/a1/sec-a1-cr-book/sec-cr-c2.html#wp3456426280 for more information.Specify a name for the IPsec proposal:crypto ipsec ikev2 ipsec-proposal IPsec proposal nameExample:ciscoasa(config)#crypto ipsec ikev2 ipsec-proposal SET1 Specify the security parameters in the crypto IPsec ikev2 ipsec-proposal configuration mode:protocol esp {encryption {des | 3des | aes | aes-192 | aes-256 | aes-gcm | aes-gcm-192 | aes-gcm-256 | aes-gmac | aes-gmac-192 | aes-gmac-256 | null} | integrity {md5 | sha-1 | sha-256 | sha-384 | sha-512 | null}Example:ciscoasa(config-ipsec-proposal)#protocol esp encryption 3des aes des

Add an IPsec Profile

An IPsec profile contains the required security protocols and algorithms in the IPsec proposal or transform set that it references. This ensures a secure, logical communication path between two site-to-site VTI VPN peers.

Procedure


Step 1Set a name for the profile:crypto ipsec profile nameExample:ciscoasa(config)#crypto ipsec profile PROFILE1
Step 2Set the IKEv1 or IKEv2 proposal. You can choose either an IKEv1 transform set or an IKEv2 IPsec proposal.Set the IKEv1 transform set.To set the IKEv1 proposal, enter the following command in the crypto ipsec profile command sub-mode:set ikev1 transform set set_nameIn this example, SET1 is the IKEv1 proposal set created previously.ciscoasa(config-ipsec-profile)#set ikev1 transform-set SET1Set the IKEv2 proposal.To set the IKEv2 proposal, enter the following command in the crypto ipsec profile command sub-mode:set ikev2 ipsec-proposal IPsec_proposal_nameIn this example, SET1 is the IKEv2 IPsec proposal created previously.ciscoasa(config-ipsec-profile)#set ikev2 ipsec-proposal SET1
Step 3(Optional) Specify the duration of the security association:set security-association lifetime {seconds number | kilobytes {number | unlimited}}Example:ciscoasa(config-ipsec-profile)#set security-association lifetime seconds 120 kilobytes 10000
Step 4(Optional) Configure the end of the VTI tunnel to act only as a responder:responder-onlyYou can configure one end of the VTI tunnel to perform only as a responder. The responder-only end will not initiate the tunnel or rekeying.If you are using IKEv2, set the duration of the security association lifetime, greater than the lifetime value in the IPsec profile in the initiator end. This is to facilitate successful rekeying by the initiator end and ensure that the tunnels remain up.If you are using IKEv1, IOS should always be in responder-only mode since IOS doesn’t support continuous channel mode. The ASA becomes the initiator and session and rekeys.If the rekey configuration in the initiator end is unknown, remove the responder-only mode to make the SA establishment bi-directional, or configure an infinite IPsec lifetime value in the responder-only end to prevent expiry.
Step 5(Optional) Specify the PFS group. Perfect Forward Secrecy (PFS) generates a unique session key for each encrypted exchange. This unique session key protects the exchange from subsequent decryption. To configure PFS, you have to select the Diffie-Hellman key derivation algorithm to use when generating the PFS session key. The key derivation algorithms generate IPsec security association (SA) keys. Each group has a different size modulus. A larger modulus provides higher security, but requires more processing time. You must have matching Diffie-Hellman groups on both peers.set pfs {group1 | group2 | group5}Example:ciscoasa(config-ipsec-profile)# set pfs group2
Step 6(Optional) Specify a trustpoint that defines the certificate to be used while initiating a VTI tunnel connection.set trustpoint nameExample:ciscoasa(config-ipsec-profile)#set trustpoint TPVTI

Add a VTI Interface

To create a new VTI interface and establish a VTI tunnel, perform the following steps:

NoteImplement IP SLA to ensure that the tunnel remains up when a router in the active tunnel is unavailable. See Configure Static Route Tracking in the ASA General Operations Configuration Guide in http://www.cisco.com/go/asa-config.

Procedure


Step 1Create a new tunnel interface:interface tunnel tunnel_interface_numberExample:ciscoasa(config)#interface tunnel 100Specify a tunnel ID, from a range of 0 to 100. Up to 100 VTI interfaces are supported.Note If you will be migrating configurations from other devices to ASA 5506 devices, use the tunnel ID range of 1 – 100. This is to ensure compatibility of the tunnel range of 1 – 100 available in ASA 5506 devices.
Step 2Enter the name of the VTI interface.Enter the following command in the interface tunnel command submode:nameif interface nameExample:ciscoasa(config-if)#nameif vti
Step 3Enter the IP address of the VTI interface.ip address IP addressmaskExample:ciscoasa(config-if)#ip address 192.168.1.10 255.255.255.254
Step 4Specify the tunnel source interface.tunnel source interface interface nameExample:ciscoasa(config-if)#tunnel source interface outside
Step 5Specify the tunnel destination IP address.tunnel destination IP addressExample:ciscoasa(config-if)#tunnel destination 10.1.1.1
Step 6Configure the tunnel with tunnel mode IPsec IPv4.tunnel mode ipsec ipv4Example:ciscoasa(config-if)#tunnel mode ipsec ipv4
Step 7Assign the IPsec profile to tunnel.tunnel protection ipsec IPsec profileExample:ciscoasa(config-if)#tunnel protection ipsec Profile1This new VTI can be used to create an IPsec site-to-site VPN.