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