Sie sind auf Seite 1von 42

The Bryant Advantage CCNP ROUTE Study Guide

Chris Bryant, CCIE #12933 www.thebryantadvantage.com


Back To Index
The Remote Workplace, Part :
VPNs And PSec
Overview

These days, it's not enough to have communication - we need secure
communication. Virtual Private Networks (VPNs) are a great way to
secure these transmissions.
t's the "private" part of VPNs that brings us that security. Configuring
VPNs gives us the opportunity to apply security to a connection that is
using a shared technology such as Frame Relay - in other words, to treat
VPN Terminology
Data Encryption Technologies
Key Encryption Schemes
The PSec Architecture
Configuring Site-to-Site VPNs
Creating An KE Policy
Configuring Transform Sets
Crypto ACLs
Configuring Site-to-Site VPNs with SDM
Dead Peer Detection
GRE Over PSec Tunnels
Configuring GRE Over PSec Tunnels with SDM
Easy VPN Server and Client
Configuring Easy VPN Server n SDM
Configuring Easy VPN Client
this connection as though it were on a private network.
What's A VPN?
VPNs are often referred to as tunnels. We can apply security rules and
policies to this tunnel without applying them to other WAN
communications.
For example, when we configure commands directly on the Serial0
interface, all communications using that interface are subject to those
commands.
When we create a VPN, it's actually seen as a separate interface - you'll
see this when we configure one - and we can apply rules to the VPN that
are not applied to other communications using Serial0.
n the following exhibit, a VPN has been created between two routers.
Security policies can be enforced on the VPN between those two routers
without affecting any WAN communications involving the bottom router.


There are some VPN terms that are sometimes used interchangeably, but
they don't refer to the same feature. Let's take a close look at these
terms.
VPNs offer three vital functions. Note that two of these occur at the
receiver, and one at the sender. Data origin authentication allows the
receiver to guarantee the source of the packet.

Encryption is just that - the sender encrypts the packets before sending
them. f an intruder picks them off the wire, they will have no meaning.

Integrity is the receiver's ability to ensure that the data was not affected or
altered in any fashion as it traveled across the VPN.

There are three different protocols we can use to create this tunnel.
Originally defined in RFC 1701, Generic Routing Encapsulation enables a
Cisco router to encapsulate a packet in an P header. When the packet
reaches the remote router, the header is stripped off. GRE's drawback is
that there's no encryption scheme, and that's a pretty big drawback.
Defined in RFC 2661, The Layer 2 Tunneling Protocol (L2TP) is actually a
hybrid of Microsoft's Point-to-Point Tunneling Protocol (PPTP) and Cisco's
own Layer 2 Forwarding (L2F). Again, the major drawback is that L2TP
doesn't have an encryption scheme.
This giant flaw is corrected by IP Security, generally referred to as PSec.
PSec does offer encryption along with authentication, and that's why
you'll see more PSec in today's networks than L2TP or GRE. That's also
why we're going to spend the majority of this section working with PSec.
VPN Terminology
Before we get to a more specific discussion of VPNs, there are some
general terms you should know. We'll review the terms from the
beginning of this section as well.
Data Confidentiality means that only the devices that should see the data
in an unencrypted form will see the data that way. Generally, this is
achieved by one endpoint encrypting the data and sending it across the
link in that fashion, with the second endpoint unencrypting the data.
Data Integrity means that the recipient of the data can guarantee that the
received data is the same as the transmitted data - in short, that the data
was not altered during transport.
Data Origin Authentication guarantees that the data originated from a
specific endpoint.
Anti-replay protection (sometimes just called "replay protection") protects
against replay attacks, a malicious repeat and/or delay of a valid
transmission.
Replay attacks can begin innocently enough. n this example, Router
C requests proof of identity from Router A. Router A responds with proof
of identity.

The problem is, an ntruder is listening to the conversation and copies
Router A's proof of identity.

After A and C are done with their conversation, the ntruder starts a
conversation with C, pretending to be A. When C asks for proof of
identity, the ntruder submits A's D, and C will accept it.


Anti-replay protection can use several different methods of defeating such
an attack, including the one-time use of tokens for the proof of identity or
by using sequence numbers; a repeated sequence number will be
rejected.
Data Encryption Technologies
For data to be encrypted, it follows that something's got to perform this
encryption! One such encryption tool is the Data Encryption Standard
(DES). DES was developed in 1976, and just a few security issues with
networking have popped up since then!
The main issue is that the key used by DES to encrypt data is only 56 bits
in size. (A key is a random string of binary digits.) Thirty years ago, that
was fine, but then again floppy disks used to be the largest storage unit
any of us needed! Depending on which documentation you read, DES
keys can be broken in any time frame from 24 hours to ten minutes.
Triple DES (3DES) is just what it sounds like - the DES encryption
procedure is run three times, with three different 56-bit DES keys. That's a
total of 168 bits, but the effective security provided is considered to be
only 112 bits.
The Advanced Encryption Standard (AES) is being rapidly adopted by
governments and organizations around the world. AES can run on any
Cisco router that has PSec DES/3DES capability. The actual function of
AES is far beyond the scope of this exam, but it really is quite fascinating.
To me, anyway. f you'd like to take a peek at how it works ....
http://en.wikipedia.org/wiki/Advanced_Encryption_Standard
Key Encryption Schemes
Symmetric encryption is an algorithm where the key that is used for
encryption is also used for decryption. Symmetric encryption is
sometimes called secret key encryption.
Variations of symmetric encryption include stream algorithms, where one
bit or byte is encrypted/decrypted at a time, and block algorithms, where
blocks of data are encrypted/decrypted as a whole. These data blocks
are usually 64 bits in size. Both DES and 3DES use symmetric
encryption.
The drawback to symmetric encryption is that the key is used for two
purposes, making it that much easier for an intruder to discover the key.
n contrast, asymmetric encryption involves two keys for both the sender
and receiver. This public key encryption scheme involves a public and
private key for each user. Before starting the actual encryption process,
the public key should be certified by a third party called a Certificate
Authority (CA).
f "Dan" has a public key, the CA will make sure Dan is who he says he is,
and the CA will then issue a digital certificate saying just that. The digital
certificate is a combination of Dan's public key and the CA's private root
key.
The CA may be global, such as www.verisign.com, or it may be a CA in
your very own organization. The key here (no pun intended) is that you
better trust your CA, because the entire public key encryption process is
built around the CA verifying users and their public keys.

Now that the CA has verified Dan and Bob, public key encryption can be
put into use. n this example, Dan will send an email to Bob using PKE.
Dan will actually use Bob's public key to encrypt the message. The email
is then sent to Bob, who will use his private key to de-encrypt the email.
Exchanging Secret Keys Over A Non-Secure Connection
t seems like quite a Catch-22; to create the VPN, we need the endpoints
to exchange secret keys, but since the VPN doesn't exist yet, the secret
keys must be exchanged over a non-secure connection! The Diffie-
Hellman algorithm allows the exchange of secret keys over a non-secure
communications channel.
Referred to in some documentation as exponential key agreement, this
protocol was also designed in 1976 - but it's still in use today in networks
around the world.
The IPSec Architecture
PSec is a combination of three protocols:
Authentication Header (AH), which defines a method for
authentication and securing data
Encapsulating Security Payload (ESP), which defines a method for
authenticating, securing, and encrypting data
Internet Key Exchange (KE), which negotiates the security
parameters and authentication keys
The IPSec Packet Format

Defined in RFC 2402, Authentication Header (AH) offers solid security -- it
provides data origin authentication as well as offering optional anti-replay
protection. The drawback with AH is that the authentication it provides for
the P Header is not complete.
That's because some of the P fields can't be correctly predicted by the
receiver - these are mutable fields which may change during
transmission. AH will successfully protect the P packet's payload,
though, which is really what we're interested in.
To sum it up, AH does offer:
l data origin authentication
l data integrity
l anti-replay protection (optional)
AH does not offer data confidentiality.
The Encapsulating Security Payload (ESP) does just that - as you can
see from the PSec packet illustration, there is an ESP Header and ESP
Trailer surrounding, or encapsulating, the data. ESP offers all of the
following:
l data origin authentication
l anti-replay protection
l data confidentiality
Comparing AH and ESP, you might be wondering why you'd ever choose
AH over ESP. Here are a few things to consider:
ESP is more processor-intensive than AH. f your data does not
require data confidentiality, AH may meet all your requirements.
ESP requires strong cryptography, which isn't available and/or
allowed everywhere. AH has no such requirement.
Both ESP and AH can be run in one of two modes - Tunnel Mode and
Transport Mode. n Tunnel mode, the entire PSec process is
transparent to the end hosts; specialized PSec gateway devices handle
the PSec workload.
The tunnel mode process encrypts the entire P packet, and then that
encrypted packet is placed into another P packet. That encapsulating
packet will have the P addresses configured on the tunnel endpoints, and
it's those tunnel P addresses that will be used to route the packet.
Transport mode encrypts the P payload, but the PSec header is inserted
directly after the P header in the packet. As a result:
l There is no protection for the original P address
l The original P address will be used for routing
l Only data from the Transport layer up is protected by PSec (easy
enough to remember!)
Configuring Site-to-Site IPSec VPNs
Configuring a site-to-site VPN is basically a five-step process.
l Process nitialization via "interesting traffic" (as opposed to the usual,
uninteresting kind)
l KE Phase 1 (KE SA negotiation)
l KE Phase 2 (PSec SA negotiation)
l Data Transfer
l Tunnel Termination
PSec doesn't just start working by itself - it requires interesting traffic to
be sent by a host. This interesting traffic initializes the PSec process. A
crypto access-list will define interesting traffic for our VPN. We'll configure
one later in this section.

The routers will now enter KE Phase . Assuming we're running Main
mode, there will be six messages overall. The initiator will first transmit
proposals for the encryption and authentication schemes to be used. At
this point, KE's looking for an SAKMP policy that's a match at both
endpoints.

n the second exchange of KE Phase , the devices will exchange Diffie-
Hellman public keys; from this point on, the rest of the negotiation is
encrypted.

The initiator and recipient authenticate each other in the third exchange of
Phase , using an encrypted form of their P addresses. The KE SA is
then established and Phase can begin.


(f we had chosen to run KE in Aggressive Mode, this would have been a
three-message process. )
The initiator packages everything needed for the SA negotiation in the first
message, including its Diffie-Hellman public key.
The recipient responds with the acceptable parameters and authentication
information, and its Diffie-Hellman public key.
The initiator then sends a confirmation that it received that information,
and we're done!

KE Phase 2 has one mode, Quick mode. This is also a three-message
process. The initiator proposes parameters for the PSec SA, the
recipient responds with a list of acceptable parameters, and the initiator
then transmits a message that lets the responder know that message 2
was received and processed. This message is called proof of liveness.

With the PSec SA in place, the hosts can now exchange data.

Once the data exchange is complete, the tunnel can be torn down. This
tunnel termination can be configured to occur after a certain number of
bytes have passed through the tunnel, or perhaps after the tunnel has
been up for a certain number of seconds.
But what if traffic is flowing through the tunnel at the same time the
tunnel's supposed to be torn down? No fear - a new Security Association
can be agreed upon while the existing one is still in place.
Creating An IKE Policy
Before configuring the KE policy, make sure SAKMP is enabled with the
crypto isakmp enable command. t's supposed to be on by default, but we
all know how that is!
R1(config)#crypto isakmp enable
To display the current KE policies, run show crypto isakmp policy.
R1#show crypto isakmp policy
Global IKE policy
Default protection suite
encryption algorithm: DES - Data Encryption Standard (56 bit keys).
hash algorithm: Secure Hash Standard
authentication method: Rivest-Shamir-Adleman Signature
Diffie-Hellman group: #1 (768 bit)
lifetime: 86400 seconds, no volume limit
We're not going to use the default, however. We'll create a custom policy
with the crypto isakmp policy command. Policies can be assigned
priorities, as shown below by OS Help. The lower the number, the higher
the priority, with 1 being the highest priority. There is no default and this
value cannot be set to zero.
R1(config)#crypto isakmp policy ?
<1-10000> Priority of protection suite
R1(config)#crypto isakmp policy 100
OS Help shows the options for the KE policy.

The options for authentication are preshared keys, RSA Signature, and
RSA Encryption. The default is RSA Signature. We'll configure the policy
to use preshared keys.
R1(config-isakmp)#authentication ?
pre-share Pre-Shared Key
rsa-encr Rivest-Shamir-Adleman Encryption
rsa-sig Rivest-Shamir-Adleman Signature
R1(config-isakmp)#authentication pre-share
The options for encryption are DES, AES, and 3DES (TDES). The default
is DES. We'll use 3DES.
R1(config-isakmp)#encryption ?
3des Three key triple DES
aes AES - Advanced Encryption Standard.
des DES - Data Encryption Standard (56 bit keys).
R1(config-isakmp)#encryption 3des
We do have options for the Diffie-Hellman group, so we'll use group 5.
The default is group 1.
R1(config-isakmp)#group ?
1 Diffie-Hellman group 1
2 Diffie-Hellman group 2
5 Diffie-Hellman group 5
R1(config-isakmp)#group
The hash algorithm will be either MD5 or SHA. The default is SHA, so
we'll set the policy to MD5.
R1(config-isakmp)#hash ?
md5 Message Digest 5
sha Secure Hash Standard
R1(config-isakmp)#hash md5
Finally, we need to set the SA lifetime. The default is the maximum
number of seconds, 86,400, which equals 24 hours. We'll set that to
42,400 seconds.
R1(config-isakmp)#lifetime ?
<60-86400> lifetime in seconds
R1(config-isakmp)#lifetime 42400
show crypto isakmp policy displays both policies on the router - the
default and the one we just wrote.

The exact same policy has been configured on R3. R1 and R3 are on the
same Serial segment, 172.12.12.0 /24, with their router number as the
last octet.
R3(config)#crypto isakmp policy 100
R3(config-isakmp)#hash md5
R3(config-isakmp)#lifetime 42400
R3(config-isakmp)#group 5
R3(config-isakmp)#authentication pre-share
R3(config-isakmp)#encryption 3des
When KE Phase 1 negotiation begins, the initiator sends its policies to
the receiver. The receiver will then attempt to find a match for that policy
among its own policies, and the receiver starts this search with its lowest
numbered policy.
f that policy doesn't match, the receiver checks its next lowest numbered
policy. t's vital to remember that just because the first policy comparison
doesn't result in a match, the recipient will continue to search for a
match.
n the following example, R2 checks its own policies for a match with the
policy sent by the initiator, R1. R2 begins with its lowest-numbered policy,
100. That policy requires SHA and the incoming policy names MD5, so
there's no match.
R2 then checks its Policy 200, which requires DES, and that does not
match the incoming policy. Policy 300 matches all the
requirements, so the negotiation is successful.

You'd think that all five values would have to match for the negotiation to
be successful, but that's not quite true. Here's a list of the parameters
and what has to happen for successful negotiation.
l Hash: exact match
l Encryption: exact match
l Authentication: exact match
l DH Group number: exact match
l Lifetime: Remote peer policy must have lifetime equal to or less
than initiator. f less, the lower value is used.
Since our policies referred to preshared keys, we better create them! The
crypto isakmp key command does this. Along with the key itself, the P
address of the remote peer must be configured.
Watch the syntax with this command, as it differs between OS
versions. Not all versions have the 0 / 6 option you'll see below on R1.
OS Help shows that the options are slightly different between the OS
versions we're using. As a CCNP and world-class Cisco engineer, this is
something you need to get used to. Trust me.



f Phase is successful, an SAKMP SA will be created. We can verify this
with show crypto isakmp sa.
R3#show crypto isakmp sa
dst src state conn-id slot
R3#
As always, if the output of a show command shows nothing, there's
nothing to show! The SAKMP SA doesn't exist until the entire PSec
configuration is in place and interesting traffic has started the process.
That's one frustrating thing about PSec - there's a good deal of
configuration, but you really can't test it until the entire thing is done.
Configuring The IPSec Transform Sets
An IPSec Transform Set is simply a group of individual parameters that
will enforce a security policy. The endpoints must agree exactly on which
encryption and algorithms will be used to create the PSec SA. f there's
an exact match, the PSec process continues; if there's no match, the
process is terminated and the session torn down.
As with SAKMP policies, multiple transform sets can be configured and
sent to a remote peer. The remote peer will compare each set received
against its own transform sets, and when a match is found, the PSec SA
will be built.
A transform set is built with the crypto ipsec transform-set command, as
shown here on R3. Options are shown with OS Help, and then the exact
same transform set is configured on R1.



IPSec SA Lifetimes
The default lifetime of an PSec SA is 1 hour, but OS Help reveals that the
command that changes this value on a global basis sets the PSec SA
lifetime in seconds. Always use IOS Help to double-check the measuring
unit in use by any given command. The below command sets this value to
30 minutes (1800 seconds). The SA lifetime can also be based on
volume.

Crypto Access Lists
Remember way back when mentioned that interesting traffic triggers the
PSec process? We're finally getting to the part of PSec that identifies
this interesting traffic - crypto access lists.
Crypto ACLs are used to define the traffic that is protected by PSec.
While most of the Crypto ACLs you write will be configured to affect
outbound traffic, they can also be configured to affect inbound traffic.
Outbound crypto ACLs identify the traffic to be secured by PSec, and
traffic not named by the crypto ACL will be sent in clear text.

nbound crypto ACLs identify traffic that should have been protected by
PSec, but wasn't. Such traffic will be discarded.

Extended ACLs can serve as Crypto ACLs, but there's a major difference
in operation between the two.
With Extended ACLs, matched traffic is permitted and unmatched traffic
denied (by the implicit deny). With Crypto ACLs, matched traffic is
encrypted and unmatched traffic is unencrypted but still transmitted.
f inbound Crypto ACLs are configured, unprotected traffic that matches
the ACL is dropped - simply because it's unprotected.
The trickiest part of writing Crypto ACLs for PSec peers is making sure
they're symmetrical rather than identical.
Let's use the following network to show you what mean.

To have traffic on R1's ethernet segment protected by PSec if it's
destined for the ethernet segment on R2, R1's ACL will look like this:
access-list 123 permit ip 172.10.1.0 0.0.0.255 172.10.5.0 0.0.0.255
For traffic on R2's ethernet segment to be protected by PSec if it's
destined for the ethernet segment on R1, R2's ACL will look like this:
access-list 123 permit ip 172.10.5.0 0.0.0.255 172.10.1.0 0.0.0.255
When you're configuring PSec and concentrating on the many details
we've discussed in this chapter, it's really easy to think "Hey, 'll just write
the ACL on one router and then copy and paste it to the other."
Always double-check your ACLs - if they're identical, there is a problem.
We don't want the two ACLs to be an exact copy of each other - rather,
we need them to be mirror images, exact reverses of each other.
Once the Crypto ACLs are written, it's time to apply them to the
appropriate interfaces. That's just one purpose of a Crypto Map. Let's
look at the basic command to write a Crypto Map along with some
options, courtesy of OS Help.
R3(config)#crypto map CCNP ?
<1-65535> Sequence to insert into crypto map entry
client Specify client configuration settings
isakmp Specify isakmp configuration settings
isakmp-profile Specify isakmp profile to use
local-address Interface to use for local address for this crypto map
R3(config)#crypto map CCNP 100 ?
ipsec-isakmp IPSEC w/ISAKMP
ipsec-manual IPSEC w/manual keying
<cr>
R3(config)#crypto map CCNP 100 ipsec-isakmp ?
dynamic Enable dynamic crypto map support
profile Enable crypto map as a crypto-profile
<cr>
R3(config)#crypto map CCNP 100 ipsec-isakmp
R3(config-crypto-map)#
We've successfully created a crypto map named CCNP, sequence
number 100, that will use SAKMP to establish the PSec Security
Associations. We're now in crypto map configuration mode, where the
ACL, peers, transform sets, and security association lifetime for this
particular crypto map can be set.
Any SA lifetime value configured here overrides the globally configured
value, but we'll leave that value alone for now.
R1(config)#crypto map CCNP 100 ipsec-isakmp
% NOTE: This new crypto map will remain disabled until a peer
and a valid access list have been configured.
R1(config-crypto-map)#match address 123
R1(config-crypto-map)#set peer 172.12.123.2
R1(config-crypto-map)#set transform-set R1_TRANSFORM_SET

R1(config-crypto-map)#interface serial 0/1
R1(config-if)#crypto map CCNP
R1(config-if)#
*Apr 1 17:27:04.807: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON

R3(config)#crypto map CCNP 100 ipsec-isakmp
R3(config-crypto-map)#match address 123
R3(config-crypto-map)#set peer 172.12.12.1
R3(config-crypto-map)#set transform-set R3_TRANSFORM_SET
R3(config-crypto-map)#set security-association lifetime ?
kilobytes Volume-based key duration
seconds Time-based key duration
R3(config)#int s0/1
R3(config-if)#crypto map CCNP
R3(config-if)#
*Mar 1 04:10:12.260: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON
Before sending interesting traffic to start the entire process, we'll enable
debug crypto ipsec on R3 to allow us to see the details of the SA
negotiations. Near the bottom of the debug output, you can see that two
separate unidirectional SAs have been built.
R3#debug crypto ipsec
Crypto IPSEC debugging is on
R3#ping 172.12.12.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.12.12.1, timeout is 2 seconds:
*Jun 6 23:51:14.999: IPSEC(sa_request): ,
(key eng. msg.) OUTBOUND local= 172.12.12.3, remote= 172.12.12.1,
protocol= AH, transform= ah-md5-hmac (Tunnel),
lifedur= 1800s and 4608000kb,
spi= 0x91791CF(152539599), conn_id= 0, keysize= 0, flags= 0x400A.
*Jun 6 23:51:17.579: IPSEC(validate_proposal_request): proposal part #1,
(key eng. msg.) INBOUND local= 172.12.12.3, remote= 172.12.12.1,
protocol= AH, transform= ah-md5-hmac (Tunnel),
lifedur= 0s and 0kb,
spi= 0x0(0), conn_id= 0, keysize= 0, flags= 0x2
*Jun 6 23:51:17.583: Crypto mapdb : proxy_match
src addr : 172.12.12.3
dst addr : 172.12.12.1
protocol : 0
src port : 0
dst port : 0
*Jun 6 23:51:17.591: IPSEC(key_engine): got a queue event with 2 kei
messages
*Jun 6 23:51:17.591: IPSEC(initialize_sas): ,
(key eng. msg.) INBOUND local= 172.12.12.3, remote= 172.12.12.1,
protocol= AH, transform= ah-md5-hmac (Tunnel),
lifedur= 1800s and 4608000kb,
spi= 0x91791CF(152539599).!!!
Success rate is 60 percent (3/5), round-trip min/avg/max = 48/49/52 ms
R2#, conn_id= 0, keysize= 0, flags= 0x2
*Jun 6 23:51:17.591: IPSEC(initialize_sas): ,
(key eng. msg.) OUTBOUND local= 172.12.12.3, remote= 172.12.12.1,
protocol= AH, transform= ah-md5-hmac (Tunnel),
lifedur= 1800s and 4608000kb,
spi= 0x945FCBB6(2489306038), conn_id= 0, keysize= 0, flags= 0xA
*Jun 6 23:51:17.595: Crypto mapdb : proxy_match
src addr : 172.12.12.3
dst addr : 172.12.12.1
protocol : 0
src port : 0
dst port : 0
*Jun 6 23:51:17.595: IPSEC(crypto_ipsec_sa_find_ident_head): reconnecting
with
the same proxies and 172.12.12.1
*Jun 6 23:51:17.595: IPSec: Flow_switching Allocated flow for sibling
80000002
*Jun 6 23:51:17.595: IPSEC(policy_db_add_ident): src 172.12.12.3, dest
172.12.
12.1, dest_port 0
*Jun 6 23:51:17.599: IPSEC(create_sa): sa created,
(sa) sa_dest= 172.12.12.3, sa_proto= 51,
sa_sp
i= 0x91791CF(152539599),
sa_trans= ah-md5-hmac , sa_conn_id= 2001
*Jun 6 23:51:17.599: IPSEC(create_sa): sa created,
(sa) sa_dest= 172.12.12.1, sa_proto= 51,
sa_spi= 0x945FCBB6(2489306038),
sa_trans= ah-md5-hmac , sa_conn_id= 2002
By running show crypto isakmp sa, we can see that the SA is in place and
is active... and at last, active is what we want to see!
R2#show crypto isakmp sa
dst src state conn-id slot status
172.12.123.1 172.12.123.2 QM_DLE 1 0 ACTVE
QM_DLE is what we do want to see; here are a few other potential
messages we don't want to see, along with a quick explanation of each
courtesy of Cisco's website.
A common error message is MM_NO_STATE, and if you think that sounds
bad, you're right! This indicates a fundamental problem with Phase , most
likely a mismatch of attributes between peers.
MM_KEY_EXCH can indicate a misconfiguration of the peer's P address,
and this message can also be generated by a misconfigured pre-shared
key.
Two other excellent PSec troubleshooting commands are show crypto
map and show crypto ipsec transform-set.
R2#show crypto map
Crypto Map "CCNP" 100 ipsec-isakmp
Peer = 172.12.123.1
Extended IP access list 123
access-list 123 permit ip host 172.12.123.2 host 172.12.123.1
Current peer: 172.12.123.1
Security association lifetime: 4608000 kilobytes/1800 seconds
PFS (Y/N): N
Transform sets={
R2_TRANSFORM_SET,
}
Interfaces using crypto map CCNP:
Serial0/1
R2#show crypto ipsec transform-set
Transform set R3_TRANSFORM_SET: { ah-md5-hmac }
will negotiate = { Tunnel, },
Transform set R2_TRANSFORM_SET: { ah-md5-hmac }
will negotiate = { Tunnel, },
To let you see what the PSec process looks like when the SA expires,
left the debug running until the one we built in this chapter expired.
*Jun 7 00:48:18.270: IPSEC(lifetime_expiry): SA lifetime threshold
reached, exp
iring in 111 seconds

*Jun 7 00:50:10.074: IPSEC(key_engine): got a queue event with 1 kei
messages
*Jun 7 00:50:10.074: IPSEC(key_engine_delete_sas): rec'd delete notify
from ISA
KMP
*Jun 7 00:50:10.078: IPSEC(key_engine_delete_sas): delete SA with spi
0x877193D

*Jun 7 00:50:10.086: IPSEC(delete_sa): deleting SA,
sa_spi= 0xF8BA8F2(260810994),
sa_trans= ah-md5-hmac , sa_conn_id= 2003,
*Jun 7 00:50:10.086: IPSEC(delete_sa): deleting SA

sa_spi= 0x877193DD(2272367581),
sa_trans= ah-md5-hmac , sa_conn_id= 2004,
(identity) local= 172.12.123.2, remote= 172.12.123.1,
*Jun 7 00:50:10.090: IPSec: Flow_switching Deallocated flow for sibling
8000000
A Warning About ACLs And IPSec
As you work with more complex combinations of Cisco technologies,
you're going to have to be very careful with your access lists. You should
especially be careful with port ranges in ACLs, because you can always
block ports that are needed by network services or applications.
This is particularly true with PSec, because three primary PSec protocols
use ports that must not be blocked by ACLs:
l ESP, protocol number 50
l AH, protocol number 51
l KE, UDP port 500
Make sure your network's ACLs are not inadvertently blocking these ports
and protocol numbers anywhere you have PSec running.
To review, here's the process we used to create this site-to-site PSec
VPN:
l Created the SAKMP policy
l Created the PSec transform set
l Defined interesting traffic with the crypto access-list
l Created the crypto map - AND applied it to the proper interface
l Made sure our ACLs allowed the appropriate port numbers

The Return Of GRE
The Generic Routing Encapsulation (GRE) tunneling has actually made a
comeback, since GRE can do things that PSec can't do, and vice versa.
We used to love GRE's multiprotocol capabilities, but that's not as
important to us in today's networks as it once was. Combined with a lack
of strong security features, GRE was pretty much dead for quite a while.
PSec is very secure, but it does have drawbacks. Originally, PSec
couldn't carry multicast traffic, and you may still run into some trouble with
that in the field - the first OS release that allowed PSec to carry multicast
traffic was 12.2(4)T, and there are plenty of routers out there running an
earlier OS.
The latest OS versions can't handle all multicast traffic, however.
Multicast traffic generated by OSPF and EGRP can't be carried by basic
PSec - we've got to run a combination of PSec and GRE, commonly
called GRE over IPSec.
By combining GRE and PSec, each protocol helps to compensate for the
other's limitation:
l PSec adds data integrity and confidentiality that GRE does not offer
l GRE offers the ability to carry routing protocol traffic, which PSec
does not offer
Why call it "GRE over PSec" rather than "PSec over GRE"? Because
the GRE encapsulation happens first, and then that encapsulation is
encapsulated again, by PSec. n effect, we have a GRE tunnel inside an
PSec tunnel.
Our old friends tunnel mode and transport mode are still around as well.
nterestingly enough, Cisco's website recommends the use of transport
mode over tunnel mode with GRE over PSec. Using transport mode
results in less total overhead, and we're all in favor of that!
To review -
l Just as with a site-to-site VPN, the crypto ACL indicates the traffic to
be encrypted
l GRE over PSec allows the transmission of dynamic routing protocol
multicast traffic
l Whether you use the CL or SDM, always make sure to apply the
crypto map to the interface!
Hey, that's enough talking about GRE over PSec. Let's configure it with
SDM!
Configuring A GRE Tunnel Over IPSec Via SDM (PDQ)
As always, we'll start by clicking the Configure button, and from there
choose VPN.

From the main VPN window, we'll select Site-to-Site VPN. The Site-to-
Site VPN window gives us two main choices:

When choose the GRE over IPSec option, this illustration is shown.

After clicking Launch the selected task, we're given some reminders of
why we're using GRE - good review material for your exam, too!

The next screen asks us for some required GRE-over-PSec information,
namely the tunnel source and destination and the address of the tunnel
itself. Note that for the source, we can specify either the interface or the
P address, where the only option for destination is the P address.

Did you notice the Details button in the previous screen? Clicking that
gives you quite a bit of information regarding that interface. We don't
have any of these features on this interface, but if we did, it's good
information to have in mind for the tunnel config.

Now back to the config! We're not going to create a backup tunnel, but
the next screen gives us the option to do so.

The next window prompts us for the pre-shared key or to indicate the use
of digital certificates.

The next window is the IKE Proposal selection area, and we'll accept the
default KE policy.

The next window is the Transform Set selection area, and we'll accept the
default there as well.

We're then prompted to identify the routing protocol that will run over the
tunnel.

Earlier in this section, we had the opportunity to create a backup tunnel.
f you're running a routing protocol over the tunnels, you may need to alter
some metrics so that one tunnel is preferred over the other.
For EGRP, for example, 'd suggest working with the delay option rather
than the other metrics as it's easier to get the result you want. With static
routing, you could alter the AD of the routes with the distance option.
We now have the option of tunneling all traffic, or using Split Tunneling to
send select traffic through the tunnel. We'll enable ST here and configure
traffic destined for 10.0.0.0 /8 to use the tunnel.

Real-world note: By default, using Split Tunneling with NAT and PAT on
the same router can cause problems. Cisco's website offers several
solutions to this issue, should you run into that problem in the real world.
As always, we're presented with a Summary of the configuration we've
chosen.

At this point, the VPN is down, since we haven't configured the other side
of it!

We need an exact reverse of this configuration - a mirror image - to place
on the downstream router. SDM has a great tool to create this mirror at
the verrrrrry bottom of the screen - the Generate Mirror button!
Real-world note: f you can't find something in SDM, always look at the
very bottom of the screen.

After clicking Generate Mirror, we get that mirror configuration, along with
warnings about how this config should be used only as a guide and
should not be pasted into the remote router.

Since we're in a lab environment, 'm going to do just what they told me
not to do, and save this config and then paste it into the downstream
router.
Here's the mirror configuration:
crypto isakmp policy 1
authentication pre-share
encr 3des
hash sha
group 2
lifetime 86400
exit
crypto isakmp key secretkey address 172.31.1.1
crypto ipsec transform-set ESP-3DES-SHA esp-sha-hmac esp-3des
mode tunnel
exit
ip access-list extended SDM_1
remark SDM_ACL Category=4
permit gre host 10.2.1.2 host 172.31.1.1
exit
crypto map SDM_CMAP_1 1 ipsec-isakmp
description Apply the crypto map on the peer router's interface having IP
address 10.2.1.2 that connects to this router.
set transform-set ESP-3DES-SHA
set peer 172.31.1.1
match address SDM_1
set security-association lifetime seconds 3600
set security-association lifetime kilobytes 4608000
exit
After copying that config to the downstream router, applied that crypto
map to the physical interface and created a tunnel interface manually:
interface Tunnel0
ip address 10.1.1.2 255.255.255.0
ip mtu 1420
tunnel source FastEthernet0/1
tunnel destination 10.2.1.1
Going back to the original router, the Edit Site-to-Site VPN screen shows
the VPN is now up.


What's So "Easy" About Easy VPN?
Easy VPN consists of the following:
l Easy VPN Server
l Easy VPN Remote
Sounds easy enough! Seriously, the real benefit of Easy VPN is that
security policies written at the Server level can then be pushed out to
Clients. As a result, the Clients have the most up-to-date policies without
the network admins - that's you and me - having to visit them individually.
Quite a few different Cisco devices can act as Easy VPN Servers. will
not list each here, but here are the more common ones:
l VPN 3000 concentrators
l Cisco 7500,7200,7100,3600,2600,1700 routers w/ 12.2(8)T OS
l Many Cisco 800 series routers running 12.2(8)T or later
The Easy VPN Remote device can be a Cisco router, PX, or VPN
concentrator as well. "Easy VPN Remote" devices are often referred to
as "Easy VPN Clients", and that's how 'll refer to them for the rest of this
video. For your exam and when reading Cisco documentation, remember
that "Remote" and "Client" refer to the same device.
The basics of the VPN construction will look familiar at this point! First,
the Client will send SAKMP proposals to the Server, and the Server
responds with the acceptance of a matching proposal. After the policy
acceptance, the SAKMP SA is in place.

The next step is a little different from what we've seen in other VPNs. The
Server will now send a challenge to the Client, prompting the Client to
send a username and password to the Server.

We can use several methods to set up this authentication:
l Local (using the username/password command)
l RADUS
l TACACS
l Xauth (Extended Authentication)
We'll take a closer look at RADUS and TACACS in another section, but
keep in mind that we can use these security protocols in addition to local
authentication.
Once the Client has successfully authenticated, the process enters Mode
configuration. At this stage, the Client requests the necessary
configuration details from the Server.

This information can include:
l P address information (required)
l internal DNS and WNS server addresses
l split tunneling configuration information
Split tunneling allows the Client to have a secure tunnel to the Server and
simultaneous non-secure connections to other networks.
Once Mode configuration is completed, the Reverse Route Injection stage
begins. According to Cisco's website, "Reverse route injection (RRI) is the
ability for static routes to be automatically inserted into the routing process
for those networks and hosts protected by a remote tunnel endpoint".
After RR, we're almost there! PSec Quick Mode then negotiates the
PSec SA, and we're all set.
Configuring Easy VPN Server In SDM
We'll start our Easy VPN server config by clicking the VPN button in the
Configure section of SDM.


You'll see a list of topics under "VPN", and we'll select Easy VPN Server.

The description screen shows the following. Note the prerequisite task.

There's a link to enable AAA on that screen, so 'll click that. Note that the
Enable Easy VPN button is grayed out since AAA is not yet enabled.

After clicking the enable AAA link, we're presented with this message:

We do want to enable AAA, so we'll click Yes and move on.

Once the AAA commands are delivered, we can enable Easy VPN
Server.

Welcome to the Easy VPN Server Wizard! Good exam review material on
this screen as well!

Here's the next window:

The interface facing the workstation is Fast 0/0, so 'll choose that in the
drop-down box. We'll use pre-shared keys as well, but you see that we
can use keys, digital certificates, or both. After making those selections,
the next window asks us for the KE proposal. We could create custom
policies by clicking Add, but here we'll use the default.

The Transform Set selection window is next, and we'll accept the default
there as well.


The next window prompts us for the group authorization method, and we'll
use local authentication only.

like the summary description here. Actually, if you don't have a RADUS
or TACACS server in your network, the local database is the only option
you have!
n the next window, we'll indicate local authentication for users.

n the next window, we'll click Add since a group has not yet been
created.

The Add Group Policy window opens to the following tab, and you can
see the information entered for yourself. Note the pre-shared key
appears as a series of asterisks.

We'll enable Split Tunneling, which is disabled by default. When clicked
that check box, the Enter the protected subnets selection window
enabled. 'll click Add and enter the 10.0.0.0 network with a wildcard
mask of 0.255.255.255.


The policy has been added.

At the bottom of this screen, note that you can specify an idle timer for the
tunnel.

Finally, we're presented with the Summary window.


After clicking Finish at the bottom of that screen, the commands are
delivered to the router, and the Easy VPN Server side of the configuration
is complete!
Configuring The Easy VPN Client
Now to the workstation! 'll launch the Cisco VPN Client and click New.

'll enter the P address of the Easy VPN Server, along with the group
name and password (which again appears only as a series of asterisks).
Group Authentication is selected by default. We're not going to configure
Mutual Group Authentication, but if we chose that option, we'd need to
import a valid root certificate.

Now the HQ connection appears under Connection Entry. 'll click
Connect, and we'll be prompted for a username / password combination
that configured before the lab began.

The connection is then completed! Note that a lock now appears next to
the HQ connection, the message Connected to HQ appears in the bottom
left of the window, and the overall connection time appears in the bottom
right of the window.

You can also test the connection from the Server side. Go to the Edit
Easy VPN Server screen....

.. and at the very bottom of the screen, select Test Easy VPN Server.

Click Start in the Troubleshooting VPN screen, and you'll get check marks
when all is well. f something isn't well, you'll get some great information
on the issue here. This is the first place check when a VPN
configuration isn't working correctly.

You'll also receive the following confirmation that all is well.

Let's look at an SDM screen we haven't visited yet - the Monitor screen.
Just click the Monitor button at the top of SDM, and you're there.

This screen has buttons on the left-hand side as well. Naturally, we'll
select VPN Status.

The IPSec Tunnels tab verifies that the tunnel is up.

The Easy VPN Server tab verifies it as well, along with the number of
encrypted and decrypted packets.

The IKE SA tab shows the SA is in QM_DLE mode, which is just what we
want!

Other Easy VPN Options
n the Easy VPN Client software, you'll see an option for transparent
tunneling. When you have a router serving as a firewall that also happens
to be between the Easy VPN Client and Server, you'll want to enable this
option.
Why? That gateway is likely running NAT and/or PAT, and that can be a
problem for Easy VPN. Enabling transparent tunneling enables us to
work around potential issues with NAT and PAT.
On the same tab in SDM, you'll see an option to Allow Local LAN Access.
f this is enabled on both the Server and Client, access to local network
files, printers, and other resources is allowed without going through the
tunnel.
A Note About NAT
Easy VPN Client does support NAT and PAT, but with a twist. According
to Cisco documentation, Client will autoconfigure the necessary NAT and
PAT commands and access-lists; the admin only needs to configure our
old friends ip nat inside and ip nat outside.
So what's the catch? Actually, there are two of them:
l The autoconfigured NAT, PAT, and access-list commands will not
appear in the starting and running configurations. Thankfully, you
can see them with the show access-list and show ip nat statistics
commands.
l You must remove any pre-existing NAT and PAT configuration
before configuring Easy VPN Remote.
Copyright 2011 The Bryant Advantage. All Rights Reserved.

Das könnte Ihnen auch gefallen