cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
914
Views
0
Helpful
8
Replies

Site to Site VPN - ASA5505 & 5510

Amos Kafwembe
Level 1
Level 1

My Task was simple, or so i thought it was. creating a site-to-site VPN using ASA5505 and ASA5510. I have tried using the ASDM wizards to no avail, tried doing whats on this link below but my 5510 will not accept some of the commands, i think it is a higher version 9.1(2)

will someone please point me in the right direction, how can i set up a site-to-site VPN using ASA5505 and 5510 v9.1(2)

http://www.cisco.com/c/en/us/support/docs/security/asa-5500-x-series-next-generation-firewalls/100678-l2l-asa5505-config.html#tro2

8 Replies 8

You don't say what exactly went wrong, but if you are using a newer ASA-version, some commands changed. For some (not all) commands you have to replace the keyword "isakmp" with "ikev1".

Hi,

One command in particular which has changed is as below. How can i configure Nat not to NAT my IP's in the encryption domain on the ASA5510 version 9.1(2)

nat (inside) 0 access-list nonat
nat (inside) 1 0.0.0.0 0.0.0.0

Here is a document for your reference:-
https://supportforums.cisco.com/document/33921/asa-pre-83-83-nat-configuration-examples

Regards,
Dinesh Moudgil

P.S. Please rate helpful posts.

Cisco Network Security Channel - https://www.youtube.com/c/CiscoNetSec/

Hi,

My 5510 side looks like this;

# sh run
: Saved
:
ASA Version 9.1(2)
!
hostname
enable password 2N.wbIp5fCw6dGyv encrypted
names
!
interface GigabitEthernet0/0
 description WAN
 nameif outside
 security-level 0
 ip address xx.xx.182.240 255.255.255.0
!
interface GigabitEthernet0/1
 nameif inside
 security-level 100
 ip address 10.1.0.14 255.255.255.0
!
interface GigabitEthernet0/2
 shutdown
 no nameif
 no security-level
 no ip address
!
interface GigabitEthernet0/3
 shutdown
 no nameif
 no security-level
 no ip address
!
interface GigabitEthernet0/4
 shutdown
 no nameif
 no security-level
 no ip address
!
interface GigabitEthernet0/5
 shutdown
 no nameif
 no security-level
 no ip address
!
interface Management0/0
 management-only
 nameif management
 security-level 100
 no ip address
!
ftp mode passive
object network inside-subnet
 subnet 10.1.0.0 255.255.255.0
access-list 100 extended permit ip 10.1.0.0 255.255.255.0 192.168.1.0 255.255.255.0
pager lines 24
logging asdm informational
mtu outside 1500
mtu inside 1500
mtu management 1500
no failover
icmp unreachable rate-limit 1 burst-size 1
no asdm history enable
arp timeout 14400
no arp permit-nonconnected
!
object network inside-subnet
 nat (inside,outside) dynamic interface
route outside 0.0.0.0 0.0.0.0 xx.xx.182.254 1
timeout xlate 3:00:00
timeout pat-xlate 0:00:30
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02
timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00
timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00
timeout sip-provisional-media 0:02:00 uauth 0:05:00 absolute
timeout tcp-proxy-reassembly 0:01:00
timeout floating-conn 0:00:00
dynamic-access-policy-record DfltAccessPolicy
user-identity default-domain LOCAL
aaa authentication ssh console LOCAL
http server enable
http 192.168.1.0 255.255.255.0 management
http 10.1.0.0 255.255.255.0 inside
no snmp-server location
no snmp-server contact
snmp-server enable traps snmp authentication linkup linkdown coldstart warmstart
crypto ipsec ikev1 transform-set myset esp-3des esp-sha-hmac
crypto ipsec security-association pmtu-aging infinite
crypto map outside_map 20 match address 100
crypto map outside_map 20 set peer xx.xx.0.242
crypto map outside_map 20 set ikev1 transform-set myset
crypto map outside_map interface outside
crypto ca trustpool policy
crypto ikev1 enable outside
crypto ikev1 policy 10
 authentication pre-share
 encryption 3des
 hash sha
 group 2
 lifetime 86400
telnet 0.0.0.0 255.255.255.255 outside
telnet timeout 5
ssh 0.0.0.0 255.255.255.255 outside
ssh timeout 5
ssh version 2
ssh key-exchange group dh-group1-sha1
console timeout 0
threat-detection basic-threat
threat-detection statistics access-list
no threat-detection statistics tcp-intercept
tunnel-group xx.xx.0.242 type ipsec-l2l
tunnel-group xx.xx.0.242 ipsec-attributes
 ikev1 pre-shared-key *****
!
class-map inspection_default
 match default-inspection-traffic
!
!
policy-map type inspect dns preset_dns_map
 parameters
  message-length maximum client auto
  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 ip-options
!
service-policy global_policy global
prompt hostname context
no call-home reporting anonymous
Cryptochecksum:ac6d2b1868489daa5aa023f47aa75118
: end

(config)# ping 192.168.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.1, timeout is 2 seconds:
?????
Success rate is 0 percent (0/5)

5505;

# sh run
: Saved
:
ASA Version 8.2(5)
!
!
interface Ethernet0/0
 description Internet Link
 switchport access vlan 2
!
interface Ethernet0/1
 description To Immigration LAN
!
interface Ethernet0/2
!
interface Ethernet0/3
!
interface Ethernet0/4
!
interface Ethernet0/5
!
interface Ethernet0/6
!
interface Ethernet0/7
!
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 outsideIPaddress 255.255.255.128
!
ftp mode passive
clock timezone CAT 2
dns server-group DefaultDNS
 domain-name hello.edu
object-group service DM_INLINE_TCP_1 tcp
 port-object eq www
 port-object eq https
 port-object eq ssh
object-group network DM_INLINE_NETWORK_1
 network-object zcfa_po 255.255.255.0
 network-object host Consultant1
 network-object host hello
object-group service rdp tcp
 description Microsoft remote desktop
 port-object eq 3389

access-list 100 extended permit ip 192.168.1.0 255.255.255.0 10.1.0.0 255.255.255.0

access-list outside_access_in extended permit tcp any interface outside object-group DM_INLINE_TCP_1
access-list outside_access_in extended permit tcp object-group DM_INLINE_NETWORK_1 interface outside object-group rdp
access-list outside_access_in extended permit icmp any any
access-list outside_access_in_1 extended permit tcp ServersLAN1 255.255.255.192 any eq ssh
access-list inside_access_in extended permit ip 192.168.1.0 255.255.255.0 10.1.0.0 255.255.255.0
access-list inside_access_in extended permit ip 192.168.1.0 255.255.255.0 any

access-list nonat extended permit ip 192.168.1.0 255.255.255.0 10.1.0.0 255.255.255.0

pager lines 24
logging enable
logging asdm informational
mtu inside 1500
mtu outside 1500
icmp unreachable rate-limit 1 burst-size 1
icmp permit any inside
no asdm history enable
arp timeout 14400
nat-control
global (outside) 1 interface

nat (inside) 0 access-list nonat

nat (inside) 1 0.0.0.0 0.0.0.0
static (inside,outside) tcp interface www webserver1 www netmask 255.255.255.255
static (inside,outside) tcp interface https webserver1 https netmask 255.255.255.255
static (inside,outside) tcp interface 3389 webserver1 3389 netmask 255.255.255.255
access-group inside_access_in in interface inside
access-group outside_access_in_1 in interface outside control-plane
access-group outside_access_in in interface outside
route outside 0.0.0.0 0.0.0.0 xx.xx.0.254 1
timeout xlate 3:00:00
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02
timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00
timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00
timeout sip-provisional-media 0:02:00 uauth 0:05:00 absolute
timeout tcp-proxy-reassembly 0:01:00
timeout floating-conn 0:00:00
dynamic-access-policy-record DfltAccessPolicy
aaa authentication http console LOCAL
aaa authentication serial console LOCAL
aaa authentication ssh console LOCAL
http server enable
http 192.168.1.0 255.255.255.0 inside
no snmp-server contact
snmp-server enable traps snmp authentication linkup linkdown coldstart
sysopt noproxyarp outside

crypto ipsec transform-set myset esp-3des esp-sha-hmac
crypto ipsec security-association lifetime seconds 28800
crypto ipsec security-association lifetime kilobytes 4608000
crypto map outside_map 20 match address 100
crypto map outside_map 20 set peer xx.xx.182.240
crypto map outside_map 20 set reverse-route
crypto map outside_map interface outside
crypto isakmp enable outside
crypto isakmp policy 1
 authentication pre-share
 encryption 3des
 hash sha
 group 2
 lifetime 86400

telnet timeout 5
ssh ServersLAN1 255.255.255.192 outside
ssh timeout 5
ssh version 2
console timeout 5
dhcpd auto_config outside
!
dhcpd address 192.168.1.5-192.168.1.36 inside
dhcpd enable inside
!
threat-detection basic-threat
threat-detection statistics access-list
no threat-detection statistics tcp-intercept
webvpn

tunnel-group xx.xx.182.240 type ipsec-l2l
tunnel-group xx.xx.182.240 ipsec-attributes
 pre-shared-key *****
!

class-map inspection_default
 match default-inspection-traffic
!
!
policy-map type inspect dns preset_dns_map
 parameters
  message-length maximum client auto
  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 ip-options
  inspect http
!
service-policy global_policy global
prompt hostname context
no call-home reporting anonymous
Cryptochecksum:20a57f54dfbc19771c5823f62b003cbf
: end

So one thing that stands out on your 5505 side is that you do not have a transform set for phase 2 set.

Here is what you have for entry 20:

crypto map outside_map 20 match address 100
crypto map outside_map 20 set peer xx.xx.182.240
crypto map outside_map 20 set reverse-route

You need to add:

crypto map outside_map 20 set transform-set myset

If you do not actually need reverse route injection, don't set this, at least not at this point.


Remember, Hashing, Authentication, Encryption and Group MUST MATCH on both sides, so ensure that your transform set is the same on both and also ensure you have the same ISAKMP/IKEv1 Policy .

For the other side with newer code, you will need something like this (I prefer to use object-groups because it's just neater and easier to scale). At the moment you are missing the relevant NAT exemption. Actually pasting the entire config from both does make it a little difficult to pick up on anything else that may be missing so there may be some more things still to tweak, but take a look at this first:

object-group network LOCAL-NETWORK
 network-object <your local network> <your local mask>

object-group network REMOTE-NETWORK
 network-object <your remote network> <your remote mask>

access-list VPN permit ip object-group LOCAL-NETWORK object-group REMOTE-NETWORK

!here is the no-nat equivalent (Identity NAT) on newer ASA code:
nat (any,outside) source static LOCAL-NETWORK LOCAL-NETWORK destination static REMOTE-NETWORK REMOTE-NETWORK

!Phase 1 policies if needed
crypto ikev1 policy 1
 authentication pre-share
 encryption 3des
 hash sha
 group 2
 lifetime 86400

crypto ipsec transform-set ESP-3DES-SHA esp-3des esp-sha-hmac
crypto map OUTSIDE_MAP 20 match address VPN
crypto map OUTSIDE_MAP 20 set peer ##.##.##.##
crypto map OUTSIDE_MAP 20 set transform-set ESP-3DES-SHA

crypto map OUTSIDE_MAP interface outside
crypto isakmp identity address
crypto ikev1 enable outside

tunnel-group ##.##.##.## type ipsec-l2l
tunnel-group ##.##.##.## ipsec-attributes
ikev1 pre-shared-key XXXXXX

See how you get on with this..

EDIT: Looking at your specific config, the two key things I see missing are:

5505: needs transform set as mentioned (remove reverse-route unless you need it)

crypto map outside_map 20 set transform-set myset

5510: Needs Identity NAT set:

nat (any,outside) source static 10.1.0.0 255.255.255.0 10.1.0.0 255.255.255.0 destination static 192.168.1.0 255.255.255.0 192.168.1.0 255.255.255.0

Use my code snippet as a guideline for newer config, but looks like that's the main bits missing in your specific case.

try this site. might help you with converting old nats to new:

http://www.tunnelsup.com/nat-converter

Dinesh Moudgil
Cisco Employee
Cisco Employee

Hello Amos,

Run the following command on your ASA and it will list all the steps for configuration.

ciscoasa(config)# vpnsetup site-to-site steps

The output will look like:

Steps to configure a site-to-site IKE/IPSec connection with examples:

1. Configure Interfaces

interface GigabitEthernet0/0
ip address 10.10.4.200 255.255.255.0
nameif outside
no shutdown

interface GigabitEthernet0/1
ip address 192.168.0.20 255.255.255.0
nameif inside
no shutdown

2. Configure ISAKMP policy

crypto isakmp policy 10
authentication pre-share
encryption aes
hash sha

3. Configure transform-set

crypto ipsec transform-set myset esp-aes esp-sha-hmac

4. Configure ACL

access-list L2LAccessList extended permit ip 192.168.0.0 255.255.255.0 192.168.50.0 255.255.255.0

5. Configure Tunnel group

tunnel-group 10.20.20.1 type ipsec-l2l
tunnel-group 10.20.20.1 ipsec-attributes
pre-shared-key P@rtn3rNetw0rk

6. Configure crypto map and attach to interface

crypto map mymap 10 match address L2LAccessList
crypto map mymap 10 set peer 10.10.4.108
crypto map mymap 10 set transform-set myset
crypto map mymap 10 set reverse-route
crypto map mymap interface outside

7. Enable isakmp on interface

crypto isakmp enable outside

You will have to configure nat and access-list seperately.

Regards,
Dinesh Moudgil

P.S. Please rate helpful posts.

Cisco Network Security Channel - https://www.youtube.com/c/CiscoNetSec/

I need to configure asa on ios 8.1 site to site vpn