VPN ASA és IOS között

A CCNA Security egyik alap témaköre a VPN. IOS-szel sokat csináltam már, ASA-val még egyet sem. Ezt laborozom ki ma.

A topológia a szokásos (A Tunnelt itt most nem kell nézni, crypto-map-pel fogjuk megcsinálni, amit a fizikai interface-re konfigurálunk):

 

CCNA Security Lab - Layer 3
CCNA Security Lab – Layer 3

Az ASA-t ASDM-mel, az IOS oldalt pedig CLI-n fogjuk felkonfigurálni (Cisco Configuration Professional-ben van rá varázsló, ami végigvezet a lépéseken).

Első lépés: ahhoz, hogy a crypto map aktív lehessena végén, a routing-nak rendben kell lennie. Előbb route-l az eszköz, és utána titkosít. Azaz ha pl. az ASA nem tudja, merre van a 10.0.2.0/24, sosem fog életbe lépni a titkosítás, hiszen nem tudja, merre kellene továbbítani a csomagokat. Ezeket a route-kat fogom később a Crypto ACL-ekben felhasználni. Az egyszerűség kedvéért most B osztályokat adok meg, azaz:

ASA-n a 10.0.0.0/16-t:

ASAv# sh run | i route
route INTERNET 10.0.0.0 255.255.0.0 100.100.100.2 1
ASAv#

 

R1-en pedig a 192.168.0.0/16-t:

R1#sh run | i route
ip route 192.168.0.0 255.255.0.0 100.100.100.1
R1#

 

Pingelni már tudunk is a két eszköz között:

ASAv# ping 100.100.100.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 100.100.100.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 10/10/10 ms
ASAv#

 

Az alábbiakat definiáljuk a VPN-hez (most nem veszem figyelembe titkosítás/hashelés erősségét):

  • IKEv1 Phase 1 (“HAGLE”)
    • Hash: sha
    • Athentication: pre-share, key: fkuris
    • Group: DH 2
    • Lifetime: 3600
    • Encryption: 3des
  • IKEv1 Phase 2
    • Transform-set: TS, 3des, sha1
    • Mode: tunnel (alapértelmezett)
    • Crypto ACL 100: 10.0.0.0/16 <-> 192.168.0.0/16. Pontos tükörképnek kell lenni!
    • Crypto-map: FKURIS-VPN

 

Kezdjük az IOS oldallal, CLI-ből.

 

crypto isakmp policy 10
 encr 3des
 authentication pre-share
 group 2
 lifetime 3600
crypto isakmp key fkuris address 100.100.100.1
!
!
access-list 100 permit ip 10.0.0.0 0.0.255.255 192.168.0.0 0.0.255.255
!
!
crypto ipsec transform-set TS esp-3des esp-sha-hmac
 mode tunnel
!
!
!
crypto map FKURIS-VPN 1 ipsec-isakmp
 set peer 100.100.100.1
 set transform-set TS
 match address 100
!
!
interface Ethernet1/3
 crypto map FKURIS-VPN
!
!
end

 

Jöhet az ASA oldal.

Wizards –> VPN –> Site-to-Site VPN.

 

ASDM_wizard

 

asdm_2

 

asdm_3

 

asdm_4

 

asdm_5

 

asdm_6

 

asdm_7

 

asdm_8

 

asdm_9

 

Ne feledjük, addig nem fog felépülni az IPSec tunnel, ameddig nem generálunk olyan forgalmat, amely a crypto ACL-re egyezik.

Pingeljük meg ASA belső lábát R1 belső lábáról, ennek fel kell építeni a VPN-t:

 

R1#ping 192.168.1.1 source e1/0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.1, timeout is 2 seconds:
Packet sent with a source address of 10.0.1.1
.....
Success rate is 0 percent (0/5)

 

Nézzük, hogy Phase 1 OK-e:

R1#sh crypto isakmp sa
IPv4 Crypto ISAKMP SA
dst src state conn-id status
100.100.100.1 100.100.100.2 QM_IDLE 1001 ACTIVE

IPv6 Crypto ISAKMP SA

R1#

 

Quick mode idle, ez jó, Phase 1 OK.

 

R1#sh crypto ipsec sa

interface: Ethernet1/3
 Crypto map tag: FKURIS-VPN, local addr 100.100.100.2

protected vrf: (none)
 local ident (addr/mask/prot/port): (10.0.0.0/255.255.0.0/0/0)
 remote ident (addr/mask/prot/port): (192.168.0.0/255.255.0.0/0/0)
 current_peer 100.100.100.1 port 500
 PERMIT, flags={origin_is_acl,}
 #pkts encaps: 4, #pkts encrypt: 4, #pkts digest: 4
 #pkts decaps: 0, #pkts decrypt: 0, #pkts verify: 0

 

Van encaps, de nincs decaps. Valami az ASA oldalán nem oké, nem jön vissza csomag. Az ASA oldalán is up-ban van a VPN, de nincs encapsulated packet.

asdm_10

 

Ennek oka, hogy az ASA eldobja alapból belső lábára érkező ICMP csomagokat.

De ha R2-ről próbáljuk pingelni R1 belső lábát, az már menni fog.

 

R2#ping 10.0.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.0.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 9/11/14 ms
R2#

 

Látunk is encaps/decaps packeteket R1-en és ASA-n is:

 

R1#sh crypto ipsec sa | i caps
 #pkts encaps: 44, #pkts encrypt: 44, #pkts digest: 44
 #pkts decaps: 35, #pkts decrypt: 35, #pkts verify: 35
R1#

 

asdm_11

 

Az itteni konfigurációt senki ne használja élesben, a gyenge titkosítás/hashelés miatt.