|
|
This chapter describes how to configure IPSec, which is a framework of open standards developed by the Internet Engineering Task Force (IETF). IPSec provides security for transmission of sensitive information over unprotected networks such as the Internet. IPSec acts at the network layer, protecting and authenticating IP packets between participating IPSec devices ("peers"), such as Cisco routers.
![]() |
Note The term data authentication is generally used to mean data integrity and data origin authentication. Within this chapter it also includes anti-replay services, unless otherwise specified. |
With IPSec, data can be transmitted across a public network without fear of observation, modification, or spoofing. This enables applications such as Virtual Private Networks (VPNs), including intranets, extranets, and remote user access.
For a complete description of the IPSec Network Security commands used in this chapter, refer to the "IPSec Network Security Commands" chapter in the Cisco IOS Security Command Reference. To locate documentation of other commands that appear in this chapter, use the command reference master index or search online.
This chapter has the following sections:
IPSec provides network data encryption at the IP packet level, offering a robust security solution that is standards-based. IPSec provides data authentication and anti-replay services in addition to data confidentiality services.
This section has the following sections:
Cisco implements the following standards with this feature:
![]() |
Note The term IPSec is sometimes used to describe the entire protocol of IPSec data services and IKE security protocols and is also sometimes used to describe only the data services. |
The component technologies implemented for IPSec include:
![]() |
Note Cisco IOS images with strong encryption (including, but not limited to, 56-bit data encryption feature sets) are subject to United States government export controls, and have a limited distribution. Images to be installed outside the United States require an export license. Customer orders might be denied or subject to delay due to United States government regulations. Contact your sales representative or distributor for more information, or send e-mail to export@cisco.com. |
IPSec as implemented in Cisco IOS software supports the following additional standards:
The service is not available for manually established security associations (that is, security associations established by configuration and not by IKE).
data authentication---Includes two concepts:
Data authentication can refer either to integrity alone or to both of these concepts (although data origin authentication is dependent upon data integrity).
data confidentiality---A security service where the protected data cannot be observed.
data flow---A grouping of traffic, identified by a combination of source address/mask, destination address/mask, IP next protocol field, and source and destination ports, where the protocol and port fields can have the values of any. In effect, all traffic matching a specific combination of these values is logically grouped together into a data flow. A data flow can represent a single TCP connection between two hosts, or it can represent all of the traffic between two subnets. IPSec protection is applied to data flows.
perfect forward secrecy (PFS)---A cryptographic characteristic associated with a derived shared secret value. With PFS, if one key is compromised, previous and subsequent keys are not compromised, because subsequent keys are not derived from previous keys.
The IPSec security association is established either by IKE or by manual user configuration. Security associations are unidirectional and are unique per security protocol. So when security associations are established for IPSec, the security associations (for each protocol) for both directions are established at the same time.
When using IKE to establish the security associations for the data flow, the security associations are established when needed and expire after a period of time (or volume of traffic). If the security associations are manually established, they are established as soon as the necessary configuration is completed and do not expire.
tunnel---In the context of this chapter, a secure communication path between two peers, such as two routers. It does not refer to using IPSec in tunnel mode.
IPSec has certain restrictions for hardware, switching paths, and encapsulation methods as follows:
For 7100, 7200, and 7500 hardware platforms, IPSec support requires the following adaptors or modules:
IPSec also works with the GRE and IPinIP Layer 3, L2F, L2TP, DLSw+, and SRB tunneling protocols; however, multipoint tunnels are not supported. Other Layer 3 tunneling protocols may not be supported for use with IPSec.
Because the IPSec Working Group has not yet addressed the issue of group key distribution, IPSec currently cannot be used to protect group traffic (such as broadcast or multicast traffic).
![]() |
Note The use of the term tunnel in this chapter does not refer to using IPSec in tunnel mode. |
More accurately, these tunnels are sets of security associations that are established between two IPSec peers. The security associations define which protocols and algorithms should be applied to sensitive packets, and also specify the keying material to be used by the two peers. Security associations are unidirectional and are established per security protocol (AH or ESP).
With IPSec you define what traffic should be protected between two IPSec peers by configuring access lists and applying these access lists to interfaces by way of crypto map sets. Therefore, traffic may be selected based on source and destination address, and optionally Layer 4 protocol, and port. (The access lists used for IPSec are used only to determine which traffic should be protected by IPSec, not which traffic should be blocked or permitted through the interface. Separate access lists define blocking and permitting at the interface.)
A crypto map set can contain multiple entries, each with a different access list. The crypto map entries are searched in order---the router attempts to match the packet to the access list specified in that entry.
When a packet matches a permit entry in a particular access list, and the corresponding crypto map entry is tagged as cisco, and connections are established if necessary. If the crypto map entry is tagged as ipsec-isakmp, IPSec is triggered. If no security association exists that IPSec can use to protect this traffic to the peer, IPSec uses IKE to negotiate with the remote peer to set up the necessary IPSec security associations on behalf of the data flow. The negotiation uses information specified in the crypto map entry as well as the data flow information from the specific access list entry. (The behavior is different for dynamic crypto map entries. Refer to the "Creating Dynamic Crypto Maps" section.)
Once established, the set of security associations (outbound, to the peer) is then applied to the triggering packet as well as to subsequent applicable packets as those packets exit the router. "Applicable" packets are packets that match the same access list criteria that the original packet matched. For example, all applicable packets could be encrypted before being forwarded to the remote peer. The corresponding inbound security associations are used when processing the incoming traffic from that peer.
If IKE is used to establish the security associations, the security associations will have lifetimes so that they will periodically expire and require renegotiation. (This provides an additional level of security.)
Multiple IPSec tunnels can exist between two peers to secure different data streams, with each tunnel using a separate set of security associations. For example, some data streams might be just authenticated while other data streams must both be encrypted and authenticated.
Access lists associated with IPSec crypto map entries also represent which traffic the router requires to be protected by IPSec. Inbound traffic is processed against the crypto map entries---if an unprotected packet matches a permit entry in a particular access list associated with an IPSec crypto map entry, that packet is dropped because it was not sent as an IPSec-protected packet.
Crypto map entries also include transform sets. A transform set is an acceptable combination of security protocols, algorithms and other settings to apply to IPSec protected traffic. During the IPSec security association negotiation, the peers agree to use a particular transform set when protecting a particular data flow.
In the example shown in Figure 33, Router A encapsulates the traffic destined for Router C in IPSec (Router C is the IPSec peer). However, before Router A can send this traffic, it must first reencapsulate this traffic in IPSec in order to send it to Router B (Router B is the "outermost" IPSec peer).

It is possible for the traffic between the "outer" peers to have one kind of protection (such as data authentication) and for traffic between the "inner" peers to have different protection (such as both data authentication and encryption).
Even if you decide to not use IKE, you still need to disable it as described in the "Configuring Internet Key Exchange Security Protocol" chapter.
For IPSec configuration examples, refer to the "IPSec Configuration Example" section at the end of this chapter.
These lifetimes only apply to security associations established via IKE. Manually established security associations do not expire.
There are two lifetimes: a "timed" lifetime and a "traffic-volume" lifetime. A security association expires after the first of these lifetimes is reached. The default lifetimes are 3600 seconds (one hour) and 4,608,000 kilobytes (10 megabytes per second for one hour).
If you change a global lifetime, the new lifetime value will not be applied to currently existing security associations, but will be used in the negotiation of subsequently established security associations. If you wish to use the new values immediately, you can clear all or part of the security association database. Refer to the clear crypto sa command for more details.
IPSec security associations use one or more shared secret keys. These keys and their security associations time out together.
To change a global lifetime for IPSec security associations, use one or more of the following commands in global configuration mode:
| Command | Purpose | ||
|---|---|---|---|
Router (config)# crypto ipsec security-association lifetime seconds seconds | Changes the global "timed" lifetime for IPSec SAs. This command causes the security association to time out after the specified number of seconds have passed. | ||
Router (config)# crypto ipsec security-association lifetime kilobytes kilobytes | Changes the global "traffic-volume" lifetime for IPSec SAs. This command causes the security association to time out after the specified amount of traffic (in kilobytes) have passed through the IPSec "tunnel" using the security association. | ||
Router (config)# clear crypto sa |
|
The security association (and corresponding keys) will expire according to whichever comes sooner, either after the number of seconds has passed (specified by the seconds keyword) or after the amount of traffic in kilobytes is passed (specified by the kilobytes keyword). Security associations that are established manually (via a crypto map entry marked as ipsec-manual) have an infinite lifetime.
A new security association is negotiated before the lifetime threshold of the existing security association is reached, to ensure that a new security association is ready for use when the old one expires. The new security association is negotiated either 30seconds before the seconds lifetime expires or when the volume of traffic through the tunnel reaches 256kilobytes less than the kilobytes lifetime (whichever comes first).
If no traffic has passed through the tunnel during the entire life of the security association, a new security association is not negotiated when the lifetime expires. Instead, a new security association will be negotiated only when IPSec sees another packet that should be protected.
The access lists themselves are not specific to IPSec. It is the crypto map entry referencing the specific access list that defines whether IPSec processing is applied to the traffic matching a permit in the accesslist.
Crypto access lists associated with IPSec crypto map entries have four primary functions:
If you want certain traffic to receive one combination of IPSec protection (for example, authentication only) and other traffic to receive a different combination of IPSec protection (for example, both authentication and encryption), you need to create two different crypto access lists to define the two different types of traffic. These different access lists are then used in different crypto map entries which specify different IPSec policies.
Later, you will associate the crypto access lists to particular interfaces when you configure and apply crypto map sets to the interfaces (following instructions in the sections "Creating Crypto Map Entries" and "Applying Crypto Map Sets to Interfaces").
To create crypto access lists, use the following command in global configuration mode:
| Command | Purpose |
|---|---|
Router (config)# access-list access-list-number {deny | permit} protocol source source-wildcard destination destination-wildcard [log] | Specifies conditions to determine which IP packets will be protected.1 (Enable or disable crypto for traffic that matches these conditions.) Cisco recommends that you configure "mirror image" crypto access lists for use by IPSec and that you avoid using the any keyword, as described in the sections "Defining Mirror Image Crypto Access Lists at Each IPSec Peer" and "Using the any Keyword in Crypto Access Lists" (following). Also see the "Crypto Access List Tips" section. |
This section has the following sections:
The crypto access list you define will be applied to an interface after you define the corresponding crypto map entry and apply the crypto map set to the interface. Different access lists must be used in different entries of the same crypto map set. (These two tasks are described in following sections.) However, both inbound and outbound traffic will be evaluated against the same "outbound" IPSec access list. Therefore, the access list's criteria is applied in the forward direction to traffic exiting your router, and the reverse direction to traffic entering your router. In Figure 34, IPSec protection is applied to traffic between Host10.0.0.1 and Host 20.0.0.2 as the data exits RouterA's S0 interface enroute to Host 20.0.0.2. For traffic from Host 10.0.0.1 to Host 20.0.0.2, the access list entry on Router A is evaluated as follows:
source = host 10.0.0.1 dest = host 20.0.0.2
For traffic from Host 20.0.0.2 to Host 10.0.0.1, that same access list entry on Router A is evaluated as follows:
source = host 20.0.0.2 dest = host 10.0.0.1

If you configure multiple statements for a given crypto access list which is used for IPSec, in general the first permit statement that is matched will be the statement used to determine the scope of the IPSec security association. That is, the IPSec security association will be set up to protect traffic that meets the criteria of the matched statement only. Later, if traffic matches a different permit statement of the crypto access list, a new, separate IPSec security association will be negotiated to protect traffic matching the newly matched access list statement.
Any unprotected inbound traffic that matches a permit entry in the crypto access list for a crypto map entry flagged as IPSec will be dropped, because this traffic was expected to be protected by IPSec.
![]() |
NoteIf you view your router's access lists by using a command such as show ip access-lists, all extended IP access lists will be shown in the command output. This includes extended IP access lists that are used for traffic filtering purposes as well as those that are used for crypto. The show command output does not differentiate between the different uses of the extended access lists. |
See the Cisco IOS Security Command Reference for complete details about the extended IP access list commands used to create IPSec access lists.
Figure 35 shows some sample scenarios when you have mirror image access lists and when you do not have mirror image access lists.

As Figure 35 indicates, IPSec Security Associations (SAs) can be established as expected whenever the two peers' crypto access lists are mirror images of each other. However, an IPSec SA can be established only some of the time when the access lists are not mirror images of each other. This can happen in the case where an entry in one peer's access list is a subset of an entry in the other peer's access list, such as shown in Cases3 and 4 of Figure 35. IPSec SA establishment is critical to IPSec---without SAs, IPSec does not work, causing any packets matching the crypto access list criteria to be silently dropped instead of being forwarded with IPSec security.
In Figure 35, an SA cannot be established in Case4. This is because SAs are always requested according to the crypto access lists at the initiating packet's end. In Case4, RouterB requests that all traffic between SubnetX and SubnetY be protected, but this is a superset of the specific flows permitted by the crypto access list at RouterA so the request is therefore not permitted. Case3 works because RouterA's request is a subset of the specific flows permitted by the crypto access list at RouterB.
Because of the complexities introduced when crypto access lists are not configured as mirror images at peer IPSec devices, Cisco strongly encourages you to use mirror image crypto access lists.
The any keyword in a permit statement is discouraged when you have multicast traffic flowing through the IPSec interface; the any keyword can cause multicast traffic to fail.
The permit any any statement is strongly discouraged, as this will cause all outbound traffic to be protected (and all protected traffic sent to the peer specified in the corresponding crypto map entry) and will require protection for all inbound traffic. Then, all inbound packets that lack IPSec protection will be silently dropped, including packets for routing protocols, NTP, echo, echo response, and so on.
You need to be sure you define which packets to protect. If you must use the any keyword in a permit statement, you must preface that statement with a series of deny statements to filter out any traffic (that would otherwise fall within that permit statement) that you do not want to be protected.
You can specify multiple transform sets, and then specify one or more of these transform sets in a crypto map entry. The transform set defined in the crypto map entry will be used in the IPSec security association negotiation to protect the data flows specified by that crypto map entry's access list.
During IPSec security association negotiations with IKE, the peers search for a transform set that is the same at both peers. When such a transform set is found, it is selected and will be applied to the protected traffic as part of both peers' IPSec security associations.
With manually established security associations, there is no negotiation with the peer, so both sides must specify the same transform set.
To define a transform set, use the following commands starting in global configuration mode:
| Command | Purpose | |
|---|---|---|
Step1 | Router (config)# crypto ipsec transform-set transform-set-name transform1 [transform2 [transform3]] | Defines a transform set. There are complex rules defining which entries you can use for the transform arguments. These rules are explained in the command description for the crypto ipsec transform-set command, and Table 25 provides a list of allowed transform combinations. This command puts you into the crypto transform configuration mode. |
Step2 | Router (cfg-crypto-tran)# mode [tunnel | transport] | (Optional) Changes the mode associated with the transform set. The mode setting is only applicable to traffic whose source and destination addresses are the IPSec peer addresses; it is ignored for all other traffic. (All other traffic is in tunnel mode only.) |
Step3 | Router (cfg-crypto-tran)# exit | Exits the cryptotransformconfiguration mode. |
Step4 | Router (config)# clear crypto sa |
Using the clear crypto sa command without parameters will clear out the full SA database, which will clear out active security sessions. You may also specify the peer, map, or entry keywords to clear out only a subset of the SA database. For more information, see the clear crypto sa command. |
Table 25 shows allowed transform combinations.
| Transform Type | Transform | Description |
|---|---|---|
AH Transform (Pick up to one.) |
|
|
ah-md5-hmac
ah-sha-hmac
ah-sha-hmac | AH with the MD5 (HMACvariant) authentication algorithm
AH with the SHA (HMACvariant) authentication algorithm
AH with the SHA (HMACvariant) authentication algorithm | |
ESP Encryption Transform (Pick up to one.)
|
|
|
esp-des
esp-3des
esp-null | ESP with the 56-bit DES encryption algorithm
ESP with the 168-bit DES encryption algorithm (3DES or Triple DES)
Null encryption algorithm | |
ESP Authentication Transform (Pick up to one.) |
|
|
esp-md5-hmac
esp-sha-hmac | ESP with the MD5 (HMACvariant) authentication algorithm
ESP with the SHA (HMACvariant) authentication algorithm | |
IP Compression Transform (Pick up to one.) |
|
|
comp-lzs | IP compression with the LZS algorithm. |
To create crypto map entries, follow the guidelines and tasks described in these sections:
Crypto map entries with the same crypto map name (but different map sequence numbers) are grouped into a crypto map set. Later, you will apply these crypto map sets to interfaces; then, all IP traffic passing through the interface is evaluated against the applied crypto map set. If a crypto map entry sees outbound IP traffic that should be protected and the crypto map specifies the use of IKE, a security association is negotiated with the remote peer according to the parameters included in the crypto map entry; otherwise, if the crypto map entry specifies the use of manual security associations, a security association should have already been established via configuration. (If a dynamic crypto map entry sees outbound traffic that should be protected and no security association exists, the packet is dropped.)
The policy described in the crypto map entries is used during the negotiation of security associations. If the local router initiates the negotiation, it will use the policy specified in the static crypto map entries to create the offer to be sent to the specified IPSec peer. If the IPSec peer initiates the negotiation, the local router will check the policy from the static crypto map entries, as well as any referenced dynamic crypto map entries to decide whether to accept or reject the peer's request (offer).
For IPSec to succeed between two IPSec peers, both peers' crypto map entries must contain compatible configuration statements.
When two peers try to establish a security association, they must each have at least one crypto map entry that is compatible with one of the other peer's crypto map entries. For two crypto map entries to be compatible, they must at least meet the following criteria:
You can define multiple remote peers using crypto maps to allow for load sharing. If one peer fails, there will still be a protected path. The peer that packets are actually sent to is determined by the last peer that the router heard from (received either traffic or a negotiation request from) for a given data flow. If the attempt fails with the first peer, IKE tries the next peer on the crypto map list.
If you are not sure how to configure each crypto map parameter to guarantee compatibility with other peers, you might consider configuring dynamic crypto maps as described in the "Creating Dynamic Crypto Maps" section. Dynamic crypto maps are useful when the establishment of the IPSec tunnels is initiated by the remote peer (such as in the case of an IPSec router fronting a server). They are not useful if the establishment of the IPSec tunnels is locally initiated, because the dynamic crypto maps are policy templates, not complete statements of policy. (Although the access lists in any referenced dynamic crypto map entry are used for crypto packet filtering.)
You can apply only one crypto map set to a single interface. The crypto map set can include a combination of IPSec/IKE and IPSec/manual entries. Multiple interfaces can share the same crypto map set if you want to apply the same policy to multiple interfaces.
If you create more than one crypto map entry for a given interface, use the seq-num of each map entry to rank the map entries: the lower the seq-num, the higher the priority. At the interface that has the crypto map set, traffic is evaluated against higher priority map entries first.
You must create multiple crypto map entries for a given interface if any of the following conditions exist:
The local router can simultaneously support manual and IKE-established security associations, even within a single crypto map set. There is very little reason to disable IKE on the local router (unless the router only supports manual security associations, which is unlikely).
To create crypto map entries to establish manual security associations (SAs) (that is, when IKE is not used to establish the SAs), use the following commands starting in global configuration mode:
| Command | Purpose | |
|---|---|---|
Step1 | Router (config)# crypto map map-name seq-num ipsec-manual | Specifies the crypto map entry to create (or modify). This command puts you into the crypto map configuration mode. |
Step2 | Router (config-crypto-m)# match address access-list-id | Names an IPSec access list. This access list determines which traffic should be protected by IPSec and which traffic should not be protected by IPSec security in the context of this crypto map entry. (The access list can specify only one permit entry when IKE is not used.) |
Step3 | Router (config-crypto-m)# set peer {hostname | ip-address} | Specifies the remote IPSec peer. This is the peer to which IPSec protected traffic should be forwarded. (Only one peer can be specified when IKE is not used.) |
Step4 | Router (config-crypto-m)# set transform-set transform-set-name | Specifies which transform set should be used. This must be the same transform set that is specified in the remote peer's corresponding crypto map entry. (Only one transform set can be specified when IKE is not used.) |
Step5 | Router (config-crypto-m)# set session-key inbound ah spi hex-key-string and Router (config-crypto-m)# set session-key outbound ah spi hex-key-string | If the specified transform set includes the AH protocol, sets the AH Security Parameter Indexes (SPIs) and keys to apply to inbound and outbound protected traffic. (This manually specifies the AH security association to be used with protected traffic.) |
Step6 | Router (config-crypto-m)# set session-key inbound esp spi cipher hex-key-string [authenticator hex-key-string] and Router (config-crypto-m)# set session-key outbound esp spi cipher hex-key-string [authenticator hex-key-string] | If the specified transform set includes the ESP protocol, sets the ESP Security Parameter Indexes (SPIs) and keys to apply to inbound and outbound protected traffic. If the transform set includes an ESP cipher algorithm, specify the cipher keys. If the transform set includes an ESP authenticator algorithm, specify the authenticator keys. (This manually specifies the ESP security association to be used with protected traffic.) |
Step7 | Router (config-crypto-m)# exit | Exits crypto-map configuration mode and return to global configuration mode. |
Repeat these steps to create additional crypto map entries as required.
To create crypto map entries that will use IKE to establish the security associations, use the following commands starting in global configuration mode:
| Command | Purpose | |
|---|---|---|
Step1 | Router (config)# crypto map map-name seq-num ipsec-isakmp | Names the crypto map entry to create (or modify). This command puts you into the crypto map configuration mode. |
Step2 | Router (config-crypto-m)# match address access-list-id | Names an extended access list. This access list determines which traffic should be protected by IPSec and which traffic should not be protected by IPSec security in the context of this crypto map entry. |
Step3 | Router (config-crypto-m)# set peer {hostname | ip-address} | Specifies a remote IPSec peer. This is the peer to which IPSec protected traffic can be forwarded. Repeat for multiple remote peers. |
Step4 | Router (config-crypto-m)# set transform-set transform-set-name1 [transform-set-name2...transform-set-name6] | Specifies which transform sets are allowed for this crypto map entry. List multiple transform sets in order of priority (highest priority first). |
Step5 | Router (config-crypto-m)# set security-association lifetime seconds seconds | (Optional) If you want the security associations for this crypto map entry to be negotiated using different IPSec security association lifetimes than the global lifetimes, specify a security association lifetime for the crypto map entry. |
Step6 | Router (config-crypto-m)# set security-association level per-host | (Optional) Specifies that separate security associations should be established for each source/destination host pair. Without this command, a single IPSec "tunnel" could carry traffic for multiple source hosts and multiple destination hosts. With this command, when the router requests new security associations it will establish one set for traffic between HostA and HostB, and a separate set for traffic between HostA and HostC. Use this command with care, as multiple streams between given subnets can rapidly consume resources. |
Step7 | Router (config-crypto-m)# set pfs [group1 | group2] | (Optional) Specifies that IPSec should ask for perfect forward secrecy when requesting new security associations for this crypto map entry, or should demand PFS in requests received from the IPSec peer. |
Step8 | Router (config-crypto-m)# exit | Exits crypto-map configuration mode and return to global configuration mode. |
Repeat these steps to create additional crypto map entries as required.
To configure dynamic crypto maps, follow the instructions in these sections:
Dynamic crypto maps are only available for use by IKE.
Dynamic crypto maps are not used by the router to initiate new IPSec security associations with remote peers. Dynamic crypto maps are used when a remote peer tries to initiate an IPSec security association with the router. Dynamic crypto maps are also used in evaluating traffic.
A dynamic crypto map set is included by reference as part of a crypto map set. Any crypto map entries that reference dynamic crypto map sets should be the lowest priority crypto map entries in the crypto map set (that is, have the highest sequence numbers) so that the other crypto map entries are evaluated first; that way, the dynamic crypto map set is examined only when the other (static) map entries are not successfully matched.
If the router accepts the peer's request, at the point that it installs the new IPSec security associations it also installs a temporary crypto map entry. This entry is filled in with the results of the negotiation. At this point, the router performs normal processing, using this temporary crypto map entry as a normal entry, even requesting new security associations if the current ones are expiring (based upon the policy specified in the temporary crypto map entry). Once the flow expires (that is, all of the corresponding security associations expire), the temporary crypto map entry is then removed.
For both static and dynamic crypto maps, if unprotected inbound traffic matches a permit statement in an access list, and the corresponding crypto map entry is tagged as "IPSec," then the traffic is dropped because it is not IPSec-protected. (This is because the security policy as specified by the crypto map entry states that this traffic must be IPSec-protected.)
For static crypto map entries, if outbound traffic matches a permit statement in an access list and the corresponding SA is not yet established, the router will initiate new SAs with the remote peer. In the case of dynamic crypto map entries, if no SA existed, the traffic would simply be dropped (because dynamic crypto maps are not used for initiating new SAs).
![]() |
NoteUse care when using the any keyword in permit entries in dynamic crypto maps. If it is possible for the traffic covered by such a permit entry to include multicast or broadcast traffic, the access list should include deny entries for the appropriate address range. Access lists should also include deny entries for network and subnet broadcast traffic, and for any other traffic that should not be IPSec protected. |
To create a dynamic crypto map entry, use the following commands starting in global configuration mode:
| Command | Purpose | |||
|---|---|---|---|---|
Step1 | Router (config)# crypto dynamic-map dynamic-map-name dynamic-seq-num | Creates a dynamic crypto map entry. | ||
Step2 | Router (config-crypto-m)# set transform-set transform-set-name1 [transform-set-name2...transform-set-name6] | Specifies which transform sets are allowed for the crypto map entry. List multiple transform sets in order of priority (highest priority first). This is the only configuration statement required in dynamic crypto map entries. | ||
Step3 | Router (config-crypto-m)# match address access-list-id | (Optional) Accesses list number or name of an extended access list. This access list determines which traffic should be protected by IPSec and which traffic should not be protected by IPSec security in the context of this crypto map entry.
If this is configured, the data flow identity proposed by the IPSec peer must fall within a permit statement for this crypto access list. If this is not configured, the router will accept any data flow identity proposed by the IPSec peer. However, if this is configured but the specified access list does not exist or is empty, the router will drop all packets. This is similar to static crypto maps because they also require that an access list be specified. Care must be taken if the any keyword is used in the access list, because the access list is used for packet filtering as well as for negotiation. | ||
Step4 | Router (config-crypto-m)# set peer {hostname | ip-address} | (Optional) Specifies a remote IPSec peer. Repeat for multiple remote peers. This is rarely configured in dynamic crypto map entries. Dynamic crypto map entries are often used for unknown remote peers. | ||
Step5 | Router (config-crypto-m)# set security-association lifetime seconds seconds and/or Router (config-crypto-m)# set security-association lifetime kilobytes kilobytes | (Optional) If you want the security associations for this crypto map to be negotiated using shorter IPSec security association lifetimes than the globally specified lifetimes, specify a key lifetime for the crypto map entry. | ||
Step6 | Router (config-crypto-m)# set pfs [group1 | group2] | (Optional) Specifies that IPSec should ask for perfect forward secrecy when requesting new security associations for this crypto map entry or should demand perfect forward secrecy in requests received from the IPSec peer. | ||
Step7 | Router (config-crypto-m)# exit | Exits crypto-map configuration mode and return to global configuration mode. |
Dynamic crypto map entries specify crypto access lists that limit traffic for which IPSec security associations can be established. A dynamic crypto map entry that does not specify an access list will be ignored during traffic filtering. A dynamic crypto map entry with an empty access list causes traffic to be dropped. If there is only one dynamic crypto map entry in the crypto map set, it must specify acceptable transform sets.
| Command | Purpose |
|---|---|
crypto map map-name seq-num ipsec-isakmp dynamic dynamic-map-name | Adds a dynamic crypto map set to a static crypto map set. |
To apply a crypto map set to an interface, use the following command in interface configuration mode:
| Command | Purpose |
|---|---|
Router (config-if)# crypto map map-name | Applies a crypto map set to an interface. |
For redundancy, you could apply the same crypto map set to more than one interface. The default behavior is as follows:
If you apply the same crypto map set to multiple interfaces for redundancy purposes, you need to specify an identifying interface. This has the following effects:
One suggestion is to use a loopback interface as the identifying interface.
To specify redundant interfaces and name an identifying interface, use the following command in global configuration mode:
| Command | Purpose |
|---|---|
Router (config)# crypto map map-name local-address interface-id | Permits redundant interfaces to share the same crypto map, using the same local identity. |
To view information about your IPSec configuration, use one or more of the following commands in EXEC mode:
| Command | Purpose |
|---|---|
Router# show crypto ipsec transform-set | Displays your transform set configuration. |
Router# show crypto map [interface interface | tag map-name] | Displays your crypto map configuration. |
Router# show crypto ipsec sa [map map-name | address | identity] [detail] | Displays information about IPSec security associations. |
Router# show crypto dynamic-map [tag map-name] | Displays information about dynamic crypto maps. |
Router# show crypto ipsec security-association lifetime | Displays global security association lifetime values. |
An IPSec access list defines which traffic to protect:
access-list 101 permit ip 10.0.0.0 0.0.0.255 10.2.2.0 0.0.0.255
A transform set defines how the traffic will be protected. In this example, transform set "myset1" uses DES encryption and SHA for data packet authentication:
crypto ipsec transform-set myset1 esp-des esp-sha
Another transform set example is "myset2," which uses Triple DES encryptions and MD5 (HMAC variant) for data packet authentication:
crypto ipsec transform-set myset2 esp-3des esp-md5-hmac
A crypto map joins together the IPSec access list and transform set and specifies where the protected traffic is sent (the remote IPSec peer):
crypto map toRemoteSite 10 ipsec-isakmp match address 101 set transform-set myset2 set peer 10.2.2.5
The crypto map is applied to an interface:
interface Serial0 ip address 10.0.0.2 crypto map toRemoteSite
![]() |
NoteIn this example, IKE must be enabled. |
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Posted: Tue Jul 18 12:51:20 PDT 2000
Copyright 1989-2000©Cisco Systems Inc.