Escenario de VPN entre ASA 5505 y router 2801

Fecha: 8 de julio del 2015 Clase: CCNA Security

 

Escenario

 

Este escenario es muy simple, pero lo hicimos para verificar las diferencias en los comandos de

configuración y verificación de VPN entre ASA y IOS (nota: se pronuncia “entre asa y aioes” ).

 

 

                          

 

Verificación:

 

Una vez configurados, se genera tráfico interesante para levantar el tunel, verificamos en el ASA y el router.

 

En ASA 5505:

 

ASA5505# sh route (en IOS es #sh ip route)

 

Codes: C – connected, S – static, I – IGRP, R – RIP, M – mobile, B – BGP

       D – EIGRP, EX – EIGRP external, O – OSPF, IA – OSPF inter area

       N1 – OSPF NSSA external type 1, N2 – OSPF NSSA external type 2

       E1 – OSPF external type 1, E2 – OSPF external type 2, E – EGP

       i – IS-IS, L1 – IS-IS level-1, L2 – IS-IS level-2, ia – IS-IS inter area

       * - candidate default, U – per-user static route, o – ODR

       P – periodic downloaded static route

 

Gateway of last resort is 200.0.0.2 to network 0.0.0.0

 

C    200.0.0.0 255.255.255.252 is directly connected, outside

C    127.1.0.0 255.255.0.0 is directly connected, _internal_loopback

C    192.168.1.0 255.255.255.0 is directly connected, inside

S*   0.0.0.0 0.0.0.0 [1/0] via 200.0.0.2, outside (el tráfico utilizará esta ruta, asociada a lainterface outside, la cual tiene

ASA5505#                                                                         asociado un crypto-map IPSEc)

 

ASA5505# sh crypto isakmp sa (fase I del túnel, con tráfico isakmp entre puertos UDP 500) (en IOS el comando es igual)

 

   Active SA: 1

    Rekey SA: 0 (A tunnel will report 1 Active and 1 Rekey SA during rekey)

Total IKE SA: 1

 

1   IKE Peer: 190.0.0.1

    Type    : L2L             Role    : initiator

    Rekey   : no              State   : MM_ACTIVE (en IOS es IDLE)

 

ASA5505#

 

ASA5505# sh crypto ipsec sa (fase II del túnel, ya con tráfico IPSec) (en IOS el comando es igual)

 

interface: outside

    Crypto map tag: Outside, seq num: 1, local addr: 200.0.0.1

 

      access-list VPN permit ip 192.168.1.0 255.255.255.0 192.168.2.0 255.255.255.0

      local ident (addr/mask/prot/port): (192.168.1.0/255.255.255.0/0/0)

      remote ident (addr/mask/prot/port): (192.168.2.0/255.255.255.0/0/0)

      current_peer: 190.0.0.1

 

      #pkts encaps: 419, #pkts encrypt: 419, #pkts digest: 419 (paquetes enviados por el túnel)

      #pkts decaps: 421, #pkts decrypt: 421, #pkts verify: 421 (paquetes recibidos por el túnel)

      #pkts compressed: 0, #pkts decompressed: 0

      #pkts not compressed: 419, #pkts comp failed: 0, #pkts decomp failed: 0

      #pre-frag successes: 0, #pre-frag failures: 0, #fragments created: 0

      #PMTUs sent: 0, #PMTUs rcvd: 0, #decapsulated frgs needing reassembly: 0

      #send errors: 0, #recv errors: 0

 

      local crypto endpt.: 200.0.0.1, remote crypto endpt.: 190.0.0.1

 

      path mtu 1500, ipsec overhead 58, media mtu 1500

      current outbound spi: BB18A928

 

    inbound esp sas:

      spi: 0xA903DB3C (2835602236)

 

         transform: esp-des esp-md5-hmac none

         in use settings ={L2L, Tunnel, PFS Group 5, }

         slot: 0, conn_id: 9, crypto-map: Outside

         sa timing: remaining key lifetime (kB/sec): (4274975/2979)

         IV size: 8 bytes

         replay detection support: Y

    outbound esp sas:

      spi: 0xBB18A928 (3138955560)

         transform: esp-des esp-md5-hmac none

         in use settings ={L2L, Tunnel, PFS Group 5, }

         slot: 0, conn_id: 9, crypto-map: Outside

         sa timing: remaining key lifetime (kB/sec): (4274975/2979)

         IV size: 8 bytes

         replay detection support: Y

 

ASA5505#

 

ASA5505# sh dhcpd bind  (en IOS es #sh ip dhcp bind)

 

IP address       Hardware address        Lease expiration        Type

 

  192.168.1.100    0154.bef7.57ed.e4            1670 seconds    Automatic

  192.168.1.101    0100.1b38.7ef1.71            3170 seconds    Automatic

 

ASA5505#

 

ASA5505# sh ip  (en IOS el comando es #sh ip int brief)

 

System IP Addresses:

Interface                Name                   IP address      Subnet mask     Method

Vlan1                    inside                 192.168.1.1     255.255.255.0   CONFIG

Vlan2                    outside                200.0.0.1       255.255.255.252 manual

Current IP Addresses:

Interface                Name                   IP address      Subnet mask     Method

Vlan1                    inside                 192.168.1.1     255.255.255.0   CONFIG

Vlan2                    outside                200.0.0.1       255.255.255.252 manual

 

ASA5505#

 

ASA5505# sh access-list (en IOS es similar, las ACL en sí también, pero quiero recalcar una cosa en la ACL del NAT0)

access-list cached ACL log flows: total 0, denied 0 (deny-flow-max 4096)

            alert-interval 300

access-list VPN; 1 elements

access-list VPN line 1 extended permit ip 192.168.1.0 255.255.255.0 192.168.2.0 255.255.255.0 (hitcnt=205) 0x1def63b8

access-list NAT0; 1 elements

access-list NAT0 line 1 extended permit ip 192.168.1.0 255.255.255.0 192.168.2.0 255.255.255.0 (hitcnt=0) 0x1b5a5e1a

(debería tener la misma cantidad de match que la ACL afectada a la VPN ya que todo lo que va por el túnel no se “natea”,

pero en ASA la ACL de nat excemption –o NAT cero- nunca cuenta los paquetes, y esta ACL siempre debe ser por IP y no

por puertos TCP o UDP, vaya a saber por qué)

 

ASA5505#

 

En router 2801:

 

Router#sh ip route (en ASA es #sh route)

Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP

       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

       E1 - OSPF external type 1, E2 - OSPF external type 2

       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

       ia - IS-IS inter area, * - candidate default, U - per-user static route

       o - ODR, P - periodic downloaded static route

 

Gateway of last resort is 190.0.0.2 to network 0.0.0.0

 

     190.0.0.0/30 is subnetted, 1 subnets

C       190.0.0.0 is directly connected, FastEthernet0/1

C    192.168.2.0/24 is directly connected, FastEthernet0/0

S*   0.0.0.0/0 [1/0] via 190.0.0.2

Router#

 

Router#sh crypto isakmp sa  (en ASA el comando es igual)

dst             src             state          conn-id slot status

190.0.0.1       200.0.0.1       QM_IDLE              9    0 ACTIVE   (en ASA dice MM_ACTIVE)

 

Router#

 

Router#sh crypto ipsec sa   (en ASA el comando es igual)

 

interface: FastEthernet0/1

    Crypto map tag: VPN, local addr 190.0.0.1  (en ASA me dice el nombre de la ACL)

 

   protected vrf: (none)

   local  ident (addr/mask/prot/port): (192.168.2.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 200.0.0.1 port 500  (en ASA no dice el puerto)

     PERMIT, flags={origin_is_acl,} (en ASA me dice el nombre de la ACL)

    #pkts encaps: 567, #pkts encrypt: 567, #pkts digest: 567

    #pkts decaps: 578, #pkts decrypt: 578, #pkts verify: 578

    #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.: 190.0.0.1, remote crypto endpt.: 200.0.0.1

     path mtu 1500, ip mtu 1500, ip mtu idb FastEthernet0/1

     current outbound spi: 0xA903DB3C(2835602236)

 

     inbound esp sas:

      spi: 0xBB18A928(3138955560)

        transform: esp-des esp-md5-hmac ,

        in use settings ={Tunnel, }

        conn id: 3003, flow_id: FPGA:3, crypto map: VPN

        sa timing: remaining key lifetime (k/sec): (4425471/3473)

        IV size: 8 bytes

        replay detection support: Y

        Status: ACTIVE

 

     inbound ah sas:

 

     inbound pcp sas:

 

     outbound esp sas:

      spi: 0xA903DB3C(2835602236)

        transform: esp-des esp-md5-hmac ,

        in use settings ={Tunnel, }

        conn id: 3004, flow_id: FPGA:4, crypto map: VPN

        sa timing: remaining key lifetime (k/sec): (4425470/3472)

        IV size: 8 bytes

        replay detection support: Y

        Status: ACTIVE

 

     outbound ah sas:

 

     outbound pcp sas:

Router#

 

Configuración de equipos:

 

Los running-config se muestran tal cual se ven, sin resumir, para que se puedan ver las diferencias,

se resalta en negrita lo referente, o que afecte a la VPN.

 

Router#sh run

Building configuration...

 

Current configuration : 1071 bytes

!

version 12.4

service timestamps debug datetime msec

service timestamps log datetime msec

no service password-encryption

!

hostname Router

!

boot-start-marker

boot-end-marker

!

!

no aaa new-model

ip cef

!

!

!

!

!

!

!

!

!

!

!

crypto isakmp policy 10

 hash md5

 authentication pre-share

 group 5

 lifetime 3600

crypto isakmp key Pr3Sh4redKey address 200.0.0.1

!

!

crypto ipsec transform-set TRANSFORMA esp-des esp-md5-hmac

!

!

!

crypto map VPN 10 ipsec-isakmp

 set peer 200.0.0.1

 set transform-set TRANSFORMA

 set pfs group5

 match address 101

!

!

!

interface FastEthernet0/0

 ip address 192.168.2.1 255.255.255.0

 ip nat inside

 duplex auto

 speed auto

!

interface FastEthernet0/1

 ip address 190.0.0.1 255.255.255.252

 ip nat outside

 duplex auto

 speed auto

 crypto map VPN (en ASA está fuera de la config de interface)

!

interface Serial0/1/0

 no ip address

 shutdown

 clock rate 2000000

!

ip route 0.0.0.0 0.0.0.0 190.0.0.2

!

ip http server

no ip http secure-server

ip nat inside source list 100 interface Fa0/1 overload

!

access-list 100 deny ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255 (en ASA es una ACL asociada a nat (inside) 0 )

access-list 100 permit ip 192.168.2.0 0.0.0.255 any  (en ASA es una ACL asociada a nat (inside) 1 )

access-list 101 permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255

!

!

control-plane

!

!

line con 0

line aux 0

line vty 0 4

 login

!

scheduler allocate 20000 1000

end

 

ASA5505# sh runn

: Saved

:

ASA Version 7.2(3)

!

hostname ASA5505

domain-name default.domain.invalid

enable password PmNe1e0C3tJdCLe8 encrypted

names

!

interface Vlan1

 nameif inside

 security-level 100

 ip address 192.168.1.1 255.255.255.0

!

interface Vlan2

 nameif outside

 security-level 0

 ip address 200.0.0.1 255.255.255.252

!

interface Ethernet0/0

 switchport access vlan 2

!

interface Ethernet0/1

!

interface Ethernet0/2

!

interface Ethernet0/3

!

interface Ethernet0/4

!

interface Ethernet0/5

!

interface Ethernet0/6

!

interface Ethernet0/7

!

passwd 2KFQnbNIdI.2KYOU encrypted

boot system disk0:/asa723-k8.bin

ftp mode passive

dns server-group DefaultDNS

 domain-name default.domain.invalid

access-list VPN extended permit ip 192.168.1.0 255.255.255.0 192.168.2.0 255.255.255.0

access-list NAT0 extended permit ip 192.168.1.0 255.255.255.0 192.168.2.0 255.255.255.0

pager lines 24

logging asdm informational

mtu inside 1500

mtu outside 1500

icmp unreachable rate-limit 1 burst-size 1

icmp permit any inside (permite el ping al ASA desde la LAN)

asdm image disk0:/asdm-523.bin

no asdm history enable

arp timeout 14400

global (outside) 1 interface (en IOS esto es el overload en el NAT)

nat (inside) 0 access-list NAT0 (en IOS esto se define como un “deny” en la ACL del NAT)

nat (inside) 1 192.168.1.0 255.255.255.0

route outside 0.0.0.0 0.0.0.0 200.0.0.2 1 (en IOS es ip route 0.0.0.0 etc..)

!

timeout xlate 3:00:00 (en IOS esto no por default se visualiza)

timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02 (en IOS esto no por default se visualiza)

timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00 (en IOS esto no por default se visualiza)

timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00 (en IOS esto no por default se visualiza)

timeout uauth 0:05:00 absolute (en IOS esto no por default se visualiza)

http server enable

http 192.168.1.0 255.255.255.0 inside

no snmp-server location

no snmp-server contact

snmp-server enable traps snmp authentication linkup linkdown coldstart

crypto ipsec transform-set DES-MD5 esp-des esp-md5-hmac  (igual que en IOS)

crypto map Outside 1 match address VPN (en IOS es dentro de la configuración del crypto map)

crypto map Outside 1 set pfs group5 (en IOS es dentro de la configuración del crypto map)

crypto map Outside 1 set peer 190.0.0.1  (en IOS es dentro de la configuración del crypto map)

crypto map Outside 1 set transform-set DES-MD5 (en IOS es dentro de la configuración del crypto map)

crypto map Outside interface outside (en IOS está dentro de la config de interface)

crypto isakmp identity address

crypto isakmp enable outside (en IOS esto no existe)

crypto isakmp policy 10 (en IOS esto es igual)

 authentication pre-share

 encryption des

 hash md5

 group 5

 lifetime 3600

crypto isakmp nat-traversal  20

telnet timeout 5

ssh timeout 5

console timeout 0

dhcpd auto_config outside

!

dhcpd address 192.168.1.100-192.168.1.110 inside (en IOS es ip dhcp pool y sus subcomandos)

dhcpd enable inside (en IOS esto es automático y según el orígen del DHCP discover)

!

!

class-map inspection_default

 match default-inspection-traffic

!

!

policy-map type inspect dns preset_dns_map

 parameters

  message-length maximum 512

policy-map global_policy

 class inspection_default

  inspect dns preset_dns_map

  inspect ftp

  inspect h323 h225

  inspect h323 ras

  inspect rsh

  inspect rtsp

  inspect esmtp

  inspect sqlnet

  inspect skinny

  inspect sunrpc

  inspect xdmcp

  inspect sip

  inspect netbios

  inspect tftp

  inspect icmp

  inspect icmp error

 class class-default

!

service-policy global_policy global

username admin password eY/fQXw7Ure8Qrz7 encrypted privilege 15 (en IOS esyo está mas al principio)

tunnel-group 190.0.0.1 type ipsec-l2l (en IOS es sólo crypto isakmp key Pr3Sh4redKey address 200.0.0.1)

tunnel-group 190.0.0.1 ipsec-attributes

 pre-shared-key * (en ASA no se muestra, salvo con el comando #more system:running-config)

prompt hostname context

Cryptochecksum:9b48c5ae451aac6930fbc7083fc6ab8e

: end

 

ASA5505#

 

(2015) Tell me Sensei, this tunnel is dark ?

Rosario, Argentina