CISCO ASA point-to-point VPN config problem

Posted on 2014-02-16
Last Modified: 2014-05-14
I'm having a challenge with getting traffic across the point to point IPSEC VPN. The tunnel is up but no data passes across. Instead I have the following error:

Asymmetric NAT rules matched for forward and reverse flows; Connection for udp src outside:****** dst inside:****** denied due to NAT reverse path failure

Im running ASA 8.2.5  and I've read about the NONAT stuff but I am not sure what to do on my config nor where I am missing something.

Pasting my show run sanitized in next posting. Any help is appreciated.
Question by:garyoh
  • 7
  • 3
  • 2

Author Comment

ID: 39863893
here is my show run:

ASA Version 8.2(5)
hostname Ohcnap
domain-name fdas.local
enable password YGsCUVAtSUpSVkq3 encrypted
passwd YGsCUVAtSUpSVkq3 encrypted
name RIPBKUPinside
name RIPSERVERinside
name 5x.x.x.x RIPBKUPoutside
name 5x.x.x.x RIPSERVERoutside
name 5x.x.x.x HITNG description HITGM
name Site-RIP-Network
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
interface Vlan1
 nameif inside
 security-level 100
 ip address
interface Vlan2
 nameif outside
 security-level 0
 ip address 5x.x.x.x
ftp mode passive
clock timezone CST -6
clock summer-time CDT recurring
dns server-group DefaultDNS
object-group service RDC tcp
 port-object eq 3389
access-list outside_access_in extended permit udp any any
access-list outside_access_in extended permit ip any any
access-list RIPVPNgroup_splitTunnelAcl standard permit
access-list inside_nat0_outbound extended permit ip
access-list inside_nat0_outbound extended permit ip
access-list inside_access_in extended permit tcp any eq telnet
access-list inside_access_in extended permit ip any any
access-list outside_1_cryptomap extended permit ip
pager lines 24
logging enable
logging asdm informational
mtu outside 1500
mtu inside 1500
ip local pool VPNRange mask
icmp unreachable rate-limit 1 burst-size 1
no asdm history enable
arp timeout 14400
global (outside) 1 interface
nat (inside) 1
static (outside,inside) RIPBKUPinside RIPBKUPoutside netmask
static (inside,outside) RIPBKUPoutside RIPBKUPinside netmask
static (inside,outside) RIPSERVERoutside RIPSERVERinside netmask
access-group outside_access_in in interface outside
route outside 5x.x.x.x 128
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
http server enable
http inside
no snmp-server location
no snmp-server contact
snmp-server enable traps snmp authentication linkup linkdown coldstart
sysopt noproxyarp inside
crypto ipsec transform-set ESP-3DES-SHA esp-3des esp-sha-hmac
crypto ipsec transform-set ESP-AES-256-MD5 esp-aes-256 esp-md5-hmac
crypto ipsec transform-set ESP-DES-MD5 esp-des esp-md5-hmac
crypto ipsec transform-set ESP-AES-192-MD5 esp-aes-192 esp-md5-hmac
crypto ipsec transform-set ESP-3DES-MD5 esp-3des esp-md5-hmac
crypto ipsec transform-set ESP-AES-256-SHA esp-aes-256 esp-sha-hmac
crypto ipsec transform-set ESP-AES-128-SHA esp-aes esp-sha-hmac
crypto ipsec transform-set ESP-AES-192-SHA esp-aes-192 esp-sha-hmac
crypto ipsec transform-set ESP-AES-128-MD5 esp-aes esp-md5-hmac
crypto ipsec transform-set ESP-DES-SHA esp-des esp-sha-hmac
crypto ipsec security-association lifetime seconds 28800
crypto ipsec security-association lifetime kilobytes 4608000
crypto dynamic-map SYSTEM_DEFAULT_CRYPTO_MAP 65535 set pfs group1
crypto dynamic-map SYSTEM_DEFAULT_CRYPTO_MAP 65535 set transform-set ESP-AES-128-SHA ESP-AES-128-MD5 ESP-AES-192-SHA ESP-AES-192-MD5 ESP-AES-256-SHA ESP-AES-256-MD5 ESP-3DES-SHA ESP-3DES-MD5 ESP-DES-SHA ESP-DES-MD5
crypto map outside_map 1 match address outside_1_cryptomap
crypto map outside_map 1 set pfs group1
crypto map outside_map 1 set peer 6x.x.x.x
crypto map outside_map 1 set transform-set ESP-DES-MD5
crypto map outside_map 1 set reverse-route
crypto map outside_map 65535 ipsec-isakmp dynamic SYSTEM_DEFAULT_CRYPTO_MAP
crypto map outside_map interface outside
crypto isakmp enable outside
crypto isakmp policy 10
 authentication pre-share
 encryption des
 hash md5
 group 2
 lifetime 28800
telnet inside
telnet timeout 30
ssh timeout 5
console timeout 0
management-access inside
dhcpd auto_config outside
dhcpd address inside
dhcpd dns RIPSERVERinside 2x.x.x.x interface inside
dhcpd wins RIPBKUPinside interface inside
dhcpd lease 86400 interface inside
dhcpd domain fdafdas interface inside

threat-detection basic-threat
threat-detection statistics access-list
threat-detection statistics tcp-intercept rate-interval 30 burst-rate 400 average-rate 200
group-policy RIPVPNgroup internal
group-policy RIPVPNgroup attributes
 wins-server value
 dns-server value
 vpn-tunnel-protocol IPSec
 split-tunnel-policy tunnelspecified
 split-tunnel-network-list value RIPVPNgroup_splitTunnelAcl
 default-domain value fdafda
username a password HhUN6jWUU07RHxBF encrypted privilege 0
username a attributes
 vpn-group-policy PRIVPNgroup
 service-type remote-access
username bb password ZobdW6FeX6vY8hBI encrypted privilege 0
username bb attributes
 vpn-group-policy PRIVPNgroup
username cc password 4ibXHR3rWo2ERSxN encrypted privilege 0
username cc attributes
 vpn-group-policy PRIVPNgroup
 service-type remote-access
tunnel-group RIPVPNgroup type remote-access
tunnel-group RIPVPNgroup general-attributes
 address-pool VPNRange
 default-group-policy RIPVPNgroup
tunnel-group RIPVPNgroup ipsec-attributes
 pre-shared-key *****
tunnel-group 6x.x.x.x type ipsec-l2l
tunnel-group 6x.x.x.x ipsec-attributes
 pre-shared-key *****
class-map inspection_default
 match default-inspection-traffic
policy-map type inspect dns preset_dns_map
  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
: end

Expert Comment

ID: 39864362
As per your configuration, i don't see NAT-exempt rule. Hence traffic coming from source/destination for the tunnel is being NATed to outside interface I presume.

global (outside) 1 interface

nat (inside) 1

access-list outside_1_cryptomap extended permit ip

crypto map outside_map 1 match address outside_1_cryptomap

Try adding the following:

nat (inside) 0 access-list inside_nat0_outbound

access-list inside_nat0_outbound extended permit ip

can you give it a try and let me know if this helps?

Author Comment

ID: 39864925
I put in the top command you suggested, the nat (inside) 0 access list....
but the message is still showing in the log.

I also noticed the second line "access-list inside...." is already in my show run above.

The message below is still there.:
Asymmetric NAT rules matched for forward and reverse flows; Connection for udp src outside:****** dst inside:****** denied due to NAT reverse path failure

FYI: I am on pre-8.3, in the event I did not say.
Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!


Expert Comment

ID: 39864940
the access list is there as per the running config you have pasted, but it is the

nat (inside) 0 access-list inside_nat0_outbound

which i don't see.

can you give an updated configuration with the following commands:

"show run nat"

Author Comment

ID: 39865182
Sure can. Here it is:

CISCOASA# show run nat
nat (inside) 0 access-list inside_nat0_outbound
nat (inside) 1

Also, I am asked about What IP adress you did authorized in the tunnel by the person on the other end of the tunnel. Since my access list is the whole subnet, the only way to specify a specific address would be to change the access list to be one specific number, like so:

access-list inside_nat0_outbound extended permit ip

Correct? For now, I just want to be able to communicate across the tunnel at all.
LVL 15

Expert Comment

by:Robert Sutton Jr
ID: 39865601
Its weird how 8.3 or prior seems so long ago and how many changes were added in 8.4 moving into the "Object oriented" command structure.

Did you remember that after adding a new NAT configuration you'll need to clear the NAT translation:
Clear xlate
Clear local

Have you viewed the following link since you are leaning towards "nonat"?

Let us know.

Author Comment

ID: 39865710
Thanks, Warlock. I did run clear xlate and clear local. Still getting errors.

Should all traffic from both sides cross the tunnel once the tunnel is up? Or must I specify the traffic allowed across?

I assumed I would allow all traffic just like a Remote Access VPN would do, no?

Thanks for your help.

Author Comment

ID: 39872393
Warlock, this article refers to 8.4 and I am not on that version. Any suggestions?
LVL 15

Expert Comment

by:Robert Sutton Jr
ID: 39872439
I was suggesting the "nonat" comment.

Author Comment

ID: 39872455
Sorry, I don't understand what you are pointing me to. I'm lost.
LVL 15

Accepted Solution

Robert Sutton Jr earned 500 total points
ID: 39872468
Sorry, a bit tired. After taking a second look at your config add the following:

access-group inside_access_in in interface inside


nat (inside) 0 access-list inside_nat0_outbound

Author Closing Comment

ID: 40064725
It might have worked but the project was closed out without completion.

Featured Post

Active Directory Webinar

We all know we need to protect and secure our privileges, but where to start? Join Experts Exchange and ManageEngine on Tuesday, April 11, 2017 10:00 AM PDT to learn how to track and secure privileged users in Active Directory.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Cisco ASA 5512 LAN Config 16 78
How to access and configure Cisco Air LAP1142N 3 32
What Cisco IOS has CBAC support? 4 21
Cisco Prime 2.2 7 36
This article will cover setting up redundant ISPs for outbound connectivity on an ASA 5510 (although the same should work on the 5520s and up as well).  It’s important to note that this covers outbound connectivity only.  The ASA does not have built…
From Cisco ASA version 8.3, the Network Address Translation (NAT) configuration has been completely redesigned and it may be helpful to have the syntax configuration for both at a glance. You may as well want to read official Cisco published AS…
Both in life and business – not all partnerships are created equal. As the demand for cloud services increases, so do the number of self-proclaimed cloud partners. Asking the right questions up front in the partnership, will enable both parties …
As a trusted technology advisor to your customers you are likely getting the daily question of, ‘should I put this in the cloud?’ As customer demands for cloud services increases, companies will see a shift from traditional buying patterns to new…

830 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question