Cisco IPSec VPN Configuration

cisco-ipsec-vpn-configuration-ipsec-for-vpn

We use VPN Tunnels for secured packet transmission between two end points. If we use this VPN between two sites over Internet, this is called site-to-site VPN. We can use VPN with different tunnel methods. One of them is GRE Tunnel that we have talked about before. The other is IPSec Tunnels, IPSec for VPN. In this lesson, we will focus on how to configure IPSec VPN Tunnels on Cisco Routers. We will learn Cisco IPSec Configuration. You can also check Cisco GRE Tunnel Configuration.

 

Here, for our IPSEC VPN Configuration Example, we will use the below site-to-site VPN topology.

 

cisco-ipsec-vpn-configuration-ipsec-for-vpn

 


You can DOWNLOAD Cisco Packet Tracer and GNS3 Labs.


 

ISAKMP Policy Configuration

The first step of IPSec for VPN Configuration is ISAKMP Policy Configuration. We do this configuration for Phase 1 negotiations. To do this we will use “crypto isakmp policy” command with priority value 1. This priority number identifies the policy and gives a priority level. The lower priority number has higher priority.

 

And under this policy, we will define encryption method, hashing method, authentication method and group.

Let ’s start with RouterA.

 


RouterA(config)# crypto isakmp policy 1
RouterA(config-isakmp)# encryption aes
RouterA(config-isakmp)# hash md5
RouterA(config-isakmp)# authentication pre-share
RouterA(config-isakmp)# group 10
RouterA(config-isakmp)# exit

Now, let’s explain that what we have used here. Firstly, our encryption method is AES. We can also use DES, 3DES aes-192 and aes-256 methods.  Our hashing method is MD5. Another option can be SHA hashing. We used pre-shared authentication method. We can also use rsa-sig and crack methods. As crypto isakmp policy group, we used group 10. There are other Diffie-Hellman groups available for here.

 

After these configuration steps, we will define pre-shared key for the authentication between two peers. We will configure pre-shared key with the ip address of the remote tunnel end. When RouterA wants to establish VPN Tunnel between RouterB, this pre-shared key will be used for the authentication.  This pre-shared key must match at the other end.

 

Our pre-shared key is OurKey and the remote tunnel IP address is 20.20.20.20.

 


RouterA (config)# crypto isakmp key OurKey address 20.20.20.20

 

Now, let ‘s do the similar configuration on RouterB.

 


RouterB(config)# crypto isakmp policy 1
RouterB(config-isakmp)# encryption aes
RouterB(config-isakmp)# hash md5
RouterB(config-isakmp)# authentication pre-share
RouterB(config-isakmp)# group 10
RouterB(config-isakmp)# exit

 


RouterB (config)# crypto isakmp key OurKey address 10.10.10.10

 


 

IPSec Configuration

The second step of our IPSec for VPN configuration is IPSec configuration. Before, we have created phase 1 policy. Now, we will create phase 2 policy.  This policy will be used for IPSec negotiation.

 

We will define how to protect the traffic with “crypto ipsec transform-set” command with the name of transfer set. Here, we will use AES as encryption method and MD5 as hashing method. We will name this policy as IPCiscoSet.

 


RouterA(config)# crypto ipsec transform-set IPCiscoSet esp-aes esp-md5-hmac

 

The same configuration will be done on RouterB too.

 


RouterB(config)# crypto ipsec transform-set IPCiscoSet esp-aes esp-md5-hmac

 

To determine the encrypted traffic, we will use access list here. With an access-list, we will determine the traffic that will pass the VPN Tunnel. Here, we will define one network as source network and the other network as destination network. We will use this access list in the next step during crypto map creation.

 


RouterA(config)# ip access-list extended IPCiscoVPN
RouterA(config-ext-nacl)# permit ip 192.168.1.0 0.0.0.255 172.16.0.0 0.0.0.255
RouterA(config-ext-nacl)# exit

 


RouterB(config)# ip access-list extended IPCiscoVPN
RouterB(config-ext-nacl)# permit ip 172.16.0.0 0.0.0.255 192.168.1.0 0.0.0.255
RouterB(config-ext-nacl)# exit

 

Now, it is time to create crypto map which will attach ISAKMP configuration and IPSec configuration. We will use “crypto map” command with crypto map name MyMap.

 


RouterA(config)# crypto map MyMap 10 ipsec-isakmp
RouterA(config-crypto-map)# set peer 20.20.20.20
RouterA(config-crypto-map)# set transform-set IPCiscoSet
RouterA(config-crypto-map)# match address IPCiscoVPN

 

Now, we will add this crypto map under interface towards the other peer.

 


RouterA(config)# interface Gi0/1
RouterA(config- if)# crypto map MyMap

 

 

Now, we will do the same configuration on the other end.

 


RouterB(config)# crypto map MyMap 10 ipsec-isakmp
RouterB(config-crypto-map)# set peer 10.10.10.10
RouterB(config-crypto-map)# set transform-set IPCiscoSet
RouterB(config-crypto-map)# match address IPCiscoVPN

 


RouterB(config)# interface Gi0/1
RouterB(config- if)# crypto map MyMap

 


 

IPSec For VPN Verification

To verify Cisco IPSec for VPN Configuration, we can use several show commands. Let’s learn each of them one by one.

 

  • show crypto ipsec sa
  • show crypto isakmp sa
  • show crypto map
  • show crypto session remote ip-address detail

 

With “show crypto ipsec sa” command, we can check current Security Associations (SAs)’ settings, parameters, number of encapsulations and decapsulations etc.


RouterA# show crypto ipsec sa
interface: Serial2/0
Crypto map tag: MyMap, local addr 10.10.10.10
protected vrf: (none)
local  ident (addr/mask/prot/port): (192.168.1.0/255.255.255.0/0/0)
remote ident (addr/mask/prot/port): (172.16.0.0/255.255.255.0/0/0)
current_peer 20.20.20.20 port 500
PERMIT, flags={origin_is_acl,}
#pkts encaps: 21, #pkts encrypt: 21, #pkts digest: 21
#pkts decaps: 21, #pkts decrypt: 21, #pkts verify: 21
#pkts compressed: 0, #pkts decompressed: 0
#pkts not compressed: 0, #pkts compr. failed: 0
#pkts not decompressed: 0, #pkts decompress failed: 0
#send errors 0, #recv errors 0
local crypto endpt.: 10.10.10.10, remote crypto endpt.: 20.20.20.20
plaintext mtu 1438, path mtu 1500, ip mtu 1500, ip mtu idb GigabitEthernet0/0
current outbound spi: 0x8767D399(2271728537)
PFS (Y/N): N, DH group: none
inbound esp sas:
spi: 0x6A23472(127978330)
transform: esp-aes esp- md5-hmac ,
in use settings ={Tunnel, }
conn id: 2023, flow_id: Onboard VPN:7, sibling_flags 80234040, crypto map: MyMap
sa timing: remaining key lifetime (k/sec): (543240/3259)
IV size: 16 bytes
replay detection support: Y
Status: ACTIVE(ACTIVE)
inbound ah sas:
inbound pcp sas:
outbound esp sas:
spi: 0x821375699(2986328537)
transform: esp-aes esp- md5-hmac ,
in use settings ={Tunnel, }
conn id: 2024, flow_id: Onboard VPN:8, sibling_flags 80004040, crypto map: MyMap
sa timing: remaining key lifetime (k/sec): (1246240/9863)
IV size: 16 bytes
replay detection support: Y
Status: ACTIVE(ACTIVE)
outbound ah sas:
outbound pcp sas:

 

With “show crypto isakmp sa” command, we can check all the current IKE SAs status

 


RouterA# show crypto isakmp sa
dst                        src                        state                     conn-id                 slot        status
20.20.20.20        10.10.10.10      QM_IDLE              1                            0            ACTIVE

 

show crypto map” command, shows crypto map structure.

 


RouterA# show crypto map
Crypto Map IPv4 " MyMap " 10 ipsec-isakmp
Peer = 20.20.20.20
Extended IP access list 100
access-list 100 permit ip 192.168.1.0 0.0.0.255 172.16.0.0 0.0.0.255
Current peer: 20.20.20.20
Security association lifetime: 1248000 kilobytes/3600 seconds
Responder-Only (Y/N): N
PFS (Y/N): N
Mixed-mode : Disabled
Transform sets={
IPCiscoSet:  { esp-aes esp-md5-hmac  } ,
}
Interfaces using crypto map MyMap:
GigabitEthernet1/0

 

“show crypto session remote ip-address detail” command shows the details of the crypto session.


RouterA# show crypto session remote 20.20.20.20 detail
Crypto session current status
Interface: GigabitEthernet1/0
Uptime: 00:11:11
Session status: UP-ACTIVE   >>>>> Status of the VPN
Peer: 20.20.20.20 port 500 fvrf: (none) ivrf: (none)
Phase1_id: 20.20.20.20
Desc: (none)
Session ID: 0
IKEv1 SA: local 10.10.10.10/500 remote 20.20.20.20/500 Active
Capabilities:(none) connid:1012 lifetime:14:10:23
IPSEC FLOW: permit ip 192.168.1.0/255.255.255.0 172.16.0.0/255.255.255.0
Active SAs: 2, origin: crypto map
Inbound:  #pkts dec'ed 25 drop 0 life (KB/Sec) 3458240/1743
Outbound: #pkts enc'ed 25 drop 0 life (KB/Sec) 3458240/1743

In this IPSec for VPN Configuration example, we have learned the details of how to configure IPSEC VPN on Cisco routers. You can try Cisco IPSec Configuration with different encryption, hashing and authentication methods.

 


Lesson tags: ipsec
Back to: CCNP Enterprise 350-401 ENCOR v1.1 > Path Virtualization

Leave a Reply

Your email address will not be published. Required fields are marked *

CCNP Enterprise 350-401 ENCOR v1.1

Collapse
Expand