IPSec tunnel setup happens in two phases.
PHASE 1 -->negotiates the parameters to setup a tunnel for PHASE2
PHASE 2 --->Creates SA and establishes a
tunnel for data flow
PHASE 1 ISAKMP Configuration:
Create a ISAKMP policy which defines the
following parameters
- · authentication
- · encryption
- · hash
- · DH group
The two routers must agree upon a policy to establish the tunnel.
The policy with lower value will have higher priority.
Define ISAKMP policy
We need to define a pre-shared key for authentication with peer
R2(config)#crypto
isakmp key 0 APPLE address 10.1.34.4
In case if the
ip address of the other end is not known,
R2(config)#crypto
isakmp key 0 APPLE address 0.0.0.0
whoever wants
to establish the ipsec tunnel with R2 should use APPLE as the pre-shared
authentication key
|
R2(config)#crypto
isakmp policy 30
R2(config-isakmp)#authentication
pre-share
R2(config-isakmp)#hash
md5
R2(config-isakmp)#encryption
3des
R2(config-isakmp)#group
20
|
Phase1 negotiation will fail if the authentication key is
different or any of the parameters is different.
Once the phase1 negotiation is completed successfully, the state
for the peer will be QM_IDLE.
Any other state means phase1 negotiation failed.
Any other state means phase1 negotiation failed.
The following show command can be used for verifying the phase1
result,
R2#sh crypto
isakmp sa
IPv4 Crypto
ISAKMP SA
dst src state conn-id status
4.4.4.4 2.2.2.2 QM_IDLE 1003 ACTIVE
|
Phase 1 negotiation happens in two modes
Main Mode: TBU
Aggressive Mode:TBU
Phase 2 IPSEC Configuration:
Phase2 kicks in once the phase1 negotiation is
done and secure tunnel is formed.
In phase2, the routers will exchange the
symmetric keys for the session and establishes SA.
For phase2 configuration, we need to setup the
following
- · Create extended access-list- to match the interesting traffic. IPsec tunnel setup will trigger when the traffic that matching the acl is seen.
- · Create IPSec transform set –this defines the encryption and hashing methods to be used
- · Create Crypto Map- this connects the access-list, transform set and the peer to which the tunnel must be established.
- · Apply the crypto map to an interface—always outbound
Create extended access-list as
R2(config)#ip
access-list extended 111
R2(config-ext-nacl)#permit
ip 1.1.1.1 0.0.0.0 5.5.5.5 0.0.0.0
|
Create IPSec transform set as
R2(config)#crypto
ipsec transform-set 3DES-SHA esp-3des esp-sha-hmac
|
Esp-3desàencryption
Esp-sha-hmacàhashing
Create Crypto map connecting the peer, transform
set and acl as
R2(config)#crypto
map MAP9 90 ipsec-isakmp
% NOTE: This
new crypto map will remain disabled until a peer
and a valid access list have been
configured.
R2(config-crypto-map)#set
peer 10.1.34.4
R2(config-crypto-map)#match
address 111
R2(config-crypto-map)#set
transform-set 3DES-SHA
|
Apply the crypto map to an interface
R2(config)#int
s1/0
R2(config-if)#crypto
map MAP9
|
If we do a ping from R1 to R5,ipsec tunnel will
not be created because the acl wont match the traffic.
If we do a ping from loopback of R1 to loopback
of R5,ipsec tunnel will get established as this matches the acl 111.
As only the traffic that matches the acl gets
encrypted and the rest is forwarded without security, this way of setting up
the ipsec tunnel comes
under policy based ipsec vpn.
Some show commands to verify the ipsec tunnel
creation
R4#sh crypto
isakmp sa --> gives phase1 negotiation result
IPv4 Crypto
ISAKMP SA
dst src state conn-id status
10.1.34.4 10.1.23.2 QM_IDLE 1001 ACTIVE
IPv6 Crypto
ISAKMP SA
R4#sh crypto
ipsec sa -->gives phase2 negotiation result
interface:
Serial1/0
Crypto map tag: MAP2, local addr 10.1.34.4
protected vrf: (none)
local
ident (addr/mask/prot/port): (5.5.5.5/255.255.255.255/0/0)
remote ident (addr/mask/prot/port):
(1.1.1.1/255.255.255.255/0/0)
current_peer 10.1.23.2 port 500
PERMIT, flags={origin_is_acl,}
#pkts encaps: 4, #pkts encrypt: 4,
#pkts digest: 4 -->These counters should go on increasing
#pkts decaps: 4, #pkts decrypt: 4,
#pkts verify: 4
#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.1.34.4, remote
crypto endpt.: 10.1.23.2
path mtu 1500, ip mtu 1500, ip mtu idb
Serial1/0
current outbound spi:
0x10E1542D(283202605)
PFS (Y/N): N, DH group: none
inbound esp sas:
spi: 0x396B966C(963352172)
transform: esp-3des esp-md5-hmac ,
in use settings ={Tunnel, }
conn id: 1, flow_id: 1,
sibling_flags 80000040, crypto map: MAP2
sa timing: remaining key lifetime
(k/sec): (4259623/3582)
IV size: 8 bytes
replay detection support: Y
Status: ACTIVE(ACTIVE)
inbound ah sas:
inbound pcp sas:
outbound esp sas:
spi: 0x10E1542D(283202605)
transform: esp-3des esp-md5-hmac ,
in use settings ={Tunnel, }
conn id: 2, flow_id: 2,
sibling_flags 80000040, crypto map: MAP2
sa timing: remaining key lifetime
(k/sec): (4259623/3582)
IV size: 8 bytes
replay detection support: Y
Status: ACTIVE(ACTIVE)
outbound ah sas:
outbound pcp sas:
R4#
|
If we want to set the tunnel using the loopback
interfaces,
Change the
pre-shared key IP association
Change the peer
address in the crypto map and add the following command
R4(config)#crypto
map MAP9 local-address loopback 0
|
Misc:
No comments:
Post a Comment