Archive

Author Archive

IPSec site-to-site vpn

July 1st, 2009 Goran Raovic 1 comment

Zdravo svima,

danas cu objasniti osnovnu konfiguraciju IPSec site-to-site vpn-a na cisco routerima. Sema mreze na koju cu odnositi konfiguracija je na slici 1.0. Potrebno je da postignemo ip konektivnost izmedju PC1 i PC2 kroz ipsec tunel koji se zavrsava na R1 i R2 ruteru.

ipsec-topologija

slika 1.0

O.k, pa da krenemo. Konfiguracija na R1 se sastoji od definisanja polise koja ide u IKE fazi 1:

!
! ovaj deo definise polisu za IKE fazi 1
!
R1#conf t
R1(conf)# crypto isakmp policy 10
R1(config-isakmp)#encr 3des
R1(config-isakmp)#authentication pre-share
R1(config-isakmp)#hash sha
R1(config-isakmp)#group 2
R1(config)#

zatim pravimo isakmp key koji ce authentfikovati peer-a.

R1(conf)#crypto isakmp key cisco address 201.21.47.1

Potom konfigurisemo transform set. Ovo su parametri koji ce kriptovati payload u okviru IPsec konekcije.

R1(conf)#crypto ipsec transform-set EXP_TS esp-aes esp-sha-hmac

Zatim napravimo access-listu koja sluzi za match-ovanje “interesantnog” saobracaja. Ovo je saobracaj koji ce generisati uspostavljanje ipsec vpn tunela.

R1(conf)#access-list 100 per ip 192.168. 0.0 0.0.0.255 192.168.1.0 0.0.0.255

i najzad sve to uklopimo u kripto mapu

R1(conf)#crypto map IPSEC_map 10 ipsec-isakmp
R1(config-crypto-map)#set transform-set EXP_TS
R1(config-crypto-map)#set peer 201.21.47.1
R1(config-crypto-map)#match address 100

I na kraju tu kripto mapu povezemo sa interface-om sa koga se pravi ipsec tunnel.

!
R1(conf)#int se1/0
R1(config-if)#crypto map IPSEC_map
!

Konfiguracija na R2 ruteru je manje vise ista sem peer adrese i access-liste koja mirror od access-liste sa rutera R1.

!
! access-lista koja matc-uje interesantan saobracaj
!
access-list 100 per ip 192.168.1.0 0.0.0.255 192.168.0.0 0.0.0.255
!
! isakmp policy I
!
crypto isakmp policy 10
encr 3des
authentication pre-share
hash sha
group 2
!
! definisemo auth key za peera
!
crypto isakmp key cisco address 193.22.0.1
!
!zatim transform set
!
crypto ipsec transform-set EXP_TS esp-aes esp-sha-hmac
!
! ovde je definisana crypto map-a
!
crypto map IPSEC_map 10 ipsec-isakmp
set transform-set EXP_TS
set peer 193.22.0.1
match address 100
!
! i na kraju stavljamo na interface crypto mapu
!
int se1/0
crypto map IPSEC_map

Sad ide test. Sa PC1 pustimo ping na PC2 fa0/0 interface

PC1# ping 192.168.1.10
.!!!!

ping radi.. znaci ipsec tunel je uspostavljen

U slucaju da vam ip sec tunnel ne radi, osnovna procedura za troubleshooting je sledeca:

R1# show crypto isakmp sa

Sa ovom komandom treba da dobijete u nasem slucaju ovakav output:

IPv4 Crypto ISAKMP SA
dst src state conn-id slot status
201.21.47.1 193.22.0.1 QM_IDLE 1001 0 ACTIVE

Ovo znaci da je faza I uspesno uspostavljena i da je napravljen ISAKMP SA.

Ipsec SA se testira sa komandom

R1# show crypto ipsec sa
interface: Serial1/0
Crypto map tag: IPSEC_map, local addr 193.22.0.1

protected vrf: (none)
local ident (addr/mask/prot/port): (192.168.0.0/255.255.255.0/0/0)
remote ident (addr/mask/prot/port): (192.168.1.0/255.255.255.0/0/0)
current_peer 201.21.47.1 port 500
PERMIT, flags={origin_is_acl,}
#pkts encaps: 8, #pkts encrypt: 8, #pkts digest: 8
#pkts decaps: 7, #pkts decrypt: 7, #pkts verify: 7
!
! ovaj deo vam pokazuje da se ipsec SA primenjuje i da ima kriptovanih i
! dekriptovanih paketa
!
#pkts compressed: 0, #pkts decompressed: 0
#pkts not compressed: 0, #pkts compr. failed: 0
#pkts not decompressed: 0, #pkts decompress failed: 0
#send errors 1, #recv errors 0

local crypto endpt.: 193.22.0.1, remote crypto endpt.: 201.21.47.1
path mtu 1500, ip mtu 1500, ip mtu idb Serial1/0
current outbound spi: 0x9C11C98C(2618411404)
!
! SPI je Security Parametar Index, ovaj parameter se nalazi u svakom ipsec paketu
i i povezuje ipsec paket sa SA polisom.
!

inbound esp sas:
spi: 0xACB04F97(2897235863)
transform: esp-aes esp-sha-hmac ,
in use settings ={Tunnel, }
conn id: 1, flow_id: SW:1, crypto map: IPSEC_map
sa timing: remaining key lifetime (k/sec): (4394831/3502)
IV size: 16 bytes
replay detection support: Y
Status: ACTIVE

inbound ah sas:

inbound pcp sas:

outbound esp sas:
spi: 0x9C11C98C(2618411404)
transform: esp-aes esp-sha-hmac ,
in use settings ={Tunnel, }
conn id: 2, flow_id: SW:2, crypto map: IPSEC_map
sa timing: remaining key lifetime (k/sec): (4394831/3502)
IV size: 16 bytes
replay detection support: Y
Status: ACTIVE

outbound ah sas:

outbound pcp sas:
R1#

Kao sto vidite, treba da postoje dve IPSec SA, za svaki smer saobracaja po jedan. Ono je vazno da zapamtite za sam proces troubleshooting-a kao i za razumevanje principa ipsec-a. Ovo je moj prvi tekst na blogu i ujedno prvi u nizu tekstova o ipsec vpn-ovima. Sledecih par tekstova ce se odnositi na detaljnije upoznavanje ipsec tehnologije kao i detaljniji troubleshooting IPsec vpn-ova.

P.S U attachmentu uz post se nalaze i kompletne konfiguracije svih rutera kao i dynamips net fajl sa kojim mozete da testirate ovaj ipsec vpn scenario.