CISCO IPSEC VPN – konfiguracja
by admin · Grudzień 2, 2017
Jak skonfigurować tunel IPSEC VPN pomiędzy dwoma routerami CISCO?
Tunel IPSEC VPN pomiędzy dwoma routerami CISCO konfigurujemy w następujących krokach:
- Globalne uruchomienie usługi
- Konfiguracja ISAKMP Policy
- Konfiguracja kluczy szyfrujących
- Konfiguracja IP transform set
- Stworzenie ACL wskazującej na ruch, który chcemy szyfrować
- Stworzenie crypto-mapy i wskazanie IP transform set
- Podpięcie crypto-mapy do interfejsu podpiętego do internetu.
Konfiguracja podstawowa:
hostname R1
!
interface Loopback0
ip address 1.1.1.1 255.255.255.255
ip nat inside
!
interface FastEthernet0/0
ip address 192.168.12.1 255.255.255.0
ip nat outside
!
ip nat inside source list 100 interface FastEthernet0/0 overload
!
ip route 0.0.0.0 0.0.0.0 192.168.12.2
!
access-list 100 deny ip host 1.1.1.1 host 3.3.3.3
access-list 100 permit ip host 1.1.1.1 any
hostname R3
!
interface Loopback0
ip address 3.3.3.3 255.255.255.255
ip nat inside
!
interface FastEthernet0/0
ip address 192.168.23.3 255.255.255.0
ip nat outside
!
ip nat inside source list 100 interface FastEthernet0/0 overload
!
ip route 0.0.0.0 0.0.0.0 192.168.23.2
!
access-list 100 deny ip host 3.3.3.3 host 1.1.1.1
access-list 100 permit ip host 3.3.3.3 any
KONFIGURACJA IPSEC VPN
1. Globalne uruchomienie usługi
R1(config)#crypto isakmp enable
R3(config)#crypto isakmp enable
2. Konfiguracja ISAKMP Policy
R1(config)#crypto isakmp
R1(config)#policy 10
R1(config)#encr 3des
R1(config)#hash md5
R1(config)#authentication
R1(config)#pre-share
R1(config)#group 15
R3(config)#crypto isakmp
R3(config)#policy 10
R3(config)#encr 3des
R3(config)#hash md5
R3(config)#authentication
R3(config)#pre-share
R3(config)#group 15
Na obu routerach ISAKMP policy musi być taka sama w celu zestwienia fazy 1 ISAKMP.
3. Konfiguracja kluczy szyfrujących
R1(config)#crypto isakmp key cisco123 address 192.168.23.3
R3(config)#crypto isakmp key cisco123 address 192.168.12.1
W kluczach szyfrujących podajemy adres IP peer’a, z którym chcemy nawiązać tunel IPSEC VPN.
4. Konfiguracja IP transform set
R1(config)#crypto ipsec transform-set TSET esp-aes esp-sha-hmac
R1(cfg-crypto-trans)#mode tunnel
R3(config)#crypto ipsec transform-set TSET esp-aes esp-sha-hmac
R3(cfg-crypto-trans)#mode tunnel
5. Stworzenie ACL wskazującej na ruch, który chcemy szyfrować
R1(config)#access-list 101 permit ip host 3.3.3.3 host 1.1.1.1
R3(config)#access-list 101 permit ip host 3.3.3.3 host 1.1.1.1
6. Stworzenie crypto-mapy i wskazanie IP transform set
R1(config)#crypto map CMAP 10 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)#set peer 192.168.23.3
R1(config-crypto-map)#set transform-set TSET
R1(config-crypto-map)#match address 101
R3(config)#crypto map CMAP 10 ipsec-isakmp
% NOTE: This new crypto map will remain disabled until a peer
and a valid access list have been configured.
R3(config-crypto-map)#set peer 192.168.12.1
R3(config-crypto-map)#set transform-set TSET
R3(config-crypto-map)#match address 101
7. Podpięcie crypto-mapy do interfejsu podpiętego do internetu.
R1(config)#int fastEthernet 0/0
R1(config-if)#crypto map CMAP
R3(config)#int fastEthernet 0/0
R3(config-if)#crypto map CMAP
PODSUMOWANIE
Cała konfiguracja wygląda następująco:
R1
R1#show run
!
hostname R1
!
crypto isakmp policy 10
encr 3des
hash md5
authentication pre-share
group 15
crypto isakmp key cisco123 address 192.168.23.3
!
crypto ipsec transform-set TSET esp-aes esp-sha-hmac
mode tunnel
!
crypto map CMAP 10 ipsec-isakmp
set peer 192.168.23.3
set transform-set TSET
match address 101
!
interface Loopback0
ip address 1.1.1.1 255.255.255.255
ip nat inside
!
interface FastEthernet0/0
ip address 192.168.12.1 255.255.255.0
ip nat outside
duplex full
crypto map CMAP
!
ip nat inside source list 100 interface FastEthernet0/0 overload
!
ip route 0.0.0.0 0.0.0.0 192.168.12.2
!
access-list 100 deny ip host 1.1.1.1 host 3.3.3.3
access-list 100 permit ip host 1.1.1.1 any
access-list 101 permit ip host 1.1.1.1 host 3.3.3.3
!
R3
R3#show run
!
hostname R3
!
crypto isakmp policy 10
encr 3des
hash md5
authentication pre-share
group 15
crypto isakmp key cisco123 address 192.168.12.1
!
crypto ipsec transform-set TSET esp-aes esp-sha-hmac
mode tunnel
!
crypto map CMAP 10 ipsec-isakmp
set peer 192.168.12.1
set transform-set TSET
match address 101
!
interface Loopback0
ip address 3.3.3.3 255.255.255.255
ip nat inside
!
interface FastEthernet0/0
ip address 192.168.23.3 255.255.255.0
ip nat outside
duplex full
crypto map CMAP
!
ip nat inside source list 100 interface FastEthernet0/0 overload
!
ip route 0.0.0.0 0.0.0.0 192.168.23.2
!
access-list 100 deny ip host 3.3.3.3 host 1.1.1.1
access-list 100 permit ip host 3.3.3.3 any
access-list 101 permit ip host 3.3.3.3 host 1.1.1.1
!
Tunel IPSEC VPN zestawi się tylko wtedy kiedy router zobaczy na ruch który pasuje do ACL 101 w crypto-mapie. Spróbujmy więc wydać komendę ping ip 3.3.3.3 source 1.1.1.1 na routerze R1:
R1#ping ip 3.3.3.3 source 1.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 3.3.3.3, timeout is 2 seconds:
Packet sent with a source address of 1.1.1.1
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 28/32/44 ms
Łączność jest, czyli tunel się zestawił. Sprawdźmy to wydając nastepujące komendy:
- show crypto isakmp sa
- show crypto ipsec sa
R1#show crypto isakmp sa
IPv4 Crypto ISAKMP SA
dst src state conn-id status
192.168.23.3 192.168.12.1 QM_IDLE 1001 ACTIVE
R1#show crypto ipsec sa
interface: FastEthernet0/0
Crypto map tag: CMAP, local addr 192.168.12.1
protected vrf: (none)
local ident (addr/mask/prot/port): (1.1.1.1/255.255.255.255/0/0)
remote ident (addr/mask/prot/port): (3.3.3.3/255.255.255.255/0/0)
current_peer 192.168.23.3 port 500
PERMIT, flags={origin_is_acl,}
#pkts encaps: 3, #pkts encrypt: 3, #pkts digest: 3
#pkts decaps: 3, #pkts decrypt: 3, #pkts verify: 3
#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.: 192.168.12.1, remote crypto endpt.: 192.168.23.3
path mtu 1500, ip mtu 1500, ip mtu idb FastEthernet0/0
current outbound spi: 0x34978E4A(882347594)
PFS (Y/N): N, DH group: none
inbound esp sas:
spi: 0x6DB519C5(1840585157)
transform: esp-aes esp-sha-hmac ,
in use settings ={Tunnel, }
conn id: 1, flow_id: 1, sibling_flags 80004040, crypto map: CMAP
sa timing: remaining key lifetime (k/sec): (4253546/3593)
IV size: 16 bytes
replay detection support: Y
Status: ACTIVE(ACTIVE)
inbound ah sas:
inbound pcp sas:
outbound esp sas:
spi: 0x34978E4A(882347594)
transform: esp-aes esp-sha-hmac ,
in use settings ={Tunnel, }
conn id: 2, flow_id: 2, sibling_flags 80004040, crypto map: CMAP
sa timing: remaining key lifetime (k/sec): (4253546/3593)
IV size: 16 bytes
replay detection support: Y
Status: ACTIVE(ACTIVE)
outbound ah sas:
outbound pcp sas:
Zobaczmy teraz co widać na interfejsie FastEthernet 0/0 routera R3 w trakcie pingu:
Jak widać na powyższych zrzutach ekranu z programu Wireshark widzimy tylko pakiety protokołu ESP, które zawierają tylko ESP SPI i ESP Sequence. Czyli ruch jest zaszyfrowany zgodnie z założeniami i z konfiguracją.